极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 22274|回复: 11

在Raspberry Pi上開發Arduino

[复制链接]
发表于 2012-8-11 14:19:18 | 显示全部楼层 |阅读模式
原文地址: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
原文链接我无法访问。请问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
请问这个可以怎么解决呢~
回复 支持 反对

使用道具 举报

发表于 2012-10-31 20:45:12 | 显示全部楼层
不是图形化界面吧
回复 支持 反对

使用道具 举报

发表于 2012-11-13 07:06:16 | 显示全部楼层
蓝色布鲁斯 发表于 2012-10-22 00:17
我跟着上面照做了,但是make upload的时候出错,显示:
stty: hupcl: no such file or directory
stty: - ...

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

使用道具 举报

发表于 2012-11-13 07:07:20 | 显示全部楼层
蓝色布鲁斯 发表于 2012-10-22 00:17
我跟着上面照做了,但是make upload的时候出错,显示:
stty: hupcl: no such file or directory
stty: - ...

/dev/ttyACM0
这个不同设备可能不一样……不知道Pi是不是也不一定一样……
回复 支持 反对

使用道具 举报

发表于 2012-11-13 07:07:57 | 显示全部楼层
话说没有加上main函数么……
int main(){
setup();
for(;;){loop();}
}
回复 支持 反对

使用道具 举报

发表于 2012-12-8 14:10:40 | 显示全部楼层
mark了。本人可以ssh链接的。远程刷机,比如说火星上的问题号探测车,当然可以远程刷机了。
回复 支持 反对

使用道具 举报

发表于 2012-12-13 16:29:45 | 显示全部楼层
Raspberry Pi树莓派可以开发的东西可是很多呀!有创造力的人们可以充分的利用树莓派创造出开发出新的东西,支持
回复 支持 反对

使用道具 举报

发表于 2012-12-30 17:03:14 | 显示全部楼层
我这有块s5pv210开发板,应该也可以吧...
回复 支持 反对

使用道具 举报

发表于 2013-1-23 01:15:08 | 显示全部楼层
很有意思:D:D:D
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-28 22:42 , Processed in 0.048810 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表