1、簡介
SIM800C是一款四頻GSM/GPRS模塊,爲城堡孔封裝。其性能穩定,外觀小巧,性價比高,能滿足客戶的多種需求。SIM800C工作頻率爲GSM/GPRS850/900/1800/1900MHz,可以低功耗實現語音、SMS和數據信息的傳輸。SIM800C尺寸爲17.6*15.7*2.3mm,能適用於各種緊湊型產品設計需求。
2、模塊配置表
模塊配置 |
SIM800C |
---|---|
BT (藍牙) | (需要軟件版本支持) |
FLASH | SIM800C(24Mbit) SIM800C32(32Mbit) |
GSM | 850、 900、 1800、 1900MHz |
RAM | 32Mbit |
3、模塊主要特性
特性 |
說明 |
---|---|
省電 | SLEEP模式下的耗流爲0.6毫安 (AT+CFUN=0 ) |
GPRS 連接特性 | GPRS 時隙缺省爲等級12 GPRS 時隙 class8, 10, 12 可選 GPRS 移動臺等級B |
GPRS數據特性 | GPRS 數據下行傳輸:最大 85.6 kbps GPRS 數據上行傳輸:最大 85.6 kbps 編碼格式: CS-1, CS-2, CS-3 和 CS-4 支持通常用於PPP連接的PAP(密碼驗證協議)協議 內嵌TCP/IP 協議 支持分組廣播控制信道(PBCCH) |
SIM卡接口 | 支持的SIM卡: 1.8V, 3V |
串口 | 默認支持一路標準的全功能串口 可以通過串口發送AT命令和數據 支持RTS/CTS硬件流控,並且可以通過軟件打開或者關閉流控功能 支持符合GSM 07.10協議的串口複用功能 支持從1200bps到115200bps 的自動波特率檢測功能 |
SIM應用工具包 | 支持 SAT class 3, GSM 11.14 Release 99 |
4、常用功能介紹:
4.1、GSM短信收發
- 1、短信接收發功能指令:
“AT+CMGF=1\r” //配置短信形式
“AT+CMGL=\”ALL\”\r” //讀取所有短信
“AT+CSCS=\”GSM\”\r” //進行CSCS設置
“AT+CMGS=” //後面添加信息中心短信號碼
“AT+CMGD=” //進行短信刪除
- 2、AT+CMGF=mode:
mode:
0 PDU模式
1 TXT文本模式(經常用的) - 3、AT+CMGL=”ALL”
標識列出所有的信息,包括已讀和未讀的。或者是
AT+CMGL=“REC UNREAD”
會列舉出所有未讀的消息
AT+CMGL=“REC READ”
會列舉出已讀的消息。
後面列舉的形式:包括短信狀態(已讀 未讀),短信Num,消息發送方號碼,消息發送時間,最後面就是緊跟着信息的內容了。
- 4、AT+CSCS=”GSM”
設置信息服務發送模塊,其實這個可以不設置也可以發送,默認的就是這個模式。
- 5、AT+CMGS= 號碼
這個命令執行完之後,就像其他傳輸一樣會出現一個‘>’符號,後面就是你要寫入的信息內容。注意這個結束有點奇怪。要在短信內容後面添加0x1A 0x1D纔可以結束。對應的是Ctrl+Z的按鍵的ASCII碼。如果不加的話,短信是永遠不會結束的。
- 6、AT+CMGD=NUM
NUM:就是短信的序列號,當短消息發過來,其短信的序列號就固定了,短信息對應的序列號不會隨着你刪除一條短信,其他短信息序列號隨着改動。
- 7、AT+CMGR=NUM
NUM:同上,就是短信息的序列號,固定讀取這個序列號的短信內容。
以上的用法利用好了,足矣做一個短信收發的小功能了。前提要把GSM基本的功能配齊全,例如AT+CFUN=1,AT+CREG=1檢測GSM入網成功纔可以,其他標準用法就不一一說了,看看AT指令集應該都會用了。
4.2、GPRS數據傳輸
這個2G的數據流量功能,與GSM網絡還不一樣,大家千萬不要認爲這2個東西走的是一個網絡通道。
GSM是全球移動通訊系統(Global System for Mobile Communications)的簡稱;GPRS是通用分組無線業務(General Packet Radio Service)的簡稱。
GPRS是在GSM基礎上發展起來的一種分組交換的數據承載和傳輸方式,與原有的GSM比較,GPRS在數據業務的承載和支持上具有非常明顯的優勢:GPRS可以更有效的利用無線網絡信道資源,特別適合突發性、頻繁的小流量數據傳輸;GPRS支持的數據傳輸的速率更高,理論峯值達115kbps;GPRS計費方式更加靈活,可以支持按數據流量來進行計費;GPRS還能支持用戶在進行數據傳輸的同時進行語音通話等等。
- 1、相關命令
“AT+CGATT=1\r”
“AT+CGATT?\r”
- 2、AT+CGATT=NUM
NUM:0表示與當前GPRS網絡分離,1表示要附着現有檢測到的GPRS網絡。
- 3、AT+CGATT?
表示檢測當前的GPRS網絡附着狀態,成功返回1 失敗返回0
當然以上的成功條件是sim卡已經插入,並且射頻天線正常,sim卡開通了數據流量,否則會無法附着GPRS網絡。
當然上面的一步就是爲了下面的TCP/IP服務做準備的。
4.3、TCP/IP協議數據傳輸
模塊已經內置了TCP/IP協議棧,很強大。
AT+CSTT=\”” //設置APN賬號,用戶名,密碼(後面如果說sim卡沒有設置用戶和密碼就不需要填寫)
“AT+CIICR\r” //喚醒無線連接 進行連接用GPRS或者CSD
“AT+CIFSR\r” //獲取聯網後 本地分配的IP地址
“AT+SAPBR=3,1,\”Contype\”,\”GPRS\”\r”//基於IP的應用程序的承載設置
“AT+SAPBR=3,1,\”APN\”,\”” //設置網絡承載的APN服務
“AT+CIPSTART=\”TCP\”,\”” //進行網絡傳輸服務的選擇
“AT+CIPSEND=length” //進行數據的傳輸寫入
“AT+CIPCLOSE=1\r ” //關閉TCP/IP連接通道
以上順序不要有顛倒,否則其中配置會報錯。
- 1、AT+CSTT=
這個是來配置sim卡運營商的APN賬號,用戶名和密碼
如果用戶名和密碼沒有設置可以不用寫,只寫一個APN就可以
- 2、AT+CIICR
這個是開啓無線射頻模塊的指令。
- 3、AT+CIFSR
這個是在進行入網後,根據運營商網絡獲取基站分配給終端的IP地址。
- 4、AT+SAPBR=3,1,”Contype”,”GPRS”
設置無線連接數據的承載形式,爲GPRS,也可以設置成CSD,但一般設置都是GPRS.
- 5、AT+SAPBR=3,1,”APN”,“運營商的APN名稱”
這一步很關鍵,這是你的數據最終是由哪家運營商接入的公網設置。例如:移動2G:CMMTM/CMNET/CMIOT等,聯通2G:UNINET UNWAP等,沃達豐網絡2G例如:internet.gdsp/ppinternetd.gdsp/spe.inetd3.gdsp.當然這個沃達豐是國際運營商,世界好多國家也都有支持和合作,再進行 國際業務開拓時候,這個APN是一定要修改的,要根據使用的沃達豐的sim卡類型來修改。APN有沃達豐人員提供。
- 6、”AT+CIPSTART=”TCP”,”IP地址”
這個就是描述了我們終端模塊使用的是什麼協議,還有要連接的服務端的IP地址,也可以是域名。裏面繼承了DNS服務,可以轉換的。
支持填寫UDP/TCP.
- 7、AT+CIPSEND=length
這個命令是描述你要本次發向服務器的數據量多少,以字節爲單位。
等這條命令執行完成之後,會出現‘>’這個符號,等你輸入的字符數據長度等於你上一步要發送的數據長度時候,他會自動進行發送,不用加任何的結束標誌符,不想短信一樣還要加0x1A 0x1D這樣的結束符。
- 8、AT+CIPCLOSE=1
數據發送成功之後,模塊會返回senk ok標識。
這時候如果沒有更多的數據發送這時候可以使用上面的指令進行通道斷開連接。
以上步驟最好不要有順序顛倒,按照配置一步步來最後可以實現與服務器端的收發功能。
4.4、LBS信息的定位
- 1、AT+CLBSCFG=0,3 獲取基站信息
- 2、 AT+CLBS=1,1 獲取經緯度信息
- 文檔鏈接地址https://download.csdn.net/download/caofengtao1314/12530043
4.5、串口發送AT指令
- AT+HTTPINIT ————————–>初始化HTTP 服務
- AT+HTTPTERM ————————->結束HTTP 服務
- AT+HTTPPARA ————————->設置HTTP 參數值
- AT+HTTPDATA ————————->HTTP 寫數據
- AT+HTTPACTION ———————->HTTP 方式激活
- AT+HTTPREAD ————————->查詢HTTP 服務響應
- AT+HTTPSCONT ———————–>保存HTTP 應用上下文
- AT+HTTPSTATUS ———————->讀取HTTP 狀態
- 文檔鏈接地址https://download.csdn.net/download/caofengtao1314/12530046
5、實驗一:驗證SIM800是否將通過GET命令獲取的http數據放在自己的內存中
使用格西烽火串口助手 發送AT指令的順 格西烽火下載鏈接http://www.geshe.com/zh-cn/products/gbeacon
得到的日誌應答
[2020-06-12 18:11:34.260 T]AT
[2020-06-12 18:11:34.291 R]
OK
[2020-06-12 18:11:35.274 T]ATE0
[2020-06-12 18:11:35.305 R]
OK
[2020-06-12 18:11:36.288 T]AT+CPIN?
[2020-06-12 18:11:36.319 R]
+CPIN: READY
OK
[2020-06-12 18:11:37.302 T]AT+CSQ
[2020-06-12 18:11:37.333 R]
+CSQ: 20,0
OK
[2020-06-12 18:11:38.316 T]AT+CREG?
[2020-06-12 18:11:38.363 R]
+CREG: 0,1
OK
[2020-06-12 18:11:39.330 T]AT+CGATT?
[2020-06-12 18:11:39.361 R]
+CGATT: 1
OK
[2020-06-12 18:11:40.344 T]AT+CIPSHUT
[2020-06-12 18:11:40.375 R]
SHUT OK
[2020-06-12 18:11:41.358 T]AT+SAPBR=0,1
[2020-06-12 18:11:42.123 R]
OK
[2020-06-12 18:11:42.372 T]AT+SAPBR=3,1,"CONTYPE","GPRS"
[2020-06-12 18:11:42.404 R]
OK
[2020-06-12 18:11:43.386 T]AT+SAPBR=1,1
[2020-06-12 18:11:43.979 R]
OK
[2020-06-12 18:11:44.400 T]AT+SAPBR=2,1
[2020-06-12 18:11:44.432 R]
+SAPBR: 1,1,"10.23.253.176"
OK
[2020-06-12 18:11:45.414 T]AT+HTTPTERM
[2020-06-12 18:11:45.446 R]
OK
[2020-06-12 18:11:46.428 T]AT+HTTPINIT
[2020-06-12 18:11:46.475 R]
OK
[2020-06-12 18:11:47.442 T]AT+HTTPPARA="CID",1
[2020-06-12 18:11:47.474 R]
OK
[2020-06-12 18:11:48.456 T]AT+HTTPPARA="URL","http://114.115.223.53:8080/star_link/upgrade/get_upgrade_file?path=upgrade/liclS100/1.1.4/upgrade.bin"
[2020-06-12 18:11:48.503 R]
OK
[2020-06-12 18:11:48.957 T]AT+HTTPACTION=0
[2020-06-12 18:11:49.003 R]
OK
[2020-06-12 18:12:38.878 R]
+HTTPACTION: 0,200,265620
等待五分鐘以後,關閉當前串口助手打開另個一串口助手
實驗一總結:
- 可以直接從模塊中讀取數據,說明數據確實是先存儲在模組中的。
- 從模塊搬移開始時間[2020-06-12 18:16:31.268]# SEND HEX>
從模塊搬移結束時間[2020-06-12 18:16:54.361]# RECV ASCII>
花費:23.093秒
6、實驗二:驗證SIM800通過http下載264KB的數據,需要的時間
使用格西烽火串口助手發送AT指令 格西烽火下載鏈接http://www.geshe.com/zh-cn/products/gbeacon
[2020-06-12 19:24:41.839 T]AT
[2020-06-12 19:24:41.874 R]
OK
[2020-06-12 19:24:42.839 T]ATE0
[2020-06-12 19:24:42.864 R]
OK
[2020-06-12 19:24:43.839 T]AT+CPIN?
[2020-06-12 19:24:43.872 R]
+CPIN: READY
OK
[2020-06-12 19:24:44.839 T]AT+CSQ
[2020-06-12 19:24:44.865 R]
+CSQ: 21,0
OK
[2020-06-12 19:24:45.840 T]AT+CREG?
[2020-06-12 19:24:45.870 R]
+CREG: 0,1
OK
[2020-06-12 19:24:46.840 T]AT+CGATT?
[2020-06-12 19:24:46.861 R]
+CGATT: 1
OK
[2020-06-12 19:24:47.840 T]AT+CIPSHUT
[2020-06-12 19:24:47.865 R]
SHUT OK
[2020-06-12 19:24:48.839 T]AT+SAPBR=0,1
[2020-06-12 19:24:49.609 R]
OK
[2020-06-12 19:24:49.839 T]AT+SAPBR=3,1,"CONTYPE","GPRS"
[2020-06-12 19:24:49.870 R]
OK
[2020-06-12 19:24:50.840 T]AT+SAPBR=1,1
[2020-06-12 19:24:51.375 R]
OK
[2020-06-12 19:24:51.839 T]AT+SAPBR=2,1
[2020-06-12 19:24:51.867 R]
+SAPBR: 1,1,"10.92.26.140"
OK
[2020-06-12 19:24:52.839 T]AT+HTTPTERM
[2020-06-12 19:24:52.880 R]
OK
[2020-06-12 19:24:53.840 T]AT+HTTPINIT
[2020-06-12 19:24:53.870 R]
OK
[2020-06-12 19:24:54.839 T]AT+HTTPPARA="CID",1
[2020-06-12 19:24:54.864 R]
OK
[2020-06-12 19:24:55.840 T]AT+HTTPPARA="URL","http://114.115.223.53:8080/star_link/upgrade/get_upgrade_file?path=upgrade/liclS100/1.1.4/upgrade.bin"
[2020-06-12 19:24:55.880 R]
OK
[2020-06-12 19:24:56.840 T]AT+HTTPACTION=0
[2020-06-12 19:24:56.875 R]
OK
[2020-06-12 19:25:06.841 T]AT+HTTPREAD
[2020-06-12 19:25:06.873 R]
OK
[2020-06-12 19:25:16.843 T]AT+HTTPREAD
[2020-06-12 19:25:16.878 R]
OK
[2020-06-12 19:25:21.841 T]AT+HTTPREAD
[2020-06-12 19:25:21.861 R]
OK
[2020-06-12 19:25:26.842 T]AT+HTTPREAD
[2020-06-12 19:25:26.873 R]
OK
[2020-06-12 19:25:31.842 T]AT+HTTPREAD
[2020-06-12 19:25:31.867 R]
OK
[2020-06-12 19:25:36.843 T]AT+HTTPREAD
[2020-06-12 19:25:36.874 R]
OK
[2020-06-12 19:25:39.577 R]
+HTTPACTION: 0,200,265620
實驗二總結:
SIM800信號Qos質量爲21,0 通過HTTP下載264KB的升級包,需要的時間大約爲62秒誤差2秒左右
總結:
通過實驗一與試驗二,可以證明發送HTTP的GET請求以後,SIM800C模塊會先將數據下載到模塊裏面,模塊有4M字節的RAM,然後等待用戶通過HTTPREAD命令將數據從模塊中讀出