ArduinoYun教程之Arduino编程环境搭建
ArduinoYun教程之Arduino编程环境搭建
Arduino编程环境搭建
通常,我们所说的Arduino一般是指我们可以实实在在看到的一块开发板,他可以是Arduino UNO、Arduino Yun、Arduino Mega等等。但是从严格意义上来说,Arduino这个名字不仅代表着开发板,而且涉及硬件、软件、开发团队、设计原理以及用户群体的互助精神。这是Arduino与其他开发板的不同之处。在本章,我们将主要介绍如何在Windows和Linux操作系统上搭建Arduino的编程环境。
Arduino IDE
IDE是Integrated Development Environment(集成开发环境)的首字母缩写。Arduino官方提供了Arduino IDE,它主要集成了编辑器、编译器以及下载器。与Arduino开发板一样,Arduino IDE是开发源代码的。由于其开放性,它可以安装在Windows、MAC OS X和Linux三大主流系统中。
在Windows操作系统中安装Arduino IDE
与在Linux中安装Arduino IDE类似,在Windows中安装Arduino IDE有两种方式。一种是常见的Windows安装向导形式,另一种为绿色的压缩包形式(Arduino官方说法是非系统管理员安装方式)。Windows版本的Arduino IDE可以从http://arduino.cc/en/Main/Software#toc3下载。
1.Windows安装向导形式
安装向导方式的Arduino与常见的Windows类软件安装方法类似,它通过向你询问一系列的问题来完成安装。Arduino IDE的安装版本文件名称是arduino-1.5.7-windows.exe。
(1)双击运行它,首先会出现如图2.1所示的协议信息对话框,如图2.1所示。
(2)在阅读了协议后,单击I Agree按钮继续,这一步是选择安装选项,需要选择安装的组件,如图2.2所示。
图2.1 协议信息 图2.2 安装选项
- Install Arduino software选项是必须选的,它是Arduino IDE的主体;
- Install USB driver选项是安装Arduino开发板的驱动,绝大多数情况需要勾选;
- Create StarMenu shortcut选项是在开始菜单建立一个快捷方式,这个根据自己的喜好进行选择;
- Create Desktop shortcut选项是在桌面创建快捷方式,为了方便找到Arduino IDE,这个选项通常会勾选;
Associate .ino file选项用来把后缀名为.ino的文件和Arduino IDE关联,关联之后双击.ino文件就会在Arduino IDE中打开,为了方便起见,这个选项通常也要勾选
(3)单击Next按钮,会询问你Arduino IDE的安装位置,如图2.3所示。
在2T硬盘普及的今天,就不要再将10年前“软件不装C盘”的思想传承下去了,所以推荐读者使用默认的安装目录。
(4)单击Install按钮,开始安装,蓝色进度条用来表示安装进度,如图2.4所示。
图2.3 选择安装路径 图2.4 开始安装
(5)在安装到大约99%的时候,会弹出安装驱动的提示,如图2.5所示。
(6)单击“安装”按钮来完成Arduino USB驱动的安装。此时,Arduino IDE也接着安装完成,出现Completed提示,如图2.6所示。
图2.5 安装Arduino USB驱动 图2.6 安装完成
(7)单击Close按钮,退出安装程序。此时,Arduino IDE已经安装到你的Window系统中,桌面出现Arduino IDE快捷方式,如图2.7所示。
图2.7 Arduino IDE快捷方式
2.压缩包形式
压缩包形式的安装甚至比Windows向导方式的安装都快捷。压缩包形式的文件名为arduino-1.5.7-windows.zip,你只需要将它解压缩到期望的目录即可。要启动Arduino IDE,只需要双击执行目录下的arduino.exe文件即可。如果以后想要快捷地启动Arduino IDE,那么可以在桌面建立arduino.exe的快捷方式。右击arduino.exe文件,选择“发送到”|“桌面快捷方式”命令即可。
在Linux操作系统中安装Arduino IDE
由于笔者使用的PC安装的是openSUSE Linux发行版,所以这里以openSUSE Linux为基础来介绍Arduino IDE在Linux操作系统的安装。对于早期的Arduino开发板来说,在openSUSE上安装对应的Arduino IDE非常容易,只需要直接在software.opensuse.org中搜索arduino就可以找到Arduino IDE,然后1 Click Install(一键安装)即可,如图2.8所示。
图2.8 1 Click Install Arduino IDE
但是,由于Arduino Yun是比较新的板子,稳定版的Arduino 1.0.5还没有增加对其的支持(从1.5.4版本开始支持)。因此,此时我们只能手动来安装最新的Arduino 1.5.7 BETA版本。
1.安装Arduino IDE的依赖
Linux的依赖问题会让许多用户头疼,好在Arduino IDE现在只依赖JDK一个包。而这个在openSUSE系统安装时候就自动安装了。如果在你的系统中没有安装,那么可以通过软件管理器搜索安装openJDK或者执行以下的命令安装:
- sudo zypper in java-1_7_0-openjdk
2.安装Arduino IDE
在Arduino IDE 1.0.1版本之后,将编译工具集成在了压缩包中。因此,只需要下载对应系统版本的IDE即可,下载链接为:arduino.cc/en/Main/Software。下载的压缩包名为arduino-1.5.7-linux64.tar。其中,1.5.7表示IDE的版本号,linux表示操作系统,64表示操作系统版本。查看操作系统版本可以使用如下命令:
- uname -m
如果输出为x86_64则对应下载64位版本,否则下载32位版本。
然后就将下载的压缩包解压到你期望的位置即可。tar包可以使用如下命令解压:
- tar -xf arduino-1.5.7-linux64.tar
上面的命令会将文件解压缩到当前目录,如果你想将它解压缩到其他目录,那么可以使用如下的命令:
- tar -xf arduino-1.5.7-linux64.tar -C /other/path
其中,/other/path即为你期望的目录。
3.为用户设置权限
Linux严格的权限管理为系统安全提供了保障,每个用户所具有的权限是非常精确严谨的。因此,我们需要将当前用户加入一些特殊的组来获取需要的权限。默认情况下openSUSE的非root用户并没有访问串口设备的权限,因此需要将用户加入dialot组。此外,Arduino IDE还需要有对lock文件操作的权限,因此需要加入lock组。使用如下的命令可以方便地将用户加入指定的组:
- usermod -a -G group-name username
例如,可以使用如下的命令将用户tom加入dialot和lock组:
- sudo username -a -G dialot lock tom
4.运行Arduino IDE
在完成以上所有的操作后,支持Arduino Yun的Arduino IDE就安装完毕了。要运行Arduino IDE,只需要将终端导航到arduino解压缩的目录,然后执行执行其中的arduino文件即可,命令如下:
- ./arduino
此时,Arduino IDE的界面就会打开,同时,终端不再响应其他命令。如果你想要Arduino IDE不影响终端响应其他命令,那么可以使用如下命:
- ./arduino &
上面的命令会将Arduino IDE作为后台程序运行。
在其他Linux发行版中安装Arduino IDE
其他比较常用的Linux发行版如ArchLinux、Debian、Fedora、Gentoo、Slackware等对应的安装方式可以参考链接:playground.arduino.cc/Learning/Linux。对所有Linux发行版都通用的方法可以参考2.1.2中的介绍。
ArduinoYun与Fritzing
Fritzing是一个开源硬件项目。它为使用者提供了比普通电路设计软件更容易理解的电子器件作为生产的原材料,使得任何人都可以很容易地设计自己的电路。如果你经常混迹于各种Arduino社区,那么一定对如图2.9所示的电路图印象深刻,它就是使用Fritzing制作的。
图2.9 Fritzing制作的电路
由于Fritzing是一个开源、免费的软件,因此支持三大主流的操作系统。下面的讲解在Linux和Windows操作系统中安装Fritzing。Fritzing软件包的下载地址为:http://fritzing.org/download/。
2.2.1 在Windows操作系统中安装Fritzing
Fritzing只为Windows操作系统提供了压缩包形式。所以读者只需要下载对应的Windows版本(名为fritzing.0.9.0b.64.pc.zip),然后将它解压缩到期望的位置,执行其中的Fritzing.exe即可。如果你想更方便地运行Fritzing,可以将快捷方式发送到桌面。
ArduinoYun在Linux操作系统中安装Fritzing
这里同样以openSUSE Linux作为基础来讲解。其实,许多发行版的软件仓库中已经收录了Fritzing。在openSUSE中,可以通过在software.opensuse.org中搜索Fritzing来一键安装。当前最新版本的Fritzing是0.9.0b,而在openSUSE的软件仓库中官方发行版是0.8.3b,最新的版本则需要安装非官方打包的版本,如图2.10所示。
ArduinoYun 官方与非官方版本
这两个版本都可以满足我们的需求,所以,读者可以根据自己的喜好安装,笔者选择安装了官方发行的0.8.3b版本。当然,读者也可以下载压缩包来自己安装。
(1)根据自己的系统下载对应的版本。例如笔者使用64位的计算机,因此下载的压缩包为fritzing-0.9.0b.linux.AMD64.tar_1.bz2。
(2)使用下面的命令解压缩bz2包:
- tar -xjf fritzing-0.9.0b.linux.AMD64.tar_1.bz2
当然,也可以使用-C参数将它解压缩到期望的位置。
(3)同手动安装Arduino IDE类似的,你只需要进入fritzing的目录,执行其中的Fritzing文件即可。
连接Arduino IDE和Arduino Yun
前面的内容为我们准备好了日后Arduino Yun开发的软件部分。现在就是时候将Arduino IDE和Arduino Yun连接到一起了。
(1)打开Arduino IDE,并将Arduino Yun连接到你的电脑。我们知道,Arduino有如Arduino UNO、Mega等许多的开发板。这些开发板各有特色,而Arduino IDE只有一个,所以,此时需要告诉你想要Arduino IDE连接的是在哪个端口上的哪个板子。
(2)在Arduino IDE的“工具”菜单项中的“板”中选择Arduino Yun选项,如图2.11所示。
图2.12 在板类型中选择Arduino Yun
(3)我们就可以选择连接在电脑上的Arduino开发板了。选择方式是在Arduino IDE的“工具”菜单项中的“端口”中选择Arduino Yun命令,如图2.13所示。
图2.13 在端口中选择Arduino Yun
需要注意的是Arduino IDE会发现多个COM口,而且在不同的环境中发现的个数和编号还有所不同。但是,正确地选择Arduino Yun还是很容易的,被正确识别的Arduino Yun会出现在对应的COM名称后,图2.13表明Arduino Yun连接在计算机的COM5口上。
现在,离证明我们的软硬件都正常工作还有一步之遥。测试的方法就是完成Arduino界的Hello World。这个方法对于现在的我们来说是非常容易的,它只需要点几下鼠标就可以完成。
(1)加载Blink源代码,过程为单击“文件”|“示例”|Basics|Blink命令,如图2.14所示。
图2.14 加载Blink源文件
(2)新的源文件会在一个新窗口中打开,接下来要做的就是将源文件在电脑上编译后上传到Arduino Yun中。编译和上传的动作可以由Arduino IDE中的运行按钮完成,也可以通过快捷键Ctrl+U完成。在上传完成后,Arduino IDE的底部会显示执行的操作信息,如图2.15所示。
图2.15 Arduino IDE的操作过程
其中的信息大体如下:
- Build options changed, rebuilding all
- Sketch uses 4,754 bytes (16%) of program storage space. Maximum is 28,672 bytes.
- Global variables use 157 bytes (6%) of dynamic memory, leaving 2,403 bytes for local variables. Maximum is 2,560 bytes.
这些信息表明了编译器要重新编译程序,程序空间共有28,672 byte,使用了4,754 byte (16%);动态内存共有2560 byte,全局变量使用了157 byte(6%),还剩余2,403 byte。通常,这些信息是可以安全忽略的。而特殊情况就是程序编译出错的情况,如下为编译出错时候的信息:
- Blink.ino: In function 'void loop()':
- Blink.ino:25:26: error: expected primary-expression before ';' token
- Blink.ino:25:26: error: expected ':' before ';' token
- Blink.ino:25:26: error: expected primary-expression before ';' token
这里就提示了错误出现在源代码中的位置,其中的25表示行,26表示列(实际原因是我在代码的这个位置加入了一个“?”字符)。
这里接着介绍Blink程序正确上传到Arduino Yun后的效果。正常的情况是Arduino Yun板子上标号为L13的LED以1秒的间隔闪烁着。如果你的板子此时正是这个效果,那么恭喜你,你已经为接下来的学习做好了十足的准备。
本文选自:Arduino Yun快速入门教程大学霸内部资料,转载请注明出处,尊重技术尊重IT人!
ArduinoYun教程之Arduino编程环境搭建的更多相关文章
- ArduinoYun教程之Arduino环境与Linux环境的桥梁Bridge
ArduinoYun教程之Arduino环境与Linux环境的桥梁Bridge Arduino环境与Linux环境的桥梁——Bridge 在第一章中介绍Arduino Yun硬件的时候提到过,它上面有 ...
- ArduinoYun教程之OpenWrt-Yun与CLI配置Arduino Yun
ArduinoYun教程之OpenWrt-Yun与CLI配置Arduino Yun OpenWrt-Yun OpenWrt-Yun是基于OpenWrt的一个Linux发行版.有所耳闻的读者应该听说他是 ...
- ArduinoYun教程之ArduinoYun硬件介绍
ArduinoYun教程之ArduinoYun硬件介绍 ArduinoYun的电源插座 Arduino Yun有两排插座,这些插座可以按类型分为三类:电源.数字IO和模拟输入.电源部分主要集中在如图1 ...
- Unix NetWork Programming(unix环境编程)——环境搭建(解决unp.h等源码编译问题)
此配置实例亲测成功,共勉,有问题大家留言. 环境:VMware 10 + unbuntu 14.04 为了unix进行网络编程,编程第一个unix程序时遇到的问题,不能包含unp.h文件,这个感觉和a ...
- Qt在Windows下的三种编程环境搭建
尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/17363165 从QT官网可以得知其支持的平台.编译器 ...
- Qt在Mac OS X下的编程环境搭建
尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/46234079 在Mac OS X下使用Qt开发,需要 ...
- Qt4.8在Windows下的三种编程环境搭建
Qt4.8在Windows下的三种编程环境搭建 Qt的版本是按照不同的图形系统来划分的,目前分为四个版本:Win32版,适用于Windows平台:X11版,适合于使用了X系统的各种Linux和Unix ...
- unix网络编程环境搭建
unix网络编程环境搭建 网络编程 环境 1.点击下载源代码 可以通过下列官网中的源代码目录下载最新代码: http://www.unpbook.com/src.html 2.解压文件 tar -xz ...
- Qt在Mac OS X下的编程环境搭建(配置Qt库和编译器,有图,很清楚)
尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/46234079 在Mac OS X下使用Qt开发,需要 ...
随机推荐
- arcgis创建渔网
创建渔网 1. ArcToolbox > Data Management Tools > Feature Class > Create Finshnet.选择输出要素位置,模 ...
- 鸟哥的Linux私房菜——第十五章:正规表示法
视频链接 B站:http://www.bilibili.com/video/av10364761/ 目录如下 1. 前言:2. 基础正规表示法:2.1 以 grep 撷取字符串 (grep -iv ...
- 那些年的 网络通信之 TCP/IP 传输控制协议 ip 加 端口 客户端上传文件到服务器端服务器端返回上传成功消息
多线程开启, 客户端通过 Socket 流 上传文件到服务端的一个小程序练习. 1. 抓住阻塞式方法,去调试 2. 获取对应流对象操作对应的对象 这时候自己不能懵,一定要清晰,最好命名就能区别,一搞混 ...
- 《Two Dozen Short Lessons in Haskell》(二十四)代数类型
这是<Two Dozen Short Lessons in Haskell>这本书的最后一章,第23章没有习题. 这一章里介绍了Haskell如果自定义一种类型,并且用一个双人博弈游戏为例 ...
- 第6月第17天 CGAffineTransformMake(a,b,c,d,tx,ty) 矩阵运算的原理
1. 为了把二维图形的变化统一在一个坐标系里,引入了齐次坐标的概念,即把一个图形用一个三维矩阵表示,其中第三列总是(0,0,1),用来作为坐标系的标准.所以所有的变化都由前两列完成. 以上参数在矩阵中 ...
- C# 文件Copy
文件Copy有以下几种方法: 1.Copy string sourceFile = @"c:\temp\New Text Document.txt"; string destina ...
- 【ARTS】01_02_左耳听风-20181119~1125
Algorithm 做一个 leetcode 的算法题 Unique Email Addresses https://leetcode.com/problems/unique-email-addres ...
- 网易与Google合作发布开源UI自动化测试方案 牛逼:Google 方面评价,这可能是目前世界上最好的 Android 游戏自动化测试方案。
美西时间 3 月 19 日,在 GDC 开幕第一天的 Google 开发者专场,Google 发布了一款由网易研发的 UI 自动化测试方案:Airtest Project.Google 方面评价,这可 ...
- Flask页面模板化代码片段
文中展示了Flask官网的Tutorial示例中用到的模板化代码片段,以备查阅. base.html: {% block title %}{% endblock %} {% if g.user %} ...
- Angular快速学习笔记(4) -- Observable与RxJS
介绍RxJS前,先介绍Observable 可观察对象(Observable) 可观察对象支持在应用中的发布者和订阅者之间传递消息. 可观察对象可以发送多个任意类型的值 -- 字面量.消息.事件. 基 ...