7271| 8
|
搭载LattePanda的六轮小车 |
此处应当有开箱图,然而当初拍照的手机掉坑里进了水目前还没抢救过来,有空再抢救下试试。本来距离最后期限很久了,要是拖延到下个月,那就真的太不应当了。不过还有论文要改,先大致的说一下试用的体会,细节过几天补充。 体会1:LattenPanda功耗太大,不适用于移动机器人。 体会2:Win10的强制升级无法控制,使用不开心。 体会3:不接显示屏幕,也没有键盘鼠标的话,貌似无法进入系统,这在移动机器人应用上是个硬伤。 体会4:(应当不能算LattenPanda的问题)Firmata应当很成熟了,居然没有一个好用的C\C++库!不可思议。 接下来,我将从LatenPanda的架构、使用中遇到的问题与解决方案、最终的效果方面展开介绍。 |
第一章 初试LattenPanda 期待已久的LattenPanda抵达之后,可以看到这块开发板的每个部件都用黑色的盒子统一包装起来。一整套开发板包括一块LattenPanda的主板,一块液晶显示屏、一块触摸屏,并且还附带一条USB线,一块2A电流的USB电源模块,一条WiFi天线以及纯铜的散热器。可以看到,LattenPanda开发板的部件,相比较于传统的开发板,丰富了很多。 随着嵌入式技术的进步,越来越多的开发板出现在大家的视野。比较典型的开发板有Arduino系列、树莓派系列等。其中前者使用廉价的AVR单片机或ARM芯片,可以非常方便的控制IO输入输出,但是它本身的运算、通信资源有限,如比较低的芯片主频,以及只提供串口、IIC、SPI等通信手段,而且一般不会使用操作系统,运行多任务主要依靠定时器等中断手段。这导致当需要完成简单的任务时,Arduino可以提供很高的开发效率,但面对复杂任务时会感到吃力。以树莓派为代表的开发板,主要使用高性能的arm芯片,搭载了诸如USB、网口以及WiFi等通信手段,可以视作为体积小巧的卡片电脑核心。树莓派在提供Rasbian等操作系统的同时,也提供了对板载的GPIO的通信能力,但使用起来不便。当使用树莓派作为便携型电脑,搭载USB摄像头做图像处理、使用麦克风做音频识别、或者处理互联网信息非常方便,但是涉及到对IO的控制,由于芯片自身与主板设计的原因,一般不建议直接使用树莓派的GPIO驱动外部电路,这样就会降低相关项目的开发效率。树莓派官方直到最近才发布了官方触摸屏,在这之前想要完全便携的使用树莓派有点麻烦。此外,树莓派使用的基本是基于Debian的Raspbian,在开发方面具备便利性,但linux系列的操作系统,其桌面环境总是有点火候不足,而新发布的Win10系统可以在ARM芯片上运行。 考虑到这两者的优缺点,LattenPanda团队设计了一款卡片电脑式样的开发板,它运行Win10操作系统,既可以方便的接入显示屏、触摸屏、又可以方便的使用IO处理外部电路,可以说是非常好的结合了Arduino和树莓派的优点,而在此之上又增加了不少便利性(Win平台的开发可以无缝转移到LattenPanda)。 |
从这张图可以看出,lattenPanda具备丰富的板载资源,其中基于英特尔的芯片,不仅保证了性能的要求,有没有运行Win10操作系统提供了方便。与传统的树莓派开发板相比,lattenPanda除了具备典型的USB,hdmi,SD卡等接口外,最大的特点便是同时提供了两组输入输出引脚,其中一小部分是Atom处理器自带的可编程IO,另一部分是与Arduino相兼容的IO。在前文中我们已经提到,这款开发板,整合了树莓派和Arduino的优势,为了实现这一目的,该开发板的团队采取了一个简单粗暴但十分有效的方法,那就是在主板上整合一块Arduino Lernardo,如果我们需要操纵这些IO的话,通过串口发送相关的指令就可以实现。如果只是简单的做到这一步的话,距离好用还有很大的距离。在这里,开发团队使用C#封装了一套Firmata协议,该协议允许用户使用透明的方式操纵串口上的Arduino设备,而不需要涉及串口通信的细节。为了达到这一点,串口上的,Arduino设备,需要预先烧录Firmata服务。所以,当我们使用这块开发板时,既可以使用透明的方式使用这些接口,也可以自行向板载的Arduino下载别的程序。简单的说这是一块自带Arduino的开发版。但略显遗憾的是,官方没有提供基于c语言的Firmata封装,在本项目的使用中略显麻烦。在后文中我们会提到,楼主自己编写了一套c语言的Firmata封装,并开源在github上,以便方便后来者使用。 |
LattenPanda板载资源
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed