首页 百科知识 在智能家居机器人系统中定位串口

在智能家居机器人系统中定位串口

时间:2022-10-04 百科知识 版权反馈
【摘要】:相关的书籍资料相对比较多,非常容易入门,在后面项目中,本书假设用户已有了一定的arduino编程基础。用户需要在启动arduino IDE前完成这些操作。可以使用下面的方法,在不查看arduino IDE菜单的情况下,识别出连接了arduino的串口。

在后面的项目中本书会大量地将嵌入式控制系统板和底层控制系统板联合起来驱动一些传感器和电机做系统开发(见图2.4.7)。具备AVR单片机的开发经验或者开源电子arduino系统板的使用经验,对后面的学习是很有帮助的。

其实物联网交互式机器人控制器是由嵌入式控制系统板和底层控制系统板组合而来,互补使用,嵌入式可以作为底层控制板的上位机。把这两个系统组合起来使用可以完成非常复杂的控制,具有很广的应用前景。

图2.4.7 系统控制板的上下设计结构

底层控制系统采用的单片机为atmega328芯片,在atmega328芯片中烧录了arduino的固件,这样的话,在操作的时候就相当于把底层控制器的架构看成了arduino架构。因为arduino是一个开源硬件,全世界的微处理器爱好者都共用这个平台,那么在这个arduino架构下有大量的程序精英贡献了他们的代码和开发项目,这使得用户可以直接使用他们的代码,大大减小了开发难度,也使得物联网交互式机器人的开发可以被大家所熟知。

注意:本书在后面的项目中会习惯地把底层控制器说成arduino控制器。在这里进行一下说明,如果想对arduino有更深入的了解,可以参考arduino的相关书籍。相关的书籍资料相对比较多,非常容易入门,在后面项目中,本书假设用户已有了一定的arduino编程基础。

当开发arduino程序时,用户需要通过USB 接口把它与电脑相连,然后在arduino IDE中编译程序并烧录到arduino 上。用户可以在任何一台电脑上完成这个操作,同样也可以在嵌入式控制板上完成,嵌入式控制板也是一个“迷你”型的计算机。用嵌入式控制板进行arduino 开发便于调试错误,但与笔记本或台式电脑相比,其编译程序的速度可能会慢一些。这不是一个严重的问题,由于arduino只会编译那些被改动过的代码,因此完成一次编译以后,后面再次编译时速度会快很多。

在嵌入式控制板上安装arduino IDE的命令:

Sudo apt-get update①

Sudo apt-get install arduino②

① 把软件仓库更新到最新版本。

② 下载安装arduino软件包。

这个命令会安装 Java 和其他很多依赖包,安装完成后arduino IDE的图标会出现在程序菜单的 Electronics 子菜单中(现在请暂时不要运行它)。如果使用无显示器运行嵌入式控制板的模式,则可以直接把arduino连接到嵌入式控制板的某个USB接口上。如果嵌入式控制器上已经没有空闲的USB接口,则可以把arduino 连接到键盘上的USB 扩展口(如果有的话),或者使用一个USB Hub来连接这些设备。

当用户运行arduino IDE 时,它会轮询所有的USB设备并在“Tools ->Serial Port”中列出一个设备列表。用户需要确保嵌入式控制板用户拥有足够的权限去操作串口设备,可以通过把Pi用户添加到tty和dialout用户组来满足这一要求。用户需要在启动arduino IDE前完成这些操作。

sudo usermod① -a -G② tty pi

sudo usermod -a -G dialout pi

①“usermod”是 Linux 中用于管理用户的命令。

②“-a -G”参数用于把指定用户(Pi)加入指定的用户组(tty和dialout)。

现在,用户可以运行arduino了。单击“Tools ->Serial Port”列表,然后选择需要的串口(通常是“/dev/tty ACM0”格式),然后单击“Tools->Board”选择arduino板的型号(如arduino Duemilanove w Atmega328)。单击“File->Examples->01.Basics->Blink”加载一个基本的示例Sketch,单击工具条上的“Upload”按钮或选择“File->Upload”,把Sketch下载到arduino上,当这个Sketch被加载运行后,arduino上的指示灯开始闪烁。

有时候,由于某些原因,“/dev/tty ACM0”并不是arduino所对应的串口设备名,这时就需要一些额外的方法来找到正确的串口设备。可以使用下面的方法,在不查看arduino IDE菜单的情况下,识别出连接了arduino的串口。先不要连接arduino,输入:

ls /dev/tty*

连接arduino,然后再次输入相同的命令,看输出的结果有什么变化。在嵌入式控制板上,起初只列出了“/dev/ny AM40”。当插入adruino后,“/dev/tty AMA0”设备就出现在列表中了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