1、M5310A了解

- 基本知识

M5310 模块是一款工业级的两频段 NB-IoT 无线模块,其工作频段是 Band 5 或 Band 8,它主要应用于低功耗的数据传输业务,满足 3gpp Release13 标准。M5310 是 LCC 封装的贴片式模块,30 个管脚,尺寸仅有 19mm×18mm×2.2mm。M5310 内 置 UDP/CoAP 等数据传输协议及扩展的 AT 命令,模块采用了低功耗技术,电流功 耗在深度睡眠模式低至 5uA。

- 引脚介绍

2、通讯指令

 M5310-A模组为NB全频段,支持UDP、TCP协议,可使用COAP连接电信平台、使用LWM2M连接移动ONENET,可使用MQTT连接第三方服务器。

-AT指令集

M5310A:
        AT  //模组返回ok,mcu和模组通信成功

AT+CSQ  //查询信号,一般12-31,数值越大越好。一般为20左右

AT+CEREG? //网络附着情况,返回0,1为附着到网络

AT+MIPLCREATE=49,130031F10003F2002304001100000000000010123138332E3233302E34302E33393A35363833000131F300080000000000,0,49,0 //创建实体

AT+MIPLADDOBJ=0,3200,1,"1",0,1 //创建对象,必须创建

AT+MIPLDISCOVERRSP=0,3200,1,4,"5750" //创建资源,如果不创建,数据也能上报平台,但是资源列表不显示

AT+MIPLOPEN=0,3000,30 //登录平台

AT+MIPLNOTIFY=0,0,3200,0,5750,1,4,"177788",0,0,12//,带ackid,ackid每次上报要自加,上报数据

- 指令集详细介绍

1、上电检查
AT //判断模组是否上电开机成功
AT+CSQ //信号质量检查
AT+CEREG? //判断 PS 域附着状态,标识位返回 1 或 5 表示附着正常
AT+CGATT? //检查模组 PS 附着状态
AT+CGACT? //检查模组激活状态2、M5310-A 模组侧设备创建、资源订阅及登录流程
AT+MIPLCREATE=56,130038F10…00000000,0,56,0 //设置模组侧设备注册码
AT+MIPLADDOBJ=0,3200,1,“1”,0,1 //订阅 Object 3200 资源设置
AT+MIPLDISCOVERRSP=0,3200,1,4,“5750” //订阅 Resource 5750 资源设置
AT+MIPLOPEN=0,3000,30 //设备登录到 OneNET 平台3、M5310-A 模组侧 OneNET 数据收发流程
AT+MIPLNOTIFY=0,0,3200,0,5750,1,4,“abcd”,0,0,147 //数据上传
AT+MIPLREADRSP=0,32705,1,3200,0,5750,1,4,“abcd”,0,0 //Read 操作回复
AT+MIPLWRITERSP=0,25845,2 //Write 操作回复
AT+MIPLEXECUTERSP=0,18166,2 //Execute 操作回复4、M5310-A 模组侧设备注销流程
AT+MIPLCLOSE=0 //登录注销流程
AT+MIPLDELOBJ=0,3200 //模组侧订阅资源列表释放
AT+MIPLDEL=0 //模组侧通信实例删除5、M5310-A 模组侧设备存活时间更新流程
AT+MIPLUPDATE=0,300,1 //存活时间更新流程6、注意事项以及AT指令解释
6.1、AT+MIPLCREATE 这个AT指令使用时可以不使用后面的流程码参数,可直接把“=”后面的参
数都省略了,前提是引导流程(指对接平台需要的参数)没有发生变化,指令后面不带参数是
默认可以对接onenet平台的。6.2、有时候会出现使用AT+MIPLDELOBJ=0,3200释放资源错误的问题,错误原因一般是使用AT+MI
PLDISCOVERRSP 订阅资源时不止订阅了一个,但是在使用AT+MIPLADDOBJ 时却没有设置正确的实
例个数和实例位图,例:AT+MIPLCREATE+MIPLCREATE:0OKAT+MIPLADDOBJ=0,3202,1,"1",0,1OKAT+MIPLDISCOVERRSP=0,3202,1,9,"1101;5500"OKAT+ MIPLDELOBJ=0,3202ERROR需要将AT+MIPLADDOBJ=0,3202,1,"1",0,1修改为AT+MIPLADDOBJ=0,3202,2,"11",0,16.3、设备订阅的资源和实例设备在订阅资源和实例后,进入psm态之前不需要进行资源的释放。恢复正常状态后会使用之前订阅的资源。

