打开主菜单

谷雨文档中心 β

更改

NB200软件设计手册

添加2,397字节2019年2月17日 (日) 20:34
连接TCP服务器
</syntaxhighlight>指令格式:AT+NSOCO=<socket-id>,<remote_addr>,<remote_port> {| class="wikitable"!参数!说明|-|<socket-id>|刚刚创建的Socket ID,后续通信需要携带此ID,需要记录。例如上述命令返回的socket Id为1|-|<remote_addr>,<remote_port>|TCP服务器地址和端口,例如我们的测试服务器:<code>115.29.240.46:9001</code> |}
=== TCP数据收发 ===
向TCP服务器发送数据,例如字符串123<syntaxhighlight lang="bash">
#连接TCP服务器
AT+NSOSD=1,3,313233
 
#模块返回
1,3
OK
 
 
</syntaxhighlight>指令格式:AT+NSOSD=<socket-id>,<length>,<nowiki><data></nowiki>
{| class="wikitable"
!参数
!说明
|-
|<socket-id>
|socket通信id
|-
|<length>,<nowiki><data></nowiki>
|待发送数据和数据长度,data格式为16进制,例如发送字符串123,则length是3,data是313233
|}
 
数据发成成功后,大约3秒后收到测试服务下发的数据。<syntaxhighlight lang="bash">
#模块返回
+NSONMI:1,13
</syntaxhighlight>命令格式为:<code>+NSONMI:<socket-id>,<length></code>
{| class="wikitable"
!参数
!说明
|-
|<socket-id>
|socket通信编号
|-
|<length>
|已收到的数据长度
例如返回:0,13,则表示,Socket 0通道收到了13个字节数据。此刻可以调用读指令,将数据读出来。
|}此时,我们需要把已模块已收到的数据读出来。
 
<syntaxhighlight lang="bash">
#将已缓存的数据读出来
AT+NSORF=1,13
#模块返回
1,115.29.240.46,9001,13,696F7478782E7564703A313233,0
</syntaxhighlight>读指令格式为:<code>AT+NSORF=<socket-id>,<req_length></code>
{| class="wikitable"
!参数
!说明
|-
|<socket-id>
|socket通信编号
|-
|<req_length>
|要读取的数据长度,当req_length大于+NSONMI指令返回的长度时,返回+NSONMI的实际长度。若req_length小于+NSONMI指令返回的长度时,将只返回req_length长度的数据。       
|}
 
模块返回的数据格式为:<code><socket-id>,<remote_addr>,<remote_port>,<length>,<nowiki><data>,<remaining_length></nowiki></code>
{| class="wikitable"
!参数
!说明
|-
|<socket-id>
|socket通信编号
|-
|<ip_addr>,<port>
|发送方的服务器ip地址和端口号。例如我们的UDP测试服务器:<code>115.29.240.46:6001</code>
|-
|<length>,<nowiki><data></nowiki>
|模块收到的数据长度和数据。例如:<code>696F7478782E7564703A313233</code>,对应字符串为:<code>iotxx.udp:123</code>
|-
|<remaining_length>
|剩余待读数据长度。
|}
==使用CoAP协议通信==
2,367
个编辑