物联网设备与 Web 应用服务器通信,用什么通信协议比较合适?

2020-09-30 15:37:43 +08:00
 tctc4869

想让物联网设备与 Web 服务器的应用端进行通信,常用的通信协议,除了 mqtt,http 还有哪些比较合适的?

应用层协议有一个 WebSocket,WebSocket 协议用在物联网设备与 Web 服务器之间的实现通信合适么?

5665 次点击
所在节点    程序员
61 条回复
tctc4869
2020-09-30 16:26:46 +08:00
@crasa 按你这样说的话,为了使在 mqtt 中两个设备之间能相互一对一通信,就得自己定义一下 mqtt 服务端中中某些 TOPIC 的消息处理流程
soulzz
2020-09-30 16:49:33 +08:00
自定义协议完全可以
设备直接发送字节流
后端 netty 解完全可以
dndx
2020-09-30 16:50:34 +08:00
MQTT 非常方便,还可以用阿里云的 MQTT 服务,量小的话免费额度就够了,非常稳定。
clf
2020-09-30 16:51:20 +08:00
MQTT 比较方便,现成的平台:EMQ
stranger75
2020-09-30 17:03:59 +08:00
物联网内系统交互的话无脑推荐阿里云的 MQTT -doge
manhere
2020-09-30 17:08:25 +08:00
coap
ihidchaos
2020-09-30 17:16:37 +08:00
mqtt-sn,coap,lwm2m
opengps
2020-09-30 17:24:03 +08:00
实际上物联网并非直接跟 web 通信,而是跟 socket 服务端通信,转发一层消息实现的物联网设备跟 web 通信
youla
2020-09-30 17:26:35 +08:00
我正在做一个这样一个项目,用的是 websocket 。
janxin
2020-09-30 17:28:40 +08:00
可以
LLaMA2
2020-09-30 17:46:45 +08:00
如果设备不用在意功耗问题,直接 socket 就好,不过建议你吧 socket server 剥离出来,设备和 web 服务都作为 client 端连接到 server 。这样是为了以后拓展 socket server,例如更换实现,集群,HA 能特性,而不用更改已有的 web 服务

如果设备在意功耗,MQTT 就好,套路和上面一样。设备和 web 都作为 mqtt client,中间架 mqtt broker
kerro1990
2020-09-30 18:19:16 +08:00
摩拜用的微软 azure 的 IOT 服务
ungrown
2020-09-30 19:22:17 +08:00
@Gitizen 不理解,mqtt 再套一层 ws 是图个啥
Bijiabo
2020-09-30 19:49:53 +08:00
@tctc4869 这种场景,使用 MQTT,配合云平台的规则引擎,直接把一个设备的数据转到另一个设备的 topic 中,我看一些业务场景的实现是这样做的。

这些能力,云平台普遍会提供。

置于安全,主要是设备 MQTT 链接时候的鉴权,认证 key 怎么来的,是需要注意的
geekvcn
2020-09-30 19:55:03 +08:00
我觉得 QUIC 挺适合,因为物联网设备流量很小,也不怕运营商的 UDP Qos
chihiro2014
2020-09-30 20:09:24 +08:00
RSocket
a22271001
2020-09-30 20:15:59 +08:00
@geekvcn quic 不是 over udp 的吗
geekvcn
2020-09-30 20:27:56 +08:00
@a22271001 就是 udp 才有优势啊
rbe
2020-09-30 20:46:35 +08:00
mqtt 足够轻量,且能发又能收,基本能近似达到长连接的效果了。用阿里云的 mqtt 服务或者自建 emqx broker,qos 1 就能保证不丢消息。lz 应该说明一下为啥不愿意用 mqtt 啊?
rockyou12
2020-09-30 20:49:17 +08:00
mqtt 功能强又够轻量,生态还非常成熟,不是很特别的业务想不到不用的理由

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/711917

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX