[Arduino|Ubuntu]在 Ubuntu 12.04 上安装 Arduino IDE (视频)

Arduino IDE in Ubuntu

随着 Ubuntu 12.04 LTS 的正式发行,越来越多人开始认识 Ubuntu(乌班图) 这个开源 Linux 系统。其实我从 10.10 版本(2010年10月发行)其就开始接触。发现转向 ubuntu 最大的障碍,还是在自己的工具链。你说玩C#的人,让他到 linux 上折腾,这不是作么~

这些现在慢慢都开始改变,比方说 Ruby,ror要真正发挥其效率,飞奔起来,那确实是要摆脱 windows 平台;比方说 Java,Java 就是典型的跨操作系统的语言,至少基于 Java 开放的软件(如 eclipse、Arduino IDE),基本都有其在 linux 上的版本;比方说传说中的vi,看 windows 里面那个 gVim,总是怪怪的,还是 vim 跟纯正些,……

当想做的事情都有通过 Ubuntu 实现的途径以后,哪怕操作系统不同,工作也能开展,这样才会真正开始了解、熟悉这个新的系统。而 Arduino 的开发也能转到 ubuntu 上的话,那就更好不过了,是个很不错的突破口哦~

视频里面还是会有不少口误、表达混乱、词不达意的地方,请以文字为准:

1. Ubuntu 系统的准备

视频中的 ubuntu 是用从官网下载的64bit版本ISO,通过easyBCD编译引导后硬盘安装完成。可以参考奶牛的这篇文章。需要注意的就是,重新引导到 linux 分区(/boot或/)的时候,应该选择 grub2 模式。

安装完成以后,我就只作了几件事:

  1. 设置软件更新源,更新系统;
  2. 更新语言包,让对中文的支持更好
  3. 激活了 nvidia 显卡的专用驱动
  4. 将 Dash(左侧的工具栏)设置为自动隐藏,解锁了默认的 Office 系列图标(看自己喜好)

这些都可以在图形界面上完成,都搞定以后,样子应该就和视频中的差不多了。再没有安装额外的程序。最近连着在三台机子上做这些事情,已经蛮熟练了~(想当年,折腾wn98、xp不也是都是这么开始的么)。之前体验 ubuntu 都还是基于wubi,从 12.04 开始正式转为纯硬盘,速度真的又更快哦~

2. 安装 Arduino IDE (ADE)

很简单,打开终端(Termial),一般按快捷键 “Ctrl+Alt+T”。命令就一行

$ sudo apt-get install arduino

之前很多教程,会讲需要前置安装 gcc-avr、avr-libc 之类的软件,其实并无必要。apt-get 已经把所有需要的东西都包含进来,并提示一并安装。所以,一句命令,再输入个”Y”就好。

这里从安装方式上,大家就可以看到 linux 和 windows 极大的不同。就安装包来说,windows版本的ADE,是一个大文件包,不管原来有没有、装没装,先塞进去再说。而在ubuntu上,只是按需安装,只下载机子上缺少的组件,而这些组件将来也可能被别的程序所调用,安装别的程序,其实只需要安装缺少的部分就好了。而所有这些软件,都通过 apt-get 统一管理,也就说下载安装的,都是最新的稳定版本,相信会比 windows 安装包里面的新很多。

在需要下载的程序包里面,可以看到 gcc-avr、avrdude 这些熟悉的影子,包括 java 运行环境 (jre),也都会自动安装。而且今天(2012-05-19)安装的 ADE 就已经是 1.0 的版本,一切都拿最新的来用吧,不用担心版本会落后。

3. 找串口

windows下的驱动这一步,也难住过不少人吧。不过以我目前的经验,在 ubuntu 12.04 上,对 arduino uno 是“免驱”的,不需要任何额外的安装,自动识别。而且确实整个系统安装过程中,除了显卡驱动这边,需要额外 take care 一下(主要是因为没开源),主板、声卡、无线网卡(TP-WN722N )这些,都不需要特别照顾。这也比较容易理解,因为 linux 大量用在嵌入式开发领域么,自然天天和这些底层硬件打交道,相互都很熟悉吧~

串口可以在 /dev 文件夹内找到。可以用

$ ls /dev

来查看比较,根据芯片不同,可能叫“ttyACM0”,也可能叫“ttyUSB0”(因为USB转串口所用的芯片不同),仔细比较一下,插入前后的不同,基本是这样的名字。

能这样出现提示,基本说明“驱动程序”也不用担心了。

进入 ADE,看看能不能正确显示串口设备,以我的经验,第一次确实是不能。需要卸载掉 brltty 先。至于为什么,请参考 ladyada 的这篇文章

$ sudo apt-get remove brltty

卸载完毕后,重启。

$ sudo reboot

然后,再打开 ADE,相信串口设备这一项就会亮起来了。

我用自己的本子实验的时候,有出现 USB3.0 不识别,但是2.0接口识别的情况。而录制视频的时候,又出现重启后识别,但重新安装 brltty 后依然识别的的情况,确实诡异,以目前的功力,还不敢去深究…… remove brltty 之后,USB3.0接口接的arduino,虽然可以识别出来,但是下载也不成功。所以,搞不清楚状况的话,还是建议避开 USB3.0。

2012年5月23日更新:虽然之前一直有卸载掉 brltty,但是现在我又陆续把它装回去了,发现没有什么特别的影响,都还好识别。

4. 烧程序

一样,烧写经典的 “hello, world” ,也就是 File\Examples\Basics\Blink 例程。在板型、串口号选择正确的情况下,应该是没什么问题。

在视频中出现,烧写程序完毕后,arduino不复位,程序不运行的情况,相信是因为使用了“公版” avrdude。因为 arduino 的 windows 程序包中的 avrdude 是有被 hacked 过,让程序下载完成后自动复位。没这个功能也不要紧,手动 reset 一下,程序就开始运行了。

2012年5月23日更新:可能我视频中的电脑比较特别一点,我后来在本子以及另外一台台式机,进行同样的下载测试,发现板子都会自动复位。所以各位朋友如果尝试的话,还是注意观察,灵活掌握为宜。

这样应该就差不多了,视频会比较长,因为上面提到的一些注意点,也是在录制过程中我才发现,中断了几次。感谢耐心看完视频的朋友,陪伴我一起找问题,想原因,并解决它。

至于在 ubuntu 进行 arduino 开发的好处,首先第一个就是快,比较编译下载的速度,快 windows 不是一点半点。而且,至少从表面来看,也有不少高手范儿吧~ 看过在 Mac Air 上运行的ADE,编译运行的速度也是很快的,一开始还想着是不是苹果硬件配置多高端,现在证明,是 windows 太渣,搞开发是比较弱,如果从血缘关系来说,ubuntu 和 max os 之间肯定也更亲一些。

希望本文以及视频,能给不了解 ubuntu 的朋友带来一点感性认识。Enjoy Ubuntu & Arduino.

视频记录(可以点击右下角 youku 图标,进入优酷页面,全屏观看,720p的哦~ 选择超清画质下可以清楚看到输入的命令内容)

感谢:@校长Ubuntu@奶牛博客@圣源电子提供的 Arduino UNO 套件

在此基础上,进一步的搭建搭建 Arduino 开发环境,使用 eclipse 作为 IDE,可以参考《[Arduino|Ubuntu] Arduino development in eclipse on ubuntu

关于aGuegu

阿古 真名:官微宏,技术Geek,玩Arduino,玩Linux,爱Google,爱开源;现居福州
此条目发表在Ubuntu | Linux, 内功心法分类目录,贴了, , , 标签。将固定链接加入收藏夹。