![436e9b8fd85c85cb55af2f0e0c9215f3.gif](https://i-blog.csdnimg.cn/blog_migrate/0f6bba501002b84b8c701a02487e4e4c.gif)
点击上方蓝色字体,关注我们
1
硬件基础
最近调测移柯L620 NB-IoT模组, 特申请调测L620开发板(L620_ EVB),其专门为评估和测试L620模块而设计的,用于帮助开发人员进行开发、调试、测试L620模块。下图及其标注显示了L620开发板的主要功能。
![1f2eab99af4bafadb6e540d9065f96e9.png](https://i-blog.csdnimg.cn/blog_migrate/005d59c901c02db3f31876e7657c0aa9.png)
![ea2b5481d4ed282b6c9b782c8bbcb840.png](https://i-blog.csdnimg.cn/blog_migrate/bcb0de9156370b25c608bf755aff639a.png)
L620是一款封装小,性能稳定可靠,LCC封装的NB-IoT模块,支持3GPP R13/R14规范下涵盖的低频/中频/高频全频段运作。L620的尺寸仅为17.6*15.8*2.3mm,可以满足客户对小尺寸模块产品的需求,同时方便客户减小产品尺寸并优化产品成本;采用的LCC封装可通过标准的SMT设备实现模块的快速生产,使其特别适用于各种IoT产品和设备中。
![54ba1094fee67e1def518ab0ea8251a7.png](https://i-blog.csdnimg.cn/blog_migrate/aa3b3ede5cfb7151b66896ed4b0ae915.png)
其特性如下:
![82f615111690a591da52d0253f758066.png](https://i-blog.csdnimg.cn/blog_migrate/b5e63e717871d4189694aa3b91c81ae0.png)
1
云端部署
第1步:登录中国移动OneNet官网,注册账号。
![1956d2f1a897022feac2530e34ed1310.png](https://i-blog.csdnimg.cn/blog_migrate/2919ba0d4adb894c3d455b441484331b.png)
填写注册信息。
![6ff133a8178ce1d16aa15c0863cccf0f.png](https://i-blog.csdnimg.cn/blog_migrate/acf35e26bba1dfb2b6ceae24b19af189.png)
OneNET提供企业认证、个人认证两种认证方式,注册账号完成后,用户可以可以根据实际需要选择一种方式进行认证,不同的认证等级具有不同的资源使用权限。
![fd75a862de5796c3c310b88d9e3f9645.png](https://i-blog.csdnimg.cn/blog_migrate/52bcc2638d1ffd4e7622717a5d1d571a.png)
第2步:进入开发者中心,基于MQTT协议,创建物联网产品,这里使用旧版的MQTT协议,在多协议接入中(为什么不使用最新的MQTT物联网套件服务?臣妾没调通啊!,后期追更)。
![668f2f0a4e781f37aad23266990c7f97.png](https://i-blog.csdnimg.cn/blog_migrate/9d65e676041b052f84cb2284cef31889.png)
![af0735601b33b9aa6aa8829ef8cd7b35.png](https://i-blog.csdnimg.cn/blog_migrate/34ace37ba41df44f09649aeb9d960d09.png)
![3f2347a61d61b9ab827ed5878283c10e.png](https://i-blog.csdnimg.cn/blog_migrate/9775287033139381d6e3918f43720321.png)
填写产品信息,从这里开始,请各位小伙伴仔细参照云端的开发文档,理解相关的配置属性,即使官网的文档可读性真的差劲。
![d824fdaca2d84ee4014c75cda8c3a6a6.png](https://i-blog.csdnimg.cn/blog_migrate/b750c5942d490eb439ee3b375dd78fcc.png)
添加产品成功。
![e3d73fe2188c043c4607adda784cd42a.png](https://i-blog.csdnimg.cn/blog_migrate/2bb698d56551cef48441fa6e463f7a79.png)
第3步:创建产品下的设备,准备创建两个设备。
![7024194771c28e62d260908e99ce6f9a.png](https://i-blog.csdnimg.cn/blog_migrate/bfa7b32bc31c171f8fba87388382533d.png)
创建设备:Sub_Node,鉴权信息为:1234。
![73335a4c07401ced85c826f651da9ffb.png](https://i-blog.csdnimg.cn/blog_migrate/9ba558107d4a5f643a1f47f1b42cddd7.png)
创建设备:Pub_Node,鉴权信息为:5678。
![8cd1ba39aeed6326badb9af51d5bf76c.png](https://i-blog.csdnimg.cn/blog_migrate/2de79bc51766f6e6d4a5bfa885c1d08e.png)
创建成功后为离线状态,可以查看其详细信息。
![3e40091888f7abbf571a79d40263e1d6.png](https://i-blog.csdnimg.cn/blog_migrate/9fdec8a000ba80f62ccd70584b03f79c.png)
NB-IoT云端通信将会使用到的核心参数。
![8d777c187f66fe75f0898a7ed47250e5.png](https://i-blog.csdnimg.cn/blog_migrate/74af5d26003688f71fefa92fc567f822.png)
全部创建完成后,可以查看产品概况信息。
![bf6d7e18c7759b977b447a75c1b91204.png](https://i-blog.csdnimg.cn/blog_migrate/780297f18c81d7201bc8d8c16d5a730d.png)
1
软件调测
使用OneNet平台提供的调测软件进行测试。
![e23a454ad662bf7d7043b9728d7c4321.png](https://i-blog.csdnimg.cn/blog_migrate/0c48e033e3204df3cc69a5245a748242.png)
下载完成后,查看打开MQTT软件,软件具体说明如下:
![ccec60f4d3ef8fcf71a38a1ce23de9d2.png](https://i-blog.csdnimg.cn/blog_migrate/c7a78765454ad2d9eeea3056c1d60d1d.png)
要想理解深刻,请一定、一定要读开发文档,举个例子,服务器IP、端口是多少?开发文档中有明确说明。
![93dd3a702f42f88b7d3f762ede2689f2.png](https://i-blog.csdnimg.cn/blog_migrate/5eb6a14ea42adf9e7198bb385956e9f4.png)
订阅、发布测试
第1步:打开MQTT调测软件,分别创建:Sub_Node和Pub_Node两个模拟设备应用。
![dcbff5a616f79f9e3cfd2e286adb5e9a.png](https://i-blog.csdnimg.cn/blog_migrate/8a23a75373f172f32d4793d535b8d37b.png)
第2步:Sub_Node虚拟设备开启设备订阅Topic,Pub_Node虚拟设备开启设备发布Topic,实现Pub_Node虚拟设备发布Topic后,Sub_Node虚拟设备可以订阅接收到Topic。
![d0b2134872bca9558f12adec3a67aa3c.png](https://i-blog.csdnimg.cn/blog_migrate/28d1e303de0e3462dbd9873bce68880b.png)
![6b6ad393925c08a434312fe37613874d.png](https://i-blog.csdnimg.cn/blog_migrate/a4770b0348621f9ccdbc6c93cbe319fb.png)
此时可以在Sub_Node虚拟设备的收到的Topic中查看到Pub_Node虚拟设备发送的Topic数据。
![1a78e0f59972aad7818efa664961bc27.png](https://i-blog.csdnimg.cn/blog_migrate/ead5174c95848f7de8e85d8a669d9baf.png)
由说明文档可知,可自定义创建Topic,Topic名字,只能由英文,下划线,反斜杠组成,最长1024个字符,同一产品下topic name不重复,每个产品最多100个Topic。
![4f8b9e9b9c29dbb44882c88281940e1e.png](https://i-blog.csdnimg.cn/blog_migrate/6abf0440ac03a845d96724d4d9d489b4.png)
设备通过发送HTTP请求进行topic的创建操作;
平台收到请求后创建topic并返回结果。
请求及响应定义如下:
![206281a805b0a7a58118382b76608a47.png](https://i-blog.csdnimg.cn/blog_migrate/34d4be0ecd6c3d615a2d248270e5e91b.png)
订阅过程解析如下: 说明文档中对订阅和取消订阅也进行了说明,具体如下所示。
![168ce43b43ef53254b33020a4df87351.png](https://i-blog.csdnimg.cn/blog_migrate/44b119c43e70c66731f947c2c9d83765.png)
设备发起订阅请求.(报文格式参考4.9);
平台收到请求后更新topic列表;
平台给设备回复SubAck. (报文格式参考4.10);
注:subscribe的request qos级别可以为0、1、2。
取消订阅过程解析如下:
![9968f1b41bb0d314160842b0b3b910cb.png](https://i-blog.csdnimg.cn/blog_migrate/71cb607e96342fc0e0c3683818b36e17.png)
设备发起取消订阅请求. (报文格式参考4.11);
平台收到请求后更新topic列表;
平台给设备回复UnSubAck. (报文格式参考4.12)。
OneNet平台指令接收调测
随便关闭其中一个MQTT虚拟设备,保留一个可以实现下述操作,这里我保留Sub_Node虚拟设备。
在OneNet更多操作中点击下发命令。
![f4517d943ca203c5a8a78e966fa4fc9a.png](https://i-blog.csdnimg.cn/blog_migrate/1075d4a9def671c0926ad1eaa0b7c79a.png)
![fc3ca53b14c7d2bfc5a1a8b47fb722ed.png](https://i-blog.csdnimg.cn/blog_migrate/0d3d930f1c358f04bbc1e9193edee14a.png)
这里我下发字符串类型数据。
![ecf59161ae6d744c612b82ec5a232a6f.png](https://i-blog.csdnimg.cn/blog_migrate/b58ec9fc9e65110282458dfa717a450c.png)
在虚拟设备中可以查看到下发的数据。
![a1958bb75e1475403c0096240ca58ae3.png](https://i-blog.csdnimg.cn/blog_migrate/2049048dacb179fb3e2fe92627712214.png)
可以对下发的数据进行响应回复。
![bc50ac2a921231de0e202abe55938244.png](https://i-blog.csdnimg.cn/blog_migrate/5142f3042411f89eef6eb113a7b65371.png)
如何得到Tocpic的呢 ,请参考相关手册,这里不再赘述,有疑问的小伙伴可以下方留言交流。
OneNet平台上传数据点
上传数据点有7种数据类型和3种Qos级别,具体方式参见说明文档。
![5df91818bcf05e0f4e5c29a053ae4e1e.png](https://i-blog.csdnimg.cn/blog_migrate/0913cc733835e82118607fed6187dbd3.png)
这里我使用第3种数据类型上传数据点,Qos级别默认为0,也就是设备发布Qos0消息(上报数据点),平台收到上报数据点后保存起来。数据流会自动创建sensor节点,并保存数值。
![1b2bc21fb165a508ab6b51af2f48b45b.png](https://i-blog.csdnimg.cn/blog_migrate/a1140b5fb9b7d1c5e88913a4314e8869.png)
4
L620模组调测
订阅、发布测试
第1步:打开串口调试助手,查看模组的入网配置信息,指令如下:
AT+CEREG? //检查网络状态+CEREG: 0,2OKCT-Self Register: Have already registered!AT+CESQ //检查信号质量+CESQ: 34,0,255,255,26,58OKAT*MBAND? //查看频道*MBAND: 5OKAT+CIICR //启动与NB-IoT网络的无线连接OK+IP: 10.214.60.155
第2步:网络配置无误后,与OneNet平台建立MQTT连接,这里使用OneNet平台上的Sub_Node节点完成下述操作。
AT+EMQNEW="183.230.40.39","6002",12000,2000 //建立新的MQTT连接
+EMQNEW: 0OK
指令解析如下:
![1995036f1fd0a1d427110232bfac8050.png](https://i-blog.csdnimg.cn/blog_migrate/b67af60c3d18d7d584deaeacfda366e5.png)
![510132fc5a46bbf01b38f1044d874b88.png](https://i-blog.csdnimg.cn/blog_migrate/7ddbb388afcc511c03c5792ac3990e3a.png)
AT+EMQCON=0,4,"571461182",1000,0,0,"296803","1234" //发送MQTT连接包OK
指令解析如下:
![1ebf1d4b1301f661aaf2364a7756b64a.png](https://i-blog.csdnimg.cn/blog_migrate/24d35019088e0e6eabdad0f9364c302f.png)
![98f2f309be1d65b0edf88aa4ec220ecd.png](https://i-blog.csdnimg.cn/blog_migrate/ad7489f998d65f337ea355a1d7ad7ae1.png)
建立连接成功后可以看到云端设备是在线状态。
![d4166e062a424cadd8fcaf06b1854639.png](https://i-blog.csdnimg.cn/blog_migrate/c8fa34ffd00d597b86f6de57969839ae.png)
第3步:建立Topic订阅,订阅Topic为”pub_topic“的消息,指令如下所示:
AT+EMQSUB=0,"pub_topic",1 //Topic订阅OK
指令解析如下:
![9e0299d74e19897c592b4bb68560b615.png](https://i-blog.csdnimg.cn/blog_migrate/c7e974cd05c40bd5c9008523b5ec2ffb.png)
第4步:建立Topic发布,发布Topic为”pub_topic“的消息(字符串、十六进制转换在线工具),指令如下所示:
AT+EMQPUB=0,"pub_topic",0,0,0,22,"68656c6c6f20776f726c64" //Topic发布,发送hello world的十六进制OK
指令解析如下:
![babde547d3b4321fb44c2820e2078f3e.png](https://i-blog.csdnimg.cn/blog_migrate/d42ab90517ccbbdc1952dc83f130fd94.png)
数据点订阅、发布
之前使用MQTT工具上传数据点,云端会自动在相应的设备中建立该数据点,接下来使用OneNet平台数据流模板创建数据点,并简要讲解其的使用。
![1b2bc21fb165a508ab6b51af2f48b45b.png](https://i-blog.csdnimg.cn/blog_migrate/a1140b5fb9b7d1c5e88913a4314e8869.png)
第1步:添加数据流模板。
![b40a7b983a01b1de60869ccfe694fd74.png](https://i-blog.csdnimg.cn/blog_migrate/7dbe6a2a3845f253945174b153c8ae27.png)
![a14b16e8d0e7a99a759fc48e1049bcde.png](https://i-blog.csdnimg.cn/blog_migrate/2c5762b8e5aa13e156c1ae0044618e07.png)
基于数据流模板创建的数据点是公共的,此时可以看到设备Sub_Node和Pub_Node均有sensor_1122数据点。
![8621ddf74480c8fea97e429e75b84299.png](https://i-blog.csdnimg.cn/blog_migrate/fc207f7638253c8515ada9d64fe73da0.png)
第2步:订阅数据点,指令如下所示:
AT+EMQSUB=0,"/571461182/sensor",1 //数据点订阅OK
"/571461182/sensor"参数参照说明文档,具体如下所示:
![9d23a301367c6e4def35f58da44edf30.png](https://i-blog.csdnimg.cn/blog_migrate/db81a66cca93c4a50440566b826beabe.png)
第3步:若修改数据点数值原理以及操作和发布一致,指令如下所示:
AT+EMQPUB=0,"$dp",1,0,0,42,"0300127b2273656e736f725f31313232223a38387d" //发送数据点{"sensor_1122":88}OK
Sub_Node设备下的sensor_1122数据点效果如下所示:
![5395d8c835dff4419770306daead9711.png](https://i-blog.csdnimg.cn/blog_migrate/2605da27f974a9920c7297dc9b148cdf.png)
这条指令较为复杂,具体解析如下:
数据点的Topic为 ”$dp“,参照说明手册,具体如下:
![ed7bc8669e12cc5488d2721945eac422.png](https://i-blog.csdnimg.cn/blog_migrate/37398f8de0b50f00ad21cf2932549287.png)
长度为42,后面的数据为字符串类型,每一位都是一个字符长度,共42位:"0300127b2273656e736f725f31313232223a38387d"
"0300127b2273656e736f725f31313232223a38387d" 代表含义参照下表,我使用的是数据类型3上传数据点,03代表数据点类型为第3种;0012代表后面数据字符的长度,后面的数据都是十六进制共18个,转换为十六进制是12,低位数据足够装载,故0012(转换为十六进制由于AT+EMQPUB指令只可以发十六进制,参照该指令说明);7b2273656e736f725f31313232223a38387d是{"sensor_1122":88}字符串的十六进制。
![a03c54f34d88b3505c1dc6f16000c7e5.png](https://i-blog.csdnimg.cn/blog_migrate/19cca1f1bcf41ff982fa5082e5eafd6f.png)
![6cebcb2b2b8ec9cabe99ca2ec6a0f1bd.png](https://i-blog.csdnimg.cn/blog_migrate/23f309f44b2205b9a673ff5191430b76.png)
移远BC20模组使用LwM2M协议接入华为IoT平台
移远BC95使用CoAP协议接入华为IoT平台
AI人脸识别身份认证系统(4)—人脸识别
![83a6813b8e1d333e7cdb6f888ca7d5f2.png](https://i-blog.csdnimg.cn/blog_migrate/21c5aff43168a41979245681fcb5d101.png)
![8ec7997405a7d7d8ec83fef27fa3df99.gif](https://i-blog.csdnimg.cn/blog_migrate/3c19617d34c1ddeeb3131eeee45a63e1.gif)