图片69
物联网在概念上就是通过信息感知设备,按照约定的协议,把物品与因特网连接起来,从而实现传统物品设备的智能化交换与通讯。如今常说的智能硬件,本质上就是物联网概念的落地和应用。举例来说,现实生活中有许多场景,比如通过手机控制空调的开关,电灯开关,以及各种智能跑步机,学习机等,都是IOT应用场景。
从以上论述,也可以看出,其实物联网本质上也是依赖于因特网,如果没有移动互联网3G、4G、WI-FI和未来5G网络的支撑,就不能再依靠互联网了。与传统的计算机互联网络设备相比,移动电话,由于物联网设备种类繁多,所以硬件部分定制化开发的场景会比较多!
有关硬件部分主要涉及电路板设计和嵌入式软件开发相关工作,通过嵌入式软件逻辑连接到移动网络,如蓝牙、WI-FI和移动因特网,部分特定的场景也可以通过物联网短信连接,例如某些共享单车可以通过短信指令发送补偿等。
MQTT之IOT协议。
MQTT是物联网中的基础协议,英文全称为“远程传输协议”,也称为遥测传输协议。MQTT是一种基于客户端-服务器端的消息发布/订阅传输协议,它非常适用于物联网的应用,在网络信号不稳定的情况下还能有效地实现设备和网络服务之间的交互通信。
MQTT协议有三种类型的身份:发行者(Publish)、代理服务器(Broker)和订户(Subscribe)。在这两种情况下,消息的发行者和订户都是客户端,只有消息代理才是服务器,消息的发行者也可以是消息的订户。在这些方面,MQTT协议看起来和我们日常系统中使用的消息中间件相似,只不过消息的发布和订阅被嵌入到设备的逻辑中。MQTT中传输的信息主要分为主题(topic)和负载(payload)两部分。Topic可以被理解为消息的类型,而payload可以被理解为消息的内容。MQTT设备和服务器端之间的交互过程如下:
在MQTT协议中,每台设备根据协议都拥有其自身消息使用者的Topic,以此方式接收服务器端发出的操作指令;同时,每台设备都将消息发送到服务器端指定订阅的Topic作为消息发布的方向,以此方式实现设备与服务器端的交互。
举例公共自行车智能交通系统。
根据上述基本描述,在IOT和IOT中,设备和服务端之间的交互,使用共享单车时,当使用手机扫描二维码进行开锁时,手机端将调用后台服务接口,然后通过IOT连接服务,以MQTT协议的方式将特定设备的开锁消息发出,通过SIM卡,锁定设备将继续监听物联网消息服务器,按照自己的设备协议实现Topic订阅消息,如果收到开锁消息,又会触发自身的嵌入式软件逻辑来完成电机的动作从而实现开锁。
因为基于MQTT协议的开锁指令与设备接收到指令来完成开锁是一个异步的过程,因此锁设备在执行开锁指令后,将通过约定的上行Topic向IOT服务发送开锁状态上报信息,服务方通过监听来确定Topic队列,感知锁的开关状态,从而触发后续与骑乘相关的业务逻辑,例如生成骑乘指令,启动骑车单等活动。关闭和其它过程也是相似的。
上述为共享单车通过IOT物联网开关锁的基本逻辑,原理上是通过消息队列实现的,在实际场景中,为了补充网络不稳定性,目前主流共享单车也将辅以蓝牙和物联网短消息,以提高开锁成功率。
此外,就IOT系统的方案选择问题而言,目前各大云计算公司已提供IOT服务,基于已有IOT服务将减少设备管理和连接资源的负担。并且想要自行构建物联网服务,也可以用消息队列来封装(比如使用RocketMQ),只是在设备容量大的情况下,还要考虑连接资源和系统性能问题,除了设备管理之外,还要考虑与设备管理有关的内容。对创业公司来说,在资源并不十分充足的情况下,通过成熟的云计算服务来IOT也是个不错的选择!