-------------还是博客园上面的格式看这舒服,不去新浪了-------------

  为什么要在树莓派上开发arduino呢?总要把树莓派用起来嘛,不然老吃灰。

  树莓派使用SSH时没有图形界面,不能使用IDE,那怎么做开发呢?可以使用命令行。

  Arduino本身支持各种平台,IDE的界面也几乎是一模一样,使用起来相当方便,省去了跨平台时的摸索阶段。树莓派支持的就是linux,所以在上面开发Arduino是没有问题的,并且开发所需要的环境都已经打包整理好了。安装命令如下:

$ sudo apt-get install arduino arduino-mk

  arduino是开发环境,而arduino-mk是在命令行下make文件时所需要的环境。毕竟99%的人都是使用SSH的方式链接上树莓派的,没有图形界面,此时使用arduino-mk就大为方便了。

  安装完成后,找到/usr/share/arduino/Arduino.mk文件,该文件包含几乎所有需要的信息。(大致信息见文末)

配置方法如下:

  创建任意一目录:

$ mkdir blink_test
$ cd blink_test

  拷贝示例代码(闪灯)到当前目录:

$ cp /usr/share/doc/arduino-core/examples/.Basics/Blink/Blink.ino .

  创建Makefile文件:

$ vim Makefile

  添加如下代码,树莓派上一般是/dev/ttyACM0端口:

ARDUINO_LIBS = Ethernet SPI
BOARD_TAG = uno
MONITOR_PORT = /dev/ttyACM0
include /usr/share/arduino/Arduino.mk

  保存,退出编辑

编译:

$ make

如果编译通过没有出错,就可以烧入程序:

$ make upload

执行结果如下:

看到Thank you就代表成功烧入程序了。

End.

另:可以使用make help查看完整帮助。

-------------------------------------------------

2016.12.05更新:

  树莓派上的arduino手动安装和使用第三方库的方法(IDE和make通用),也可以直接放在arduino的系统库路径下。

  第三方库一般的位置:(方便管理)

  mac下默认第三方库路径:~/Documents/Arduino/libraries

  windows下默认第三方库路径:My Documents\Arduino\libraries\

  linux下一般是在你的sketchbook目录下(不懂是什么意思)

  反正在树莓派上,在~目录下新建一个sketchbook目录,在该目录下在创建一个libraries目录,然后将第三方库解压到libraries目录下。

  注意:在libraries目录下,每个库应该在单独的文件夹里,并且要满足如下规则:比如你的库名字叫ArduinoParty,那么libraries目录下就要有ArduinoParty文件夹,并且该文件夹目录下必须有ArduinoParty.cpp和ArduinoParty.h文件,只能放在该目录下,不支持嵌套。(如果有example文件夹,则下面的例子IDE也能识别)。

  在Makefile中设置USER_LIB_PATH变量,指定第三方库路径:

USER_LIB_PATH = /home/pi/sketchbook/libraries(必须是绝对路径,而且是完整的,不能用~等)

  设置ARDUINO_LIBS变量,指定需要加载的库文件: 

ARDUINO_LIBS = Ethernet SPI yourlib

  注意,不能通过USER_LIB_PATH = /home/pi/sketchbook/libraries/yourlib的方式来指定加载的第三方库,必须拆分成这两步。

附1.部份目录说明:

/usr/share/arduino/hardware/arduino/cores/arduino/:含arduino核心代码
/usr/share/doc/arduino-core/examples/:含示例代码
/usr/share/doc/arduino-core/reference/:含API帮助文档
/usr/share/arduino/libraries/:含arduino自带的库
/usr/bin/:包含相关的可执行程序,avr-g++, avr-gcc ,arduino, avrdude,等
/etc/avrdude.conf:avrdude的配置文件

附2.Arduino.mk简要翻译:

################################################################################################
# 环境变量设置:
# 有三种类型的文件路径需要设置:
# .ARDMK_DIR 指定*.mk文件存放的路径
# .ARDUINO_DIR指定arduino的安装路径,如boards.txt, libraries, &c等
# .AVR_TOOLS_DIR指定arduino包依赖的其它工具链,不过一般是由系统指定,比如在Linux上
#
# 这三个变量设置好了,剩下的就交给脚本去处理了.一般路径如下:
# MacOS上:
# ARDUINO_DIR = /Applications/Arduino.app/Contents/Resources/Java
# ARDMK_DIR = /usr/local
#
# Linux上:
# ARDUINO_DIR = /usr/share/arduino
# ARDMK_DIR = /usr/share/arduino
# AVR_TOOLS_DIR = /usr
#
# Windows上麻烦一点:
# 使用控制面板设置这些变量.依次点击Control Panel > System > Advanced system settings,
# 设置环境变量的时候,如果有空格或者特殊符号必须使用”\”进行转义.ARDUINO_DIR和AVR_TOOLS_DIR
# 必须是相对路径,不能是绝对路径.如下所示,
# ARDUINO_DIR =../../../../../Arduino
# AVR_TOOLS_DIR =../../../../../Arduino/hardware/tools/avr
# ARDMK_DIR = /cygdrive/c/Users/"YourUser"/Arduino-Makefile
# 这只是示例,具体的路径要依据自己的系统设置.
# 并且,在windows上强烈建议使用符号连接目录,避免和windows的# 目录混淆起来.比如
# c:\Program Files (x86)\Arduino,在console里使用# mklink命令就行了.(没有windows的环境,没有尝试过.)
#
# 一般有两种方式,一是在系统上设置,一是在Makefile中设置.如果没有设置这些变量,系统将自己猜测
# 相关的配置,这有可能会正常工作,也有可能不会正常工作.
# 如果不想看到输出配置信息,定义ARDUINO_QUIET就好.
################################################################################################
# arduino标准工作流程
# 创建一个sketch目录,在改目录下创建一个Makefile文件,里面只需要定义一些变量和包含一个路径
# 例如:
# ARDUINO_LIBS = Ethernet SPI
# BOARD_TAG = uno
# MONITOR_PORT = /dev/cu.usb*
#
# include /usr/share/arduino/Arduino.mk
#
# 相关名词解释
# ARDUINO_LIBS:当前工程(目录sketch)使用的库文件列表,默认在
# $(ARDUINO_DIR)/hardware/libraries目录下或者你当前的sketch目录下
# MONITOR_PORT:arduino可以使用的端口(上传时需要)
# BOARD_TAG:arduino板子的类型,比如uno或mega,使用
# 'make show_boards'查看列表
#
# 如果还有第三方的附加库,还需要设置USER_LIB_PATH变量:
# USER_LIB_PATH := $(realpath ../../libraries)
# 如果要把Arduino-Makefile作为自模块在git中使用,Makefile中还需# 要添加如下几行代码:
# ARDMK_DIR := $(realpath ../../tools/Arduino-Makefile)
# include $(ARDMK_DIR)/Arduino.mk
#
# 一旦这些都设置完成,剩下的只需要执行:
# $ make upload
# 就ok啦.
#
# 所有目标文件都是在build- {BOARD_TAG}子目录中创建
# 所有源文件都应该在当前目录,可以包括:
# -最多一个.pde或.ino文件,满足arduino标准.
# -任何数量的.c,.cpp,.s和.h文件
# 包含的库在build- {BOARD_TAG} / libs子目录中构建.
# 除了进行make upload,还有几个其他命令可用.
# 使用`make help`查看完整列表
################################################################################################

