我想在HTTP POST正文中向我的服务器发送一堆NMEA句子,但是我对Content-Type
应该是什么感到困惑。
我找不到NMEA的标准IANA MIME类型(来自通用text/plain
的建议)。我应该使用自定义标签(例如application/vnd.myvnd.nmea
)还是标准的模糊标签?
答案 0 :(得分:2)
既然您指的是文本,那么我认为NMEA指的是基于文本的规范 NMEA-0183 ,根据Wikipedia:
NMEA 0183是用于海洋电子设备(例如回声测深仪,声纳,风速计,陀螺罗经,自动驾驶仪,GPS接收器和许多其他类型的仪器)之间通信的电气和数据组合规范。它由美国国家航海电子协会定义并控制。
或从最新的NMEA标准 NMEA-2000 派生的文本消息,这是一种基于二进制帧的协议,本质上是 CAN (控制器局域网)的配置文件)汽车网络中使用的总线协议。
NMEA-0183官方规范止于该协议旨在运行的RS422串行线上。数据编码指定为ASCII,不使用高位。 NMEA-0183的主要公开参考资源是Eric Raymond's "NMEA REVEALED"。
官方的NMEA-2000标准使用CAN总线的设备互连规范。
有一个专有的(不常见的)标准可以在IP网络上移动NMEA数据,并且还有一组非专有协议通常用于此目的。这些是KPLEX的作者在一系列博客文章中记录的,KPLEX是著名的NMEA-0183多路复用工具之一。标题为"NMEA-0183 over IP: The unwritten rules for programmers."
的帖子特别有用 Signal-K是一个开源项目,该项目使用IANA标准协议为Web封装NMEA和其他数据类型,并使用Json对象以及带有非官方名称(如signalk-tcp
)的TCP流。 SignalK规范为here。
其他涉及NMEA数据的著名开源项目包括:
没有为NMEA-0183,NMEA-2000或CAN总线注册的IANA MIME类型。我下载并搜索了链接项目的源代码,但未在任何引用的项目或链接中定义任何与NMEA相关的MIME类型。
因此,我认为我们可以放心地说,关于NMEA数据,Content-Type
没有模糊的事实标准。