AT+MIPLCREATE
①作用:该指令用于在模组端(即M5310-A)创建一个通讯设备实体,同一时间一个终端只允许存在一个通讯设备主体。
②命令格式:AT+MIPLCREATE=<totalsize>,<config>,<index>,<currentsize>,<flag>
③参数解释:
    a.totalsize:表示config 部分的长度,按ASCⅡ计数
    b.config:具体的设备配置数据
    c.index:配置数据分片参数
    d.currentsize:当前分片部分数据长度
    e.flag:配置数据流结束符
④使用例子:
 AT+MIPLCREATE=49,130031F10003F2002304001100000000000000123138332E3233302E34302E34303A35363833000131F30008C000000000,0,49,0
(中间部分为注册码,所有同一类型的终端设备都可以使用同一个同一设备注册码进行配置)
⑤返回值:
(ref是设备实例ID,用于后续操作)
+MIPLCREAT:<ref>
OK

AT+MIPLDELETE
①作用:用于在模组端删除一个通讯设备实体
②命令格式:AT+MIPLCREATE=<ref>
AT+MIPLADDOBJ
①作用:用于在模组端添加一个待订阅的object及其所需的instance。
②命令格式:AT+MIPLADDOBJ=<ref>,<objid>,<inscount>,<bitmap>,<atts>,<acts>
③参数说明:
a. ref:设备实例ID
b. objid:Object ID
c. inscount:实例个数
d. bitmap:实例位图,字符串格式,每一个字符表示为一个实例,1表示可用,0表示不可用。
e. atts:属性个数,默认设置为0即可。
f. acts:操作个数,默认设置为0即可。
④使用例子:
AT+MIPLADDOBJ=0,3303,1,"1",1,0
AT+MIPLADDOBJ=0,3304,1,"1",1,0

AT+MIPLDELOBJ
①作用:用于删除一个已经订阅的object及其所属的instance。
②命令格式:AT+MIPLDELOBJ=<ref>,<objid>

AT+MIPLOPEN
①作用:用于在模组端向OneNET 平台发起注册登录请求。
②命令格式:AT+MIPLOPEN=<ref>,<lifetime>[,<timeout>]
③参数说明:
a. lifetime:本次注册平台的生命周期,单位是s
b. timeout:注册的超时时长,可选参数,默认为30,单位为s
④使用例子:
AT+MIPLOPEN=0,3000,30

AT+MIPLNOTIFY
①作用:用于在模组端向OneNET 平台上报指定资源的数据。
②命令格式:AT+MIPLNOTIFY=<ref>,<msgid>,<objid>,<insid>,<resid>,<type>,<len>,<value>,<index>,<flag>[,<ackid>]
③参数说明:
    a. ref:设备实例ID
    b. msgid:该resource所属的instance observe操作时下发的msgid
    c. objid:Object ID
    d. insid:Instance ID
    e. resid:Resource ID
    f. type:上报资源的数据类型(1-string,2-opaque,3-integer,4-float,5-bool,6-hex_str)
    g. len:value值的长度
    h. index:指令序号。可以发N条报文,从N-1到0降序编号,0表示本次Notify指令结束
    i. value:上报数据。
    j. flag:消息标识,指示第一条或中间或最后一条报文。
④使用例子:
AT+MIPLNOTIFY=0,0,3303,0,5700,4,4,"29.8",0,0
AT+MIPLNOTIFY=0,0,3304,0,5700,4,4,"29.8",0,0

