NMEA数据的正确Content-Type标头?

时间:2018-09-25 08:41:34

标签: http http-headers mime-types nmea

我想在HTTP POST正文中向我的服务器发送一堆NMEA句子,但是我对Content-Type应该是什么感到困惑。

我找不到NMEA的标准IANA MIME类型(来自通用text/plain的建议)。我应该使用自定义标签(例如application/vnd.myvnd.nmea)还是标准的模糊标签?

1 个答案:

答案 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数据的著名开源项目包括:

  • OpenChartPlotterNavigation主页here
  • Kplex主页here
  • OpenSkipper主页here
  • CANBoat Wiki here

没有为NMEA-0183,NMEA-2000或CAN总线注册的IANA MIME类型。我下载并搜索了链接项目的源代码,但未在任何引用的项目或链接中定义任何与NMEA相关的MIME类型。

因此,我认为我们可以放心地说,关于NMEA数据,Content-Type没有模糊的事实标准