题
我刚刚开始设计一些嵌入式设备,并正在寻找资源。
我想要做的是将 GPS 接收器连接到轻型 SBC 或 mini-ITX、基于 x86 的计算机,并跟踪远程控制车辆的位置/进度。
理想情况下,这可能会演变成建造一些业余爱好的半自动车辆。
但我需要先入手的是一块用于GPS编程的开发板。
您使用过哪些板/包,我在哪里可以找到它们的[最好是开源]开发?
解决方案
开放嵌入式 是一个开始的好地方。很多嵌入式产品都使用ARM等处理器,因此交叉编译是一件大事。 构建根 是为小型系统构建自定义 Linux 内核的另一个资源。
您还可以找到许多拥有单板计算机 (SBC) 的制造商,它们拥有满足您需求的工具 - 在 google 中搜索“SBC Linux”,您应该会找到一个金矿。
Linux设备 密切关注 Linux 嵌入式社区,您应该在那里找到几篇好文章,引导您找到可以帮助您的产品或软件。
Debian 有一个嵌入式构建,但我还没有探索过。
有几本书是关于 嵌入式Linux 如果您想走那条路,可以使用。
GPS 接收器只需连接到串行或 USB 端口,并提供 NMEA 数据流,您可以使用 GPSD 解析该数据流,并且多个程序可以通过 GPSD 访问它。这是一种非常简单的基于文本的格式。
我使用过常规 PC 主板和用于嵌入式系统(带 GPS、蜂窝网络等)的 Atmel AT91 处理器。现在有很多信息,而且获取起来并不昂贵。如果我要开始一个新项目,我会考虑 Atmel 的 AVR32 处理器 - 它们非常适合爱好者,并且为 AVR32 架构上的 Linux 提供了大量社区支持。如果您想走无操作系统路线并在处理器上运行单个程序,他们提供免费的 GCC 编译器和重要的框架和示例。
祝你好运!
-亚当
其他提示
“NMEA”是查找此内容时要搜索的关键字。虽然我已经很长一段时间没有对此做过任何事情了,但这里是一些板和其他硬件的良好来源:
我们很幸运地使用了 Holux GPS 接收器(专为三星 q1 设计)。通过串行端口进行极其简单的连接,您就可以读取 NMEA 字符串。
我建议从一个普通的旧 c 项目开始,该项目从串行端口读取和解析 NMEA。您可以在 Windows 或 Linux 中执行此操作。
我通常将这样的项目分解为一组较小的项目,例如:
- 从串行端口阅读和解析NMEA
- 建立从远程设备到跟踪系统服务器的串行 /网络链接
- 集成组件
维基百科有一篇关于 国家海洋环境局 协议。正如亚当指出的那样,这实际上非常简单。
《Circuit Cellar》杂志也经常有这样的项目。
根据您想要做什么,需要考虑不同大小的目标。对于小型低功耗(电池)设备,请使用 Atmel AVR。如果我只是想粗略地了解这个概念并且需要 WiFi(或蜂窝网络)来连接互联网,也许可以在旧笔记本电脑上使用 Linux。
然后可以对笔记本电脑 Linux 原型进行精简并移植到嵌入式 Cinux 系统,以实现以后更低的电池使用量和便携性。(不过不像Atmel那么低)。
如果您熟悉 Linux 编程,我会推荐 Gumstix 系列小型计算机 - http://www.gumstix.com/
您可以将 vedex 主板与 GPSstix 扩展板配对,制作一个具有良好支持的编程环境的微型 GPS 接收器。
这里有些人推荐了像gumstix这样的设备——嵌入式设备,不带GPS的售价为149美元。我不太明白这一点。现成的 TomTom 配备了在 ARM 上运行 Linux、内置 GPS、大量闪存、电池和屏幕。大规模生产带来的价格优势是无可比拟的。对于您的爱好项目,不需要包含地图,但谁在乎呢?