stm32与sim900之GPRS通信(电脑串口与SIM900通信)
注意:
1 sim900在進行GPRS通信的時候最大電流可以到90MA.瞬間電流SIM900模塊可能高達2A@4V,即輸入端電流瞬間值可能高達740mA@12V,故給模塊選擇電源的時候,要能滿足瞬間電流峰值。
以上這段話摘錄自正點原子的SIM900用戶手冊,也就是說你在用SIM900這個模塊進行GPRS數據傳輸時,要保證能給這個模塊提供2A左右的電流,在實際的測試當中,如果提供的電流過小,會造成GPRS通信偶爾幾次通信成功。
2 stm32向SIM900通信的時候,發送的每個AT指令之間是要有時間間隔的,可以先通過電腦串口與SIM900進行通信有一個簡單的認識,然后再開始寫程序,調試。
3 注意SIM卡安裝的方向不要裝反
一 模塊實物圖
二 通過電腦串口調試SIM900
1 SIM900上電后一般會有指示燈,其中一個指示燈常亮,表示電源供電正常,另一個指示燈如果保持亮1秒,熄滅2秒,則表示注冊到網絡
2 發送指令
?2.1 發送指令之前最好先發送一個"AT",用于SIM900進行串口波特率的同步。
? ? ? ?注意AT指令不區分大小寫,發送時應勾選發送新行。
? 2.2發送相關的設置指令
AT+CGCLASS="B" //設置移動臺類別為B,即模塊支持包交換和電路交換模式,但不能同時支持AT+CGDCONT=1,"IP","CMNT" //設置PDP上下文標志1,采用互聯網協議(IP)接入點為“CMNET”
AT+CGATT=1 //用于設置附著和分離GPRS業務
AT+CIPCSGP=1,"CMNET" //設置為GPRS連接,接入點為“CMNET”
注意:1 在輸入AT指令時,所有的符號都是英文的,中文的會導致錯誤,還有在輸入的時候,要看清AT指令,不要輸錯。
? ? ? ? ? 2 在SIM900返回錯誤的時候先檢查指令有沒有輸入錯誤,確保指令沒有出錯的情況下就要檢查為什么AT指令會出錯了,這里建議看一下SIM900的指令手冊,舉個例子
? ? ? ? ? ? ??
? ? 在當時我第一次測試的時候,這個總是返回錯誤,后來才發現原來我的手機卡欠費了,根本不支持GPRS業務。所以說出了錯誤不要干著急,要學會分析錯誤的原因。
3 花生殼的使用
? 3.1打開花生殼和網絡調試助手
輸入: ? ? ?
AT+CIPSTART="tcp","c1594751r4.iok.la","13938"?為什么是"c1594751r4.iok.la","13938",這個是和花生殼有關的。
? 注意:輸入上面的指令后先出現“OK”,要稍等一會后才會出現“CONNECT OK”(連接成功),這也就是我在開頭說的為什么一定要在程序里面加延時的原因。
? 好了,現在就可以向網絡端發送數據了。
at+cipsend //開始發送數據指令
?
? 這次待發送的數據是“hello word",可以看到網絡調試助手那里并沒有收到數據,那是因為還要發送十六進制的"1A"
? 注意:要勾選HEX發送
注意事項:1 用花生殼是因為我們學校是內網,關于花生殼的時候我會接著寫下來
? ? ? ? ? ? ? ? ?2 長期使用GPRS要注意心跳包的維持
? ? ? ? ? ? ? ? ?3 原則上講現在我們是可以通過stm32來模擬這個過程與SIM900通信了,但是實際中卻稍微有一些改動。
? ? ? ? ? ??
總結
以上是生活随笔為你收集整理的stm32与sim900之GPRS通信(电脑串口与SIM900通信)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 移动端完成样式之后出现横向滚动条(X 轴
- 下一篇: 频谱仪的更改ip_频谱分析系列:三阶交调