AT+MIPLUPDATE
①作用:用于在模组端向OneNET平台发起设备存活时间更新请求。
②命令格式:AT+MIPLUPDATE=<ref>,<lifetime>,<withObjectFlag>
③参数说明:
a. ref:设备实例ID
b. lifetime:更新的lifetime值,单位是s
c. withObjectFlag:是否需要同时更新注册的Object对象

AT+MIPLCLOSE
①作用:用于在模组端向OneNET平台发起设备注销请求。
②命令格式:AT+MIPLCLOSE=<ref>

+MIPLREAD
①作用:(OneNET平台请求MCU读取消息)平台下发Read数据读取操作时,模组收到服务器请求后,将通过串口上报该消息到MCU。
②命令格式:+MIPLREAD=<ref>,<msgid>,<objid>,<insid>,<resid>
③参数说明:
    a. ref:设备实例ID
    b. msgid:消息ID
    c. objid:Object ID
    d. insid:Instance ID,-1时需要读取该Object下所有资源
    e. resid:Resource ID,-1时需要读取该instance下的所有资源。

AT+MIPLREADRSP
①作用:MCU完成相应的Read操作后,向平台回复Read操作结果。
②命令格式:AT+MIPLREADRSP=<ref>,<msgid>,<result>[,<objid>,<insid>,<resid>,<type>,<len>,<value>,<index>,<flag>]
③参数说明:
    a. result:1-读取操作正确完成;11-Bad Request;12-Unauthorized;13-Not Found;14-Method Not Allowed;15-Not Acceptable。
    b. type:指定读取资源的数据类型,数字代表意义同上面的type。
    c. len:value值的长度

+MIPLWRITE
①作用:(OneNET平台请求写数据到终端)模组收到平台下发的数据后,通过串口上报该消息。
②命令格式:+MIPLWRITE:<ref>,<msgid>,<objid>,<insid>,<resid>,<type>,<len>,<value>,<flag>,<index>

AT+MIPLWRITERSP
①作用:MCU完成相关Write操作后,向平台回复Write操作结果。
②命令格式:AT+MIPLWRITERSP=<ref>,<msgid>,<result>

+MIPLEXECUTE
①作用:平台下发Execute执行操作到模组,模组再通过串口上报给MCU。
②命令格式:+MIPLEXECUTE:<ref>,<msgid>,<objid>,<insid>,<resid>[,<len>,<cmd>]
③参数说明:
a. len:本次报文写入的命令长度
b. cmd:字符串类型,下发的命令

AT+MIPLEXECUTERSP
①作用:MCU执行完Execute操作后,向平台回复Execute操作结果。
②命令格式:AT+MIPLEXECUTERSP=<ref>,<msgid>,<result>

M5310-A初始化流程:

- TCP

- UDP

UDP连接测试:
AT+NSOCR="DGRAM",17,0,1                   //创建一个socket(17是UDP的协议标号,0表示随机产生的本地socket编号)
AT+NSOST=0,183.230.40.158,5022,2,1024    //编号为0的socket向地址183.230.40.18的端口5022,发送2bytes数据,数据是1024
//创建socket时,最后一位设置为1时,模组会缓存接收到的数据。然后用下面命令,对socket 0中缓存区读4bytes数据
AT+NSORF=0,4
AT+NSOCL=0               //关闭socket 0

- MQTT

