连接谷雨平台/zh

来自Microduino Wikipedia
跳转至: 导航搜索

连接谷雨平台示例


在下面的示例中,使用Core+核心控制NBIOT模块连接谷雨云平台。

所需硬件


电路搭建

将Battery+、Core+、NBIOT叠在一起。支持NBIOT的SIM卡插入卡槽

SIM卡插入卡槽


代码

#include <SoftwareSerial.h>
SoftwareSerial mySerial(4, 5); // RX, TX
void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
  // set the data rate for the SoftwareSerial port
  mySerial.begin(9600);
}

void loop() { // run over and over
  if (mySerial.available()) {
    Serial.write(mySerial.read());
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }
}

1:将代码复制到Microduino IDE中,程序下载成功后,打开串口,下方选择NL和CR。

NBIOT SERIAL CONFIG.jpg

2:打开网页,进入http://cloud.iotxx.com/
3:点击“进入控制台”,首次登录没有账号时点击快速注册。依次数用户名、邮箱、密码、密码确认、验证码后点击注册。
4:完成注册后回到主页,再次点击“进入控制台”,之后从左侧列表中找到谷雨平台,点击展开列表,再次点击“新建设备”
5:此时进入创建设备界面,共有四项内容树要输入,IMEI码(即NBIOT模块硬件码),通信密码,设备名称和过期时间(在这段时间长度内如果没有通信,云平台设备则进入离线模式,需要重新触发)。

NBIOT CreateDevice.jpg

6:此时回到Microduino IDE的串口,根据“谷雨NB10x使用说明书-V1.3”第七节的内容开始使用AT指令调试模块。
7:在串口输入AT+CFUN?
8:成功的话会观察到串口返回。上方的Neul OK不一定可以观察到,因为在叠好模块上电之后,点开串口之前这些信息已经返回了,之后再点开串口很可能看不到。如果这一步无法返回内容则重新确认SIM卡是否插好,模块是否叠牢,串口是否成功启动。之后重试这一步。

NBIOT SERIAL CFUN.jpg

9:在串口输入AT+CIMI并等待串口返回一串数字,该数字为SIM卡的IMSI号
在串口输入AT+CGSN=1并等待串口返回一串数字,该数字为硬件的IMEI号,记住IMEI号,在网页注册设备时会用到。之后暂时回到网页。 10:设备编号一栏填写IMEI号,通信密码自行定义(要求六位),设备名称可按自己喜好填写(推荐使用英文字符),过期时间可任意填写,文中为120即两分钟,之后点击提交。之后就可以在http://cloud.iotxx.com/dashboard看到本地设备数为1,之后点击查看设备进入。会看到自己建立的设备,在设备一栏最右侧的操作下面,点击如图左侧所示的齿轮图标,进入操作页面。

NBIOT GUYU CONFIG.jpg

11:观察页面,左侧为交互窗口,蓝底色为本地模块上发数据,深底色为网页将要下发至北帝模块的数据。右侧在线状态现在为离线,下方注册包文本框中的内容需要注意,下面的步骤中会用到。之后回到Microduino IDE串口。

NBIOT GUYU WORKPAGE.jpg

12:在串口输入AT+CSQ查询信号强度,输入AT+CGATT?查询是否激活,AT+CEREG?查询是否注册到网络。如图所示,表示RSSI信号强度为30,CGATT:1表示已激活,CEREG:0M,1表示注册到网络。

NBIOT CSQCGATT.jpg

13:输入AT+NCONFIG=AUTOCONNECT,TRUE表示模块自动接入到网络,成功返回OK,失败返回ERROR。之后使用AT+NPING=115.29.240.46去测试与云端连接是否通畅。返回+NPING:115.29.240.46,51,949最后一个参数为数据包生存时间。
14:做好以上所有准备后我们就可以开始正式准备与云平台通信了。首先要按照协议来发送AT+NSOCR=DGRAM,17,4587,1其中DGRAM与17代表生成socket与使用UDP协议,4587为本地模块端口号。这条指令创建了第一个socket,编号为0。NBIoT模块支持生成7个socket。
15:回到网页界面,观察右侧“注册包”对话框中的内容ep=xxx&pw=xxx,通信协议中需要发送如下内容至云端,激活设备。由于数据发送至接受16进制,所以需要使用网页上的工具,将内容转换为16进制。复制注册包对话框中的内容至左侧发送对话框,并点击选框“按十六进制发送”,之后去掉两两之间的空格,复制这句话至本地,并保存下来。
AT+NSOST=0,115.29.240.46,6000,28,刚才复制的内容
使用如上格式,将刚才复制的内容接在最后,表示发送注册包信息至云端,其中6000为端口号,28表示有28个字符。

NBIOT HEXSHOW.jpg

16:此时网页端会弹出“上线通知”。同时会在Microduino IDE处接收到一组信息+NSONMI:0,10 意味着有10个字节数据返回。此时要使用
AT+NSORF=0,10来接收这组数据。
如果此时出现乱码,重新拿起并叠上NBIoT模块并使用
AT+NCONFIG=AUTOCONNECT,TRUE
AT+NPING=115.29.240.46
AT+NSOCR=DGRAM,17,4587,1
AT+NSOST=0,115.29.240.46,6000,28,65703d3836333730333033373633353934382670773d313233343536
四条指令重新回到这一步。此时可以观察到“+NSONMI:0,10”或“+NSONMI:0,14”
对应使用AT+NSORF=0,10或AT+NSORF=0,14来接收数据。第二个参数为接收字长。
之后就可以开始任意通信了。格式为“AT+NSOST=0,115.29.240.46,6000,数据包长度,十六进制内容”。数据包长度为所要发送数据的长度,如Microduino为10,十六进制内容依旧使用网页自带的16进制转换功能,并去掉空格加在格式最后。

NBIOT GUYU ONLINE.jpg

17:例如:AT+NSOST=0,115.29.240.46,6000,11,68656c6c6f20776f726c64 发送hello world

NBIOT GUYU COMMU.jpg

18:在网页端对话框输入microduino并按下发送,此时Microduino IDE可以接收到一组信息
+NSONMI:0,10,使用AT+NSORF=0,10指令接收。
19:此时收到一组数据,其中第五个变量为数据内容,同样也是十六进制。在网页端先选中“按16进制发送”之后将数据复制进去,再取消选中,可以看到原数据内容。
0,115.29.240.46,6000,10,5B696F7478783A6F6B5D,0
20:至此NB-IoT与谷雨云端数据收发已经实现。

返回NBIOT库语法手册