GPS和嵌入式开发-在哪里找到资源?
我刚刚开始设计一些嵌入式设备,并正在寻找资源。
我想要做的是将GPS接收器连接到基于x86的轻型SBC或者mini-ITX计算机,并跟踪远程控制车辆的位置/进度。
理想情况下,这可能会演变成制造一些爱好性的,半自动的车辆。
但是我首先需要开发一个用于GPS编程的开发板。
我们使用了哪些板卡/封装,在哪里可以找到[最好是开源的]开发?
解决方案
回答
" NMEA"是在寻找这些东西时要搜索的关键字。虽然很长一段时间以来我都没有做任何事情,但是这里是一些板子和其他硬件的好来源:
http://www.sparkfun.com/commerce/categories.php?c=4
回答
Holux GPS接收器(专为三星Q1设计)很幸运。一个非常简单的通过串行端口的连接,我们可以读取NMEA字符串。
回答
我们针对的是什么操作系统?如果是Linux,则有很多GPS库可用(这是一个不错的列表)。 GPSd和GpsDrive是我见过的两个比较流行的。
我还没有看到任何专门用于轻量级/嵌入式用途的GPS设备,但是许多消费类GPS设备都有可用的USB连接,可能会起作用(注意低端的连接,它们通常没有计算机接口)。
回答
OpenEmbedded是上手的好地方。许多嵌入式产品使用ARM和其他处理器,因此交叉编译非常重要。 Buildroot是用于为小型系统构建自定义Linux内核的另一资源。
我们还可以找到许多具有单板计算机(SBC)的制造商,这些制造商具有执行我们想做的事情的工具,然后用Google搜索" SBC Linux",并且我们应该拥有一个金矿。
LinuxDevices密切关注linux嵌入式社区,我们应该在那里找到一些不错的文章,这些文章可以找到有助于产品或者软件。
Debian具有嵌入式构建,但是我没有对此进行探讨。
如果我们想走这条路,可以找到几本有关嵌入式Linux的书籍。
GPS接收器只需连接到串行或者USB端口,即可显示NMEA数据流,我们可以使用GPSD解析该数据流,并且多个程序可以通过GPSD访问它。这是一种非常简单的基于文本的格式。
我曾经使用过常规的PC主板和Atmel AT91处理器用于嵌入式系统(具有GPS,蜂窝等)。现在有很多信息,而且进入并不昂贵。如果我要开始一个新项目,我将看一下Atmel的AVR32处理器,它们对爱好者非常友好,并为AVR32架构上的linux提供了很多社区支持。如果我们想走无操作系统路线并在处理器上运行单个程序,它们会提供免费的GCC编译器以及重要的框架和示例。
祝你好运!
-亚当
回答
我建议从一个普通的旧c项目开始,该项目从串行端口读取和解析NMEA。我们可以在Windows或者Linux中执行此操作。
我通常将这样的项目分解为一组较小的项目,例如:
- 从串行端口读取和解析NMEA
- 建立从远程设备到跟踪系统服务器的串行/网络链接
- 整合组件
然后可以对笔记本电脑的Linux原型进行精简,并移植到嵌入式Cinux系统中,以在以后降低电池使用量和便携性。 (虽然不如Atmel低)。
回答
如果我们对Linux编程感到满意,我建议我们使用小型计算机的Gumstix系列http://www.gumstix.com/
我们可以将vedex主板与GPSstix扩展板tp配对,以构成一个具有良好支持的编程环境的微型GPS接收器。
回答
这里有人建议使用诸如gumstix嵌入式设备之类的设备,不带GPS的价格为149美元。我不太明白。一个现成的TomTom随ARM一起运行Linux,内置GPS,大量的闪光灯,电池和屏幕。难以击败批量生产带来的价格优势。对于爱好项目,不需要包含其中的地图,但是谁在乎呢?
回答
我建议GPSBabel与GPS接收器进行通信。
GPS通天塔
- 处理航路点,航迹和路线,
- 知道很多格式(这解释了Babel的名字),
- 在Windows,Linux,OSX,
- 自由。