打开主菜单

谷雨文档中心 β

更改

NB260软件设计手册

添加2,363字节2019年2月15日 (五) 12:22
UDP发送和接收数据
== 使用TCP协议通信 ==
NB260(BC26)和NB101(BC95)相比,额外支持TCP协议,TCP协议和UDP很相似,但是TCP可靠性更高。TCP协议与UDP协议类似,NB模块作为TCP的客户端,连接TCP的服务端,连接成功后可以收发数据。
首先创建TCP协议Socket为了方便测试,我们在云平台上启用了一个TCP测试服务器,无论发任何数据,在5s后,会加上iotxx前缀字符串返回数据。注意,使用电信卡的用户很可能无法与我们的服务器通信。因为电信NB网络有定向访问的限制。{| class="wikitable"!接口!功能|-|TCP服务器固定IP:115.29.240.46,端口号:9001|9001端口时刻监听客户端数据,并且在收到的数据前加上iotxx前缀字符串,然后延时3s后返回给客户端。|} === 创建TCP客户端 ===模块在收发数据前,先要创建TCP客户端,指定TCP服务器的IP地址,端口号,以及设置模块本地端口。<syntaxhighlight lang="bash">#发送指令AT+QIOPEN=1,0,"TCP","115.29.240.46",9001,3000,1#模块返回OK #几秒后,若TCP客户端创建成功,会返回+QIOPEN: 0,0 </syntaxhighlight>设置命令格式如下:AT+QIOPEN=<contextID>,<connectID>,<service_type>,<IP_address>/<domain_name>,<remote_port>[,<local_port>[,<access_mode>] {| class="wikitable"!参数!说明|-|<contextID>|取值为0,固定值。|-|<connectID>|连接ID,取值范围0~4,TCP客户端创建成功后,后续数据通信或关闭TCP客户端,需要携带此ID号。习惯从0开始递增。|-|<service_type>|Socket类型,取值:"UDP"或"TCP",注意必须带上双引号。|-|<IP_address><domain_name>|远程服务器的IP地址或者域名,例如:"115.29.240.46" 或:"<nowiki>http://cloud.iotxx.com</nowiki>" ,注意必须带上双引号。|-|<remote_port>|远程服务器的端口号,根据实际情况填写,由于我们的测试端口为9001,因此此处取值为9001|-|<local_port>|模块本地端口号,取值任意,但是不能和已创建Socket所使用的本地端口相同。|-|<access_mode>|数据推送模式,取值范围如下:0:缓存模式,模块收到数据后不会串口打印出来,而是需要发送AT指令来读取。 1:直接推送,模块收到数据后,会立刻串口打印出来。无需额外的指令。|}命令响应格式为:+QIOPEN: <connectID>,<err>{| class="wikitable"!参数!说明|-|<connectID>|连接ID,取值范围0~4,TCP客户端创建完成后,串口返回的已创建连接ID。|-|<err>|错误码,常见取值如下:0:操作成功。 566:socket连接失败。可能是ip地址或者端口号错误。|}
待更新。。。
==使用LwM2M协议通信==
CoAP是一种类似HTTP的极其轻量级的应用层协议,HTTP基于TCP协议,而CoAP基于UDP协议,最小数据包仅有4个字节。非常适合低功耗物联网设备的使用。
2,367
个编辑