发布网友 发布时间:2022-04-22 05:50
共1个回答
热心网友 时间:2022-06-03 22:42
展开3全部发送UDP消息:
1、UDP 需要先建立 Socket 再发送数据,即 AT+NSOCR 命令创建 Socket 后,再用 AT+NSOST 命令发
送数据。
执行 AT+NSOCR=<type>,<protocol>,<listen port>[,<receive control>] 命令创建 Socket。
<type> Socket 类型。目前支持 DGRAM
<protocol> 标准互联网协议定义。目前支持 17
<listen port> 本地端口号,发送和接收 UDP 消息,范围是 0-65535
<receive control> 1 表示接收 UDP 消息, 0 表示忽略 UDP 信息。默认值为 1
执行 AT+NSOST=<socket>,<remote_addr>,<remote_port>,<length>,<data>命令发送 UDP 信息。
<socket> 执行 AT+NSOCR 命令返回的 Socket
<remote_addr> IPv4, 点分十进制记法表示的 IP 地址
<remote_port> 远程端口,用于接收 UDP 消息,范围是 0-65535
<length> 发送的十进制数据长度
<data> 接收的十六进制数据
从B656SP2版本开始,创建Socket时<listen port>不能设置为5683,否则报错。
发送CoAP消息
1、CoAP 不用先建立连接,设置 CDP 服务器后,可直接发送数据,前提是模块 IMEI 已在 NB-IoT 网络中注册了。
2、AT+NCDP=<ip_addr>,<port>这条命令可设置服务器的 IP 地址,支持设置*的服务器地址(前提是你部署的网络能和这个服务器连接),端口取决于服务器设置的监控端口,默认是 5683。
常见问题答疑
1、Q: BC95 低功耗运行时,是否能一直与服务器保持连接状态,服务器发送的数据是否能保证接收到?
A: BC95 处于深度睡眠模式时将与服务器断开连接,网络侧不能寻呼到设备,必须等待设备主动发起连接。
2、Q: +NSONMI:0,4 这条指令是由模块自动输出以通知 MCU,还是 MCU 主动发送查询?
A: 此指令是模块收到下行 UDP 数据上报的 URC,第一个参数表示 Socket,第二个参数表示收到的数据长度,是否自动输出可由 AT+NSOCR=DGRAM,17,4587,1 的最后一个参数控制,具体可参考 Quectel_BC95_AT_Commands_Manual
3、Q: BC95 有三种网络连接模式: Connected、 Idle 和 PSM。这三种模式的进入和退出是由BC95自己控制还是由连接设备控制?
A: BC95 由定时器自我控制,该定时器数值由网络侧设定;不论模块处于 Idle 还是 PSM 模式,连接设备总是可以激活通信功能的。