四灯管规划分为三种摆放方法:一种是四个边各有一个灯管,但缺陷是中心会出现黑影,处理的办法就是由上到下四个灯管平摆放的方法,终一种是“U”型的摆放方法,其实是两灯变相发生的两根灯管
模组,是自动识别范畴对一维条码扫描模组和二维条码扫描模组的简称。模组是进行二次开发的要害零件之一,具有完好独立的扫描功能,能够嵌入到手机,电脑,打印机,流水线等各行各业的设备中。本实验通过 PC 串口调试终端输入 AT 指令控制 NB 模组入网注册与数据上报,掌握 AT 指令与 NB 入网流程,同时基于 LiteOS *** 作系统实现通过 AT 指令控制 NB 模组入网及数据上报。步骤 1 通过 PC 串口调试终端控制 NB 模组入网注册与数据上报
根据实验二步骤一的介绍,将 SIM 卡插入 NB-IoT 通信模组卡槽中;并将 NB-IoT 模组与开发板主板上的通信扩展板对接引脚对接;同时将 AT 指令输入源的切换开关切换至 AT-PC;最后将开发板通过 USB 线接到 PC 机上;打开 LiteOS Studio,导入实验二的工程文件,在 LiteOS Studio 主界面下的控制台界面,选择“串口终端”,在串口终端界面下选择相应端口(相应端口可通过 PC 机的“计算机”->“管理”->“设备管理器”->“端口”中可以查看),设置波特率为 9600,校验位None,数据位 8,停止位 1,流控 None,点击配置栏最左边图标“切换到非 shell”,并打开终端;
在发送区界面输入“AT+NRB”,点击“发送”,重启 NB 模组(注:发送 AT 指令后,需发送新行模组才能正确接收指令,即输入完 AT 指令后需回车另一起行再点击发送);
在接收区可查看模组返回的信息;
在发送区界面输入“AT+CGSN=1”,点击“发送”,获取 NB 模组的 IMEI 号,该 IMEI 信息同时也可在 NB 模组标刻的信息上查到;
根据 NB 模组的 IMEI 号,在平台上注册设备。在 OceanConnect 平台“产品”下的“设备管理”界面,点击“新增真实设备”;
选择实验三中开发的 Profile 文件;
自定义设备名称,并根据获取的 IMEI 号输入设备标识,选择设备注册方式“不加密”,点击“确定”;
OceanConnect 平台“设备管理”界面可查看到注册的设备(此时还处于离线状态);
根据平台提供的对接信息,在 LiteOS Studio 串口终端发送区界面输入
“AT+NCDP=49485232,5683”,设置 NB 模组对接的平台 ip 及端口信息(模组返回OK,即设置成功)
在发送区界面输入“AT+NRB”,重新重启 NB 模组,确保对接平台 ip 设置生效;
在发送区界面输入“AT+CFUN”,查询协议栈功能是否开启(返回值为 CFUN:1 表示开启返回值为 CFUN:0 表示关闭。如返回 0 则需要输入”AT+CFUN=1”开启);
在发送区界面输入“AT+CGATT”,查询 NB-IoT 模组网络附着状态(如果返回值为CGATT:0,表示网络未附着;返回值为 CGATT:1,表示网络附着。如返回 0 则需要输入“AT+CGATT=1”进行网络附着);
在发送区界面输入“AT+NMGS=3,000123”,发送模拟数据给 IoT 平台(返回 OK 即为发送成功);
在 OceanConnect 平台“产品”下的“设备管理”界面,可以查看到之前注册的设备处于在线状态;
选择该设备,点击“历史数据”,可查看到设备的历史数据信息。wifi开发模块主要看你怎么开发呗,如果你想开发内部的程序,那你差不多瞎折腾了,如果你想开发自己物联网的应用,比我,手机控制继电器,电脑wifi控制继电器, 远程采集温湿度的话,你有51的基础就可以了,我以前也没有接触过wifi模块一块的东西,后面由于公司要做相关的wifi项目,用了零度创意的51单片机wifi开发板>是5G工业模组,从某种程度来说,相当于手机里的Soc。 我们可能比较熟悉的是手机里的Soc,现在比较常见的比如华为的麒麟系列Soc、高通的骁龙系列的Soc。Soc是当前智能手机的核心,各个手机厂家的手机,则是在Soc上进一步开发的产品。 麒麟系列Soc 而这个5G工业模组,则是给一些涉及5G行业应用所需要的物联网设备商使用的一种核心原件,哪些企业可以在5G工业模组的基础上,进一步开发出来自己的产品。对于大多数物联网从业者来说,有两样东西是避免不了的,一个是单片机,一个是移动通信模块。现在主流的通信模块都以4G模组和NB-IOT模组为主(由于运营商正在对2G进行退网,在新产品上继续使用2G模组已经是个不明智的决定了)。无论是曾经的2G模组还是现在主流的4G和NB-IOT模组,都采用了AT指令的方式与外部控制器进行通信,AT指令因此成为物联网从业者必须要掌握的知识。
4G模组举例
AT是Attention的缩写,最早是贺氏公司(Hayes)为了控制调制解调器而发明的协议。后来随着网络带宽的升级,速度很低的拨号调制解调器基本退出一般使用市场,但是 AT 命令保留了下来,并且逐渐被标准化。现在的移动通信模组(2G,4G,NB-IOT)皆采用AT指令作为其控制协议,AT 指令已经成为通信模组产品开发中的实际标准。
某4G模块应用示意图
AT指令只是AT客户端(如MCU)和AT服务器(如移动通信模组)之间的软件接口,硬件上基本都采用串口作为接口。有一点需要注意,很多模块的串口电平采用的是18V,而大多数MCU的IO口电平是33V或5V,所以在硬件连接上需要依据具体情况考虑进行电平转换。
AT指令工作示意图
AT指令的大部分使用场景是这样:MCU主动发送AT指令给模组,然后等待模组返回数据,MCU再根据返回的数据做对应 *** 作。每个AT指令都有一个超时时间,如果MCU发送出AT指令后在超时时间内没有收到返回的数据则需要重试。AT指令中还有一种数据被成为URC数据,URC的全称是Unsolicited Result Code,翻译成中文就是“不请自来的结果码”。顾名思义,它不是模块对MCU所发送AT指令的返回,而是模块主动上报的数据。比如模块收到TCP数据包,或者模块的网络状态发生改变,都会通过URC数据主动告知MCU。
下面介绍下AT指令的格式。AT指令是基于字符串的通信协议,一般 AT 命令由三个部分组成,分别是:前缀、主体和结束符。其中前缀由字符“AT”构成;主体由命令、参数和可能用到的数据组成,结束符一般为 <CR><LF> (即回车换行,对应于ASCII码中的“\r\n”)。AT指令可以分为以下几种(<x>代表命令):
上表中省略了结束符,在实际使用中,将<x>替换为要用的命令,并且整个命令需要以<CR><LF>结尾。如何知道模块都支持哪些AT指令呢?关于具体的AT指令,其实不用刻意去记忆,因为每个模块都会有配套的AT指令集手册,要用的时候再去查询手册就行了。
AT指令应用举例(以下指令皆省略了回车换行):
MCU发送:AT
模组返回:OK
命令说明:可以根据是否有OK返回判断模块是否可用。
MCU发送:AT+CGSN
模组返回:<IMEI>
OK
命令说明:用于查询模组的IMEI。
MCU发送:AT+CGACT=<state>,<cid>
模组返回:OK
命令说明:用于设置模块PDP上下文激活状态。
MCU发送:AT+CGACT?
模组返回:+CGACT: <cid>,<state>
OK
命令说明:用于查询模块PDP上下文激活状态。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)