树莓派上搭建arduino命令行开发环境的更多相关文章

  1. LibOpenCM3(一) Linux下命令行开发环境配置

    目录 LibOpenCM3(一) Linux下命令行开发环境配置 本文使用 Linux 环境, 硬件为 STM32F103 系列开发板 LibOpenCM3 介绍 LibOpenCM3 是GPL协议( ...

  2. 树莓派上搭建arduino开发环境

    -------------还是博客园上面的格式看这舒服,不去新浪了------------- 为什么要在树莓派上开发arduino呢?总要把树莓派用起来嘛,不然老吃灰. 树莓派使用SSH时没有图形界面 ...

  3. 转:WIN7上搭建Windows Phone 8 开发环境——VMware Workstation下Win8 “无法安装Hyper-V, 某个虚拟机监控程序正在运行”问题解决的办法

    转自:http://www.cnblogs.com/shaddock2013/p/3155024.html 最近在试着在Windows 7上搭建Windows Phone 8的开发调试环境,使用的是V ...

  4. WIN7上搭建Windows Phone 8 开发环境——VMware Workstation下Win8 “无法安装Hyper-V, 某个虚拟机监控程序正在运行”问题解决的办法

    最近在试着在Windows 7上搭建Windows Phone 8的开发调试环境,使用的是VMware Workstation + Win8 Pro的虚拟环境, 在漫长的WPexpress_full下 ...

  5. 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!

    今年微软Build 2016大会最让开发人员兴奋的消息之一,就是在Windows上可以原生运行Linux bash,对开发人员来说,这是一个喜闻乐见的消息. 1 安装 你必须安装开发者预览版本,才能使 ...

  6. 在Windows7上搭建Cocos2d-x 3.2alpha0开发环境

    在windows7上搭建COCOS2D-X开发环境并不难, 但是由于框架更新过快,很多用户都有困难.我希望你们认为这个教程有用. 建议:为了避免安全相关的问题,请以管理员权限执行所有的操作,当运行命令 ...

  7. 在Eclipse上搭建Cocos2d-x的Android开发环境

    很多其它相关内容请查看本人博客:http://www.bokeyi.com/ll/category/cocos2d-x/ 本文的搭建方法是最新最正确的方法,好多朋友反映搭建eclipse交叉编译环境非 ...

  8. 图文教程:在Mac上搭建Titanium的iOS开发环境

    http://mobile.51cto.com/web-317170_all.htm 跨平台开发工具Titanium的兴起之路:HTML 5是最大威胁 比较Titanium和PhoneGap两大iOS ...

  9. 用VirtualBox和vagrant在win7×64上搭建ruby on rails 开发环境

    下载准备 1.vagrant 官方  WINDOWS Universal (32 and 64-bit) http://www.vagrantup.com/downloads.html 2.Virtu ...

随机推荐

  1. 小白专场-FileTransfer-c语言实现

    目录 一.集合的简化表示 二.题意理解 三.程序框架搭建 3.1 Input_connection 3.2 Check_connection 3.3 Check_network 四.pta测试 五.按 ...

  2. Spring boot 梳理 - 显示Springboot默认自动生成的bean

    @Autowired public ApplicationContext context; @Bean public ViewResolver freeMarkerViewResolver(){ St ...

  3. node学习笔记(一)本地文件目录查看器

    Node.js 新闻 nw.js 前端开发桌面应用 内容 node.js实战 照例提供百度云链接,本来以为是实战系列的那本,但不是,不过这本也不错 链接:https://pan.baidu.com/s ...

  4. eShopOnContainers学习系列(一):Swagger的使用

    最近在看eShopOnContainer项目,抽取一下其中的基础知识点,做个记录,有兴趣的可以看下. 新建一个.net core API项目,添加Nuget包 Swashbuckle.AspNetCo ...

  5. 向net core 3.0进击——Swagger的改变

    目录 前言 引入 测试 小结 前言 十一小长假在不知不觉间可都没了,在这个小尾巴的空隙,把这两天鼓捣的net core 3.0升级过程记录一下,首先还是根据之前的顺序一个个补充进来,先从Swagger ...

  6. JS多线程WebWorker

    JS多线程WebWorker 一,介绍与需求 1.1,介绍 Web Worker可以为JavaScript创建多线程,且Web Worker 是运行在后台的 JavaScript,独立于其他脚本,不会 ...

  7. 第一篇:php开发环境

    Window: 1.XAMPPhttps://www.apachefriends.org/index.html 2.WampServerhttp://www.wampserver.com/ Linux ...

  8. windows下python和pycharm安装及其使用

    1.python安装及环境变量配置 1.1 python安装 1.1.1 python下载 官网下载:https://www.python.org/ Downloads-Windows(Mac os ...

  9. [ASP.NET Core 3框架揭秘] 跨平台开发体验: Windows [上篇]

    微软在千禧年推出 .NET战略,并在两年后推出第一个版本的.NET Framework和IDE(Visual Studio.NET 2002,后来改名为Visual Studio),如果你是一个资深的 ...

  10. Spring Boot (十): Spring Boot Admin 监控 Spring Boot 应用

    Spring Boot (十): Spring Boot Admin 监控 Spring Boot 应用 1. 引言 在上一篇文章<Spring Boot (九): 微服务应用监控 Spring ...