在去年年初,就已經推出v1.0.0的gprs庫,不過在這個版本上只是實現了西文簡訊收發和字串方式的gprs資料通訊,功能還相對不完善(參見我以前的博文《gprs通訊實現》)。最近公升級的版本,對以上功能進行了大幅度的公升級改進,比如支援pdu方式收發簡訊(支援中文)、彩信傳送、二進位制方式 gprs資料收發、簡訊按型別提取、簡訊刪除和簡訊事件通知等等功能。
考慮到功能比較多,我們分三篇文章來介紹最新的gprs庫的功能,這一篇我們先介紹和簡訊收發相關的內容。
庫函式中和簡訊收發相關的方法如下:
(1)設定短訊息中心位址
宣告:int setcenternum (sring centernum)
引數:centernum– 短訊息中心位址
返回:操作返回值
0 – 傳送成功
-1 - 設定失敗
說明:短訊息中心位址。聯通和移動不同地區,號碼都不同,一般情況下,不需要專門設定
(2)傳送簡訊(pdu方式)
宣告:int sendmessage (sring phone,string msg)
引數:phone – **號碼
msg – 要傳送的字串
返回:操作返回值
0 – 傳送成功
-1 – 字元長度為0或大於70個位元組
-2 – 設定短訊息格式失敗
- 3 –傳送簡訊失敗
說明:傳送簡訊。支援中文字元傳送。
(3)讀取簡訊
宣告:int receivemessage(out gsmmessage msgs,messagetype msgtype)
引數:msgs – 資訊集合,每一項都包括,簡訊傳送的**,傳送時間和內容
msgtype – 訊息型別:未讀訊息,已讀訊息,未發訊息,已發訊息,全部訊息
返回:返回指定型別的簡訊字串集合。
說明:接收簡訊。目前支援中英文簡訊接收。
(4)刪除簡訊
宣告:int deletemessage ()
引數:無
返回:操作返回值
0 – 刪除0個訊息
-1 – 設定pdu模式失敗
>0 – 刪除的短訊息個數
說明:刪除全部的短訊息。
除了方法外,還有乙個簡訊收到事件,具體宣告如下:
(1)簡訊收到通知
宣告:smsmessagereceivedeventhandler messagereceived
引數:object sender – gprs類的例項
說明:簡訊接收通知
為了便於說明庫的使用,我們設定乙個場景,來進行相關**的功能演示。
場景是這樣設定的:
(1)、程式不斷採集溫濕度資料,一旦超出預先設定好的範圍,就會簡訊通知報警。
(2)、手機傳送簡訊,控制繼電器,可以遠端開啟和關閉加濕器。
具體**如下(其中溫濕度採集部分,詳情請參見:通過ad採集獲取溫濕度):
(1)、gprs模組初始化相關**
int ret = 0;
gprs = new gprs("com3", 115200, gprs.gprstype.sim300_v6_x);
//開啟gprs模組
if ((ret = gprs.open()) != 0)
debug.print("open ok");
screen.drawtext("開啟gprs模組成功", font, colors.green, 20, 60);
screen.flush();
if ((ret = gprs.isonline(10000)) != 0)
debug.print("at ok");
screen.flush();
//gprs模組初始化
if ((ret = gprs.initialize()) != 0)
debug.print("initialize ok");
screen.drawtext("gprs初始化成功", font, colors.green, 20, 140);
screen.flush();
//顯示訊號強度
"signal:" + gprs.signal.tostring());
gprs.messagereceived += new smsmessagereceivedeventhandler(gprs_messagereceived);
(2)、gprs模組簡訊接收並控制部分
static void gprs_messagereceived(object sender)
else
msgs[0].tostring());
switch (msgs[0].message)}}
//刪除短訊息
}(3)濕度報警相關**
//濕度報警
if (h > 60 && !alarmflag)
if (alarmflag && h < 50)
實際執行效果圖:
說明:硬體平台採用最新的紫藤207系統;gprs模組採用sim300 v6.02版本的模組;繼電器模組採用5v驅動,可控制220v 10a的電器,一般家用小功率電器可以直接使用;溫濕度模組採用了相對低價的ad介面的模組。
本文原始碼:
mf簡介:
mf資料:
邊緣計算閘道器 工業物聯網智慧型網關
工廠裡的每一台裝置都在產生資料。從裝置資料的視點,能夠從海量資料的背面發掘和剖析裝置非預期停機的原因 進步成品率的途徑等,找出更好的裝置維護方法,從而進步工廠的全體出產功率。邊緣計算閘道器是處理大資料而生的,同時把資料結果傳入雲端 這是大資料在工業領域的價值地點。然後裝置資料的收集 傳輸和監控成為關...
智慧型燈桿閘道器 物聯網黑科技
智慧型燈桿行業專用設計,實現杆載裝置接入自由。計訊物聯tg473二代智慧型燈桿專用閘道器採用航天接頭設計,具有超強防水效能,預留多功能介面,可接入更多感測器和杆載裝置。實現遠端聯動控制 協議轉換 聯接上雲 邊緣計算 供電輸出 集控管理等。航天介面,整合化設計,即插即用,安全便捷。支援5g 4g網路 ...
農業溫室大棚智慧型監控 物聯網智慧型網關應用
農業溫室大棚能透光 保溫,在不適宜植物生長的季節,能提供溫室生育期和增加產量,多用於低溫季節喜溫蔬菜 花卉 林木等植物栽培或育苗等。計訊物聯農業溫室大棚智慧型監控採用感測器技術 無線通訊技術,依託傳統溫室大棚生產工藝實現農業溫室的精準監測 科學種植 合理灌溉,具備高可靠性 安全性 可擴充套件性。物聯...