15 static SoftwareSerial mySerial(10, 11);
21 mySerial.setTimeout(1000);
24 len=mySerial.readBytes(buffer,100);
37 len=mySerial.readBytesUntil(
'\n', buffer, 100);
38 for(i=0; i<len; i++) if((buffer[i] >=
'0') && (buffer[i] <=
'9')) imei[j++]=buffer[i];
39 if(strstr(buffer,
"OK") != NULL)
52 mySerial.readBytesUntil(
'\n', buffer, 100);
53 if(strstr(buffer,
"OK") != NULL)
return;
75 NBduino::NBduino(
const String mqttServer,
const int mqttPort,
const String mqttUser,
const String mqttPassword)
77 _mqttServer=mqttServer;
80 _mqttPassword=mqttPassword;
94 NBduino::NBduino(
const String mqttServer,
const int mqttPort,
const String mqttUser,
const String mqttPassword,
unsigned long timeToConn)
96 _mqttServer=mqttServer;
99 _mqttPassword=mqttPassword;
100 _timeToConn=timeToConn;
111 mySerial.print(
"AT*MCGDEFCONT=");
112 mySerial.print(
"\"");
113 mySerial.print(
"IP");
114 mySerial.print(
"\"");
116 mySerial.print(
"\"");
118 mySerial.println(
"\"");
120 mySerial.print(
"AT+CGDCONT=1,");
121 mySerial.print(
"\"");
122 mySerial.print(
"IP");
123 mySerial.print(
"\"");
125 mySerial.print(
"\"");
127 mySerial.print(
"\"");
129 mySerial.print(
"\"");
130 mySerial.print(
"\"");
131 mySerial.println(
",0,0,0,,,,,,0,,0");
133 mySerial.println(
"AT+CEREG=5");
135 mySerial.println(
"AT+COPS=?");
146 mySerial.begin(4800);
148 mySerial.println(
"AT+CPIN?");
151 mySerial.println(
"AT+CSQ");
154 mySerial.println(
"AT+CGREG?");
157 mySerial.println(
"AT+CGACT?");
160 mySerial.println(
"AT+COPS?");
163 mySerial.println(
"AT+CGCONTRDP");
174 digitalWrite(_reset, LOW);
175 digitalWrite(_pwrkey, HIGH);
177 digitalWrite(_pwrkey, LOW);
187 digitalWrite(_pwrkey, HIGH);
189 digitalWrite(_pwrkey, LOW);
202 sprintf(command,
"AT+CMQPUB=0,\"%s\",1,0,0,%d,\"%s\"",topic.c_str(), value.length(), value.c_str());
204 mySerial.println(command);
217 sprintf(command,
"AT+CMQNEW=\"%s\",\"%d\",12000,100",_mqttServer.c_str(),_mqttPort);
219 mySerial.println(command);
221 sprintf(command,
"AT+CMQCON=0,3,\"%s\",600,0,0,\"%s\",\"%s\"", clientname.c_str(), _mqttUser.c_str(), _mqttPassword.c_str());
223 mySerial.println(command);
226 mySerial.println(
"AT+CREVHEX=0");
228 digitalWrite(_led, HIGH);
239 mySerial.println(
"AT+CMQDISCON=0");
241 digitalWrite(_led, LOW);
252 unsigned int messageSize;
259 mySerial.println(
"AT+GSN");
261 String exString = aMessage;
contains the NBduino class definition and the include file that the class implementation needs...
publish(const String topic, const String value)
connect(const String clientname)