NB-iot的M5310A的学习相关推荐

  1. NB IoT LWM2M Object or/and Resource Identifier: (Object ID) or (ResourceID)

    NB IoT LWM2M Object or/and Resource Identifier: (Object ID) or (ResourceID)      LWM2M协议中Object ID-对 ...

  2. nb信号和4g信号_三大运营商NB—IoT技术对比

    龙源期刊网 http://www.qikan.com.cn 三大运营商 NB - IoT 技术对比 作者:通信世界网 来源:<物联网技术> 2018 年第 02 期 摘 要: NB-IoT ...

  3. 产品 电信nb接口调用_艾礼安NB—IoT产品通过中国电信物联网开放平台接入认证...

    原标题:艾礼安NB-IoT产品通过中国电信物联网开放平台接入认证 近日,从电信部门传来好消息,艾礼安NB-IoT系列产品成功通过了中国电信物联网开放平台接入认证. 艾礼安NB-IoT产品通过电信认证 ...

  4. 从0到1入门:7天玩转IoT物联网实战营丨IoT喊你加入学习之旅!

    "看不见"的物联网是何方神圣? 在1991年,美国MIT提出物联网概念,早期的物联网是指依托RFID技术和设备,按约定的通信协议与互联网结合,使物品信息实现智能化识别和管理,实现物 ...

  5. 中移动 NB-IoT (M5310-A)学习笔记

    一. 来自"M5310-A硬件设计手册V1.5" DCE:Data Communication Equipment DTE:Data Terminal Equipment 模块的三 ...

  6. 【IOT数据库】tdengine学习使用,非常方便,速度十分快,开源IOT数据库,支持集群方式进行部署,支持分区,支持Topic,流式计算

    目录 前言 1,关于Tdengine背景 2,使用直接使用docker尝鲜 3,总结 前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/det ...

  7. 一文说尽NB—IOT和Lora

    https://baijiahao.baidu.com/s?id=1568706798230922&wfr=spider&for=pc 这篇文章的确很切合我们学生的审美观哈哈,图就不复 ...

  8. Nb iot php_电信NBIoT物联网平台完整测试流程整理

    最近在负责一个物联网相关的项目,需要对接电信NBIoT平台,首次对接感觉没有头绪.这里将整个过程记录下来,希望这个能帮到需要的人. 另外提供对接部署咨询服务欢迎私信. 先在开发平台自测 自测主要要求开 ...

  9. nb iot 与java_NB-IoT物联网技术解析与案例详解 PDF 下载

    相关截图: 资料简介: 以NB-IoT为典型应用的移动物联网技术正处于规模发展的关键期,各行各业都在思考如何把NB-IoT与行业应用有效结合起来.由于垂直行业普遍缺乏对通信技术和通信行业的认知,同时对 ...

  10. 【深度学习】【物联网】深度解读:深度学习在IoT大数据和流分析中的应用

    作者|Natalie 编辑|Emily AI 前线导读:在物联网时代,大量的感知器每天都在收集并产生着涉及各个领域的数据.由于商业和生活质量提升方面的诉求,应用物联网(IoT)技术对大数据流进行分析是 ...

最新文章

  1. 将外部知识整合到群体智能中,以获得更具体的知识
  2. 【django】视图和URL
  3. Linux卸载minikube命令整理
  4. nginx for discuz 伪静态规则
  5. php round 取余,PHP round() 函数
  6. Pandas-层次化索引
  7. linux jmeter 内存,JMeter-Linux内存不足
  8. 获取本年、本月、本周时间范围_获取本周本月本季度本年开始结束时间.html
  9. 从关系型数据库到非关系数据库
  10. Python-sorted函数
  11. Windows Server 2012 Backup安装
  12. megacli通过盘符定位物理盘_Megaraid 磁盘定位
  13. javascript案例32——中文简繁体转换
  14. 论文解读:MeLU:Meta-Learned User Preference Estimator for Cold-Start Recommendation
  15. 深入浅出FPGA-4-数字电路设计基础
  16. 百度母婴 寒假实习一面(电话面试)(猝)
  17. 《程序员》2012年8期精彩内容:我们的开源
  18. addevent()实现跨浏览器绑定事件
  19. (译)stackoverflow上关于柱形全景与立方体全景转换的讨论
  20. 光学字符识别的 5 个最佳免费数据集

热门文章

  1. webpack-开发服务器-配置
  2. 下载IEEE 论文模板的方法
  3. 从《学书津梁》看五体创作思路(篆书)
  4. 深山红叶袖珍PE工具箱V16正式版
  5. 如何复制百度文库的内容
  6. 百度文库免费复制文字_百度文库免费下载Word全方案
  7. “冲击波”病毒的症状和解决方案
  8. ESP8266-Arduino编程实例-L3G4200D三轴陀螺仪驱动
  9. beini安装破*WIFI
  10. 切图直接导出html,Dreamweaver切图到生成网页的方法