ARM的物联网云平台

物联网这个话题已经热门了许多年,但是并没有多少起色,除了缺乏杀手级的应用以外,我认为标准化的缺乏也是一个重要的原因。人们依然在开发各种封闭的在线数据采集和遥控遥测应用,没有办法互联互通。而在国外,这方面的工作已经得到大量的推进。

Arm Mbed 不仅仅是一个操作系统,也是一个物联网云平台架构。Arm 的物联网云平台称之为 device server ,它的云端服务称为 device connector。

前端Mbed OS 设备通过Mbed Client 连接到 mbed connector。当你开发一个物联网应用项目时,需要自己写一个App web 网站,实现你自己的用户界面、数据库、安全性等功能。通过Arm公司的device connector 的REST API 访问 mbed connector 获取你设备的数据和控制。

由此可见,物联网的设备服务器只是负责与客户端设备的管理。数据的分析,存储,以及与其它手机,网络的通信访问是与具体的应用相关,它们是由第三方web App来完成的,设备服务器是可以相对标准化的东西。事实上也是这样的,比如OMA 的LWM2M, CoAP和 TLS/DTLS 标准。

  • OMA LWM2M

开放移动联盟(Open Mobile Alliance, OMA)制定的轻量级物联网协议,LWM2M正发展成为物联网行业设备管理领域的重要标准。

  • CoAP  RFC 7252标准

受约束的应用协议(COAP),CoAP基于轻量级的UDP协议,并且允许IP多播。为了弥补UDP传输的不可靠性,CoAP定义了带有重传机制的事务处理机制,并且提供资源发现机制,并带有资源描述。

CoAP 的特点(http://coap.technology/

  • 小设备的REST 模式
  • 类似web API 的访问方式
  • 应用于上亿的节点10K RAM,100kROM
  • 安全
  • 在Mbed OS 上实现

手机访问你的iot 设备的过程为: 手机 ->App Web site->device connector-> iot 设备。

mbed client 和device connector 互联测试

我们做的试验是 在stm32F746 nucleo 板上写了一个基于Mbed Client的LED 闪灯程序,在Arm 的device connector 上申请了一个设备号,然后在自己的电脑上基于nodeJS 写了一个web site,测试通过了。