最近因為產學合作專案的需求, 正在摸NB-IoT, 所以上網買了一個這玩意 :
https://www.dfrobot.com/product-1701.html
然後辦了一張中華電信的NB-IoT SIM Card, 透過Arduino Uno來寫程式試試. 不過...似乎並不是很順利, 一直卡在沒辦法Attach service :
#
include
<Wire.h>
#include <DFRobot_SIM7000.h>
#
define
PIN_TX 7
#define PIN_RX 8
SoftwareSerial mySerial(PIN_RX,PIN_TX);
DFRobot_SIM7000 sim7000;
static char buff[350];
void setup(){
int signalStrength,dataNum;
Serial.begin(115200);
mySerial.begin(19200);
sim7000.begin(mySerial);
sim7000.turnOFF();
delay(5000);
Serial.println(F("Turn ON SIM7000......"));
if(sim7000.turnON()){ //Turn ON SIM7000
Serial.println(F("Turn ON !"));
}
Serial.println(F("Set baud rate......"));
if(sim7000.setBaudRate(19200)){ //Set baud rate from 115200 to 19200
Serial.println(F("Set baud rate:19200"));
}else{
Serial.println(F("Faile to set baud rate"));
while(1);
}
Serial.println(F("Check SIM card......"));
if(sim7000.checkSIMStatus()){ //Check SIM card
Serial.println(F("SIM card READY"));
}else{
Serial.println(F("SIM card ERROR"));
while(1);
}
delay(500);
Serial.println(F("Set net mod......"));
if(sim7000.setNetMode(NB)){ //Set net mod NB-IOT ,Please make sure your SIM card is NB-IOT card or you should choose GPRS mode
Serial.println(F("Set NB-IOT mode"));
}else{
Serial.println(F("Fail to set mode"));
}
//mySerial.print(F("AT\r\n")); delay(500);
//mySerial.print(F("AT+CNBP=0000000000000080\r\n")); delay(500);
Serial.println(F("Get signal quality......"));
delay(500);
signalStrength=sim7000.checkSignalQuality(); //Check signal quality from (0-30)
Serial.print(F("signalStrength ="));
Serial.println(signalStrength);
delay(500);
Serial.println(F("Attaching service......"));
if(sim7000.attacthService()){ //Open the connection
Serial.println(F("Attach service"));
}else{
Serial.println(F("Fail to Attach service"));
while(1);
}
delay(200);
Serial.println(F("Connecting......"));
if(sim7000.openNetwork(TCP,"
www.taobao.com
",80)){ //Start Up TCP or UDP Connection
Serial.println(F("Connect OK"));
}else{
Serial.println(F("Fail to connect"));
while(1);
}
sim7000.send("HEAD/HTTP/1.1\r\nHost:
www.taobao.com
\r\nConnection:keep-alive\r\n\r\n"); //Send Data Through TCP or UDP Connection
dataNum=sim7000.recv(buff,350,0); //Receive data
Serial.print(F("dataNum="));
Serial.println(dataNum);
Serial.println(buff);
delay(500);
if(sim7000.closeNetwork()){ //End the connection
Serial.println(F("Close connection"));
}else{
Serial.println(F("Fail to close connection"));
}
delay(2000);
sim7000.turnOFF(); //Turn OFF SIM7000
}
void loop() {
delay(1000);
}
這SIM-7000C莫非是有甚麼微妙? 不曉得個位大大用過沒
翻譯年糕
曾希哲
2019-08-06 18:27:39
賴建宏
2019-08-06 18:28:42
曾希哲
2019-08-06 18:35:47
Neo Jou
2019-08-06 19:51:54
Uart RX mySerial 有收到sim7000的訊息嗎?
賴建宏
2019-08-06 20:11:12
賴建宏
2019-08-06 20:13:25
Selay Yang
2019-08-06 22:58:07
廖偉成
2019-08-07 00:26:21
黃繼德
2019-08-07 01:34:52
黃繼德
2019-08-07 01:39:44
黃繼德
2019-08-07 01:40:55
CMNET是大陸用的,理所當然台灣一定連不上。
黃繼德
2019-08-07 01:45:57
黃繼德
2019-08-07 01:52:19
可惜Sigfox台灣沒在運作了,不然感測型態的物聯網用sigfox可以做到非常省電->然而授權金未免太貴。
黃繼德
2019-08-07 01:56:30
Sigfox覆蓋率很高的法國,啟動訂位服務的話,一個裝置每天發100筆資料一年約400NT。離台灣最近的香港,同樣條件一年要3000NT以上。