对于一些位于偏远环境的设备,可以远程配置或控制设备显得尤为重要。zws云从设计之初就充分考虑了这一需求,支持云端远程下发命令给设备。
介绍
zws云平台是致远电子研发的通用物联网云平台,提供多种不同物联网云服务,为设备厂商提供上云服务,支持对厂商不同种类设备的数据采集和分析。
物联网的设备有千万种,不同的设备有着不同的控制命令,比如“开关灯”,“时间同步”,“文件召回”等。zws云针对这些不同命令做了归并分类,可以分为三种:
通用命令:所有接入zws云都需要支持的命令,例如文件召回,固件升级等。透传命令:命令下发过程不经平台校验,只做透传的命令。差异化命令:设备类型自己跟其他设备类型不同的命令。对于这三种命令,虽然他们分类不一样,但他们下发的流程是差不多的,都是先在云端定义好命令的格式,然后再下发给设备,设备收到命令后进行命令的响应操作。具体流程如下图所示:
定义命令
定义命令是设备建模的一部分,可在功能块中定义命令字段。对于通用命令和透传命令,zws云平台已经在common_fn功能块进行了定义,用户可以直接使用,不需要重复定义。这两种命令定义如下所示:
对于第三种差异化命令,这个是由用户自定义的,用户可以在自定义设备类型的功能块下添加自己差异化的命令,如下图:
说明:自定义命令如果需要设备响应必须配置以下两个字段:
cmdid: 命令id,用于关联响应结果;
mtype: 消息类型,命令类型的消息此字段值固定是2。
差异化命令,用户除了可以在功能块里面添加自己的命令实现命令下发的需求,还可以复用通用功能块的set_config命令配置。用户只需要把自己的命令参数放到set_config命令的cfg_info字段里进行下发,设备收到该命令后进行响应即可。
set_config命令不仅可以给用户自定义命令复用,而且,可以通过set_config命令配置设备的状态值。
设备接收命令
设备固件开发需要集成“zws_sdk”,sdk里面提供了设备连接云服务关于网络层的封装同时也提供了一些demo,其中device_example这个demo演示设备怎么连接云,然后设备接收处理云端命令。用户可以直接通过make指令编译sdk里的device_expl.c,编译成功后,把设备的三元组传给运行程序,把demo跑起来。
linux系统,在sdk所在目录执行以下命令:
./bin/device_example demo_dev_type d123 123123123
代码说明:
1. demo中关于命令的回调是在device_expl.c文件中的on_message函数。
2. demo中只实现部分通用命令的响应处理,自定义命令需要用户自己实现。
下发命令
在设备管理的高阶功能界面,通过set_config命令下发给设备,设备接收命令,响应成功后返回给zws云平台,如下:
设备收到命令的处理日志:
AISpeech 思必驰 思必驰语音算法与芯片的完美结合 人机交互
变频器的分类有哪几种
电源模块在嵌入式系统设计中如何选型?看完就学会了
Vishay推出新款钽外壳液钽电容器136D
激光振荡器的应用场景有哪些
【产品应用】ZWS物联网云平台如何下发命令给设备?
智能试衣镜的作用是什么,它可带你体验一秒换衣
Ampere推业内首款80核ARM CPU 与Intel、AMD所代表的x86阵营竞争
荣耀智慧屏体验 意犹未尽仍有无限想象空间
北京富地发布多旋翼工业级无人机产品
恩智浦推出全新的灵活数字LED驱动器IC平台
华为“生存战关键一环”,台积电:不会断供华为
英国将推出世界首个修路AI机器人
Transphorm的GaN技术拥有逾50亿小时的实际使用时间
魅族新机谍照曝光,小米6哭晕在厕所
腾讯会议2.4版本Windows和Mac端上线
关于征集软件产品和应用解决方案的通知
基于石墨烯晶体管的电流驱动太赫兹检测器
压力传感器的工作原理,什么是压力传感器,压力传感器的接线方法
高通5g是哪个国家的_高通5g的专利费