弘毅 发表于 2012-8-11 14:19:18

在Raspberry Pi上開發Arduino

原文地址:http://yehnan.blogspot.com/2012/07/raspberry-piarduino.html

要將Raspberry Pi當做開發主機,在上面撰寫Arduino的程式,實在非常簡單,因為Raspberry Pi就是一台Linux機器,而Arduino軟體開發環境原本就支援Linux了。

我在Raspberry Pi在命令列模式下,讓Arduino的LED燈閃爍,步驟記錄如下。

我的環境是Raspbian wheezy,2012-07-15-wheezy-raspbian.img。
我的Arduino板子是Uno Rev 3。

Arduino的軟體開發環境都已經打包好了,直接以apt-get安裝即可。
$ sudo apt-get install arduino arduino-mk

其中arduino-mk是要在命令列模式下以make進行編譯與燒錄動作所需要的套件。

安裝後,執行檔(arduino、avr-g++、avr-gcc、avrdude、等等)位於/usr/bin裡,avrdude的設定檔位於/etc/avrdude.conf,範例程式碼與API參考文件分別位於/usr/share/doc/arduino-core的子目錄examples與reference裡,Arduino核心程式碼位於/usr/share/arduino/hardware/arduino/cores/arduino裡,內建程式庫位於/usr/share/arduino/libraries裡,重要的就這些,請自行瀏覽其他相關目錄。

然後,在家目錄下新增子目錄sketchbook,在裡面新增BlinkByPi專案目錄,我們將需要兩支檔案,BlinkByPi.cpp與Makefile,內容如下。

BlinkByPi.cpp的內容:

#include <Arduino.h>

void setup(){
pinMode(13, OUTPUT);
}

void loop(){
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(500);
}

Makefile的內容:

TARGET = BlinkByPi

ARDUINO_DIR = /usr/share/arduino
BOARD_TAG = uno
ARDUINO_PORT =/dev/ttyACM0

include /usr/share/arduino/Arduino.mk


以TARGET指定最後產生出來的檔案的主檔名,最好跟此專案名相同。
以ARDUINO_DIR指定Arduino軟體開發環境的路徑。若你從Arduino官方網站自行下載、自行解壓縮的話,請修改此路徑。
以BOARD_TAG指定你使用的板子。
以ARDUINO_PORT指定與板子連接的通訊埠,在Raspberry Pi上為/dev/ttyACM0。

然後匯入內涵基本設定與規則的Arduino.mk。

然後在此專案目錄裡以
$ make
即可編譯、連結,將會產生出build-cli子目錄,存放建置過程的中間檔,最後產生出來的.elf與.hex也會放在裡面。

然後以
$ make upload
即可燒錄。

哇,成功囉。

另外可用make clean清除,以make depends更新檔案相依性。

更詳細的用法可參考/usr/share/arduino/Arduino.mk裡的說明,以及底下的參考資料。


中奎 发表于 2012-8-11 15:54:06

原文链接我无法访问。请问Uno USB驱动需要安装吗?

弘毅 发表于 2012-8-11 18:08:45

中奎 发表于 2012-8-11 15:54 static/image/common/back.gif
原文链接我无法访问。请问Uno USB驱动需要安装吗?

linux下uno是免驱的。。。。原文需要翻墙=.=

蓝色布鲁斯 发表于 2012-10-22 00:17:48

我跟着上面照做了,但是make upload的时候出错,显示:
stty: hupcl: no such file or directory
stty: -hupcl: no suck file or directory
请问这个可以怎么解决呢~

benzking 发表于 2012-10-31 20:45:12

不是图形化界面吧

friskit 发表于 2012-11-13 07:06:16

蓝色布鲁斯 发表于 2012-10-22 00:17 static/image/common/back.gif
我跟着上面照做了,但是make upload的时候出错,显示:
stty: hupcl: no such file or directory
stty: - ...

目测上传端口配置错了……
你可以
ls /dev
看看哪个文件名像arduino设备……
(P.S. 只是个Linux用户飘过,没用过Ras Pi...)

friskit 发表于 2012-11-13 07:07:20

蓝色布鲁斯 发表于 2012-10-22 00:17 static/image/common/back.gif
我跟着上面照做了,但是make upload的时候出错,显示:
stty: hupcl: no such file or directory
stty: - ...

/dev/ttyACM0
这个不同设备可能不一样……不知道Pi是不是也不一定一样……

friskit 发表于 2012-11-13 07:07:57

话说没有加上main函数么……
int main(){
setup();
for(;;){loop();}
}

GeekNapster 发表于 2012-12-8 14:10:40

mark了。本人可以ssh链接的。远程刷机,比如说火星上的问题号探测车,当然可以远程刷机了。:D:D

ICkey树莓派官方 发表于 2012-12-13 16:29:45

Raspberry Pi树莓派可以开发的东西可是很多呀!有创造力的人们可以充分的利用树莓派创造出开发出新的东西,支持:)

Rootming 发表于 2012-12-30 17:03:14

我这有块s5pv210开发板,应该也可以吧...

quanpower 发表于 2013-1-23 01:15:08

很有意思:D:D:D
页: [1]
查看完整版本: 在Raspberry Pi上開發Arduino