一、適合范圍
二、適合范圍
1. VisualTFT軟件版本:V3.0.1.1112及以上的版本。
2. 串口屏硬件版本:M系列固件 >= V6.3.257.00。
三、概述
本例程中,通過(guò)獲取天氣、定位來(lái)介紹4G的HTTP GET的應(yīng)用。
四、參考資料
《LUA 腳本API V1.4》可通過(guò)以下鏈接下載物聯(lián)型開(kāi)發(fā)包獲取:
http:/www.gz-dc.com/index.php?s=/List/index/cid/19.html
《LUA基礎(chǔ)學(xué)習(xí)》可通過(guò)以下鏈接下載物聯(lián)型開(kāi)發(fā)包獲取:
http:/www.gz-dc.com/index.php?s=/List/index/cid/19.html
LUA腳本初學(xué)者可以通過(guò)下面鏈接進(jìn)行學(xué)習(xí)。
http://www.runoob.com/lua/lua-arrays.html
AT指令,可以通過(guò)下面子連接了解
http://www.openluat.com/Product/file/asr1802/Luat%204G模塊AT命令手冊(cè)V4.2.8.pdf
百度地圖API逆地址解析:
http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding-abroad
濟(jì)南易客云網(wǎng)絡(luò)科技提供HTTP天氣訪問(wèn)接口:
付費(fèi):https://www.tianqiapi.com/index/doc?version=v61
免費(fèi):https://www.tianqiapi.com/index/doc?version=v6
五、教程實(shí)現(xiàn)
本文主要將以下2點(diǎn)進(jìn)行說(shuō)明:
1. 準(zhǔn)備工程素材;
2. 配置串口屏工程;
5.1 準(zhǔn)備工程素材
5.1.1準(zhǔn)備工程素材
在實(shí)現(xiàn)例程前需要作以下3個(gè)準(zhǔn)備:
1.硬件平臺(tái);
2.軟件平臺(tái);
3.UI素材;
該例程使用大彩M系列7寸串口屏DC80480M070_1111_0T為驗(yàn)證開(kāi)發(fā)平臺(tái)。如圖5-1所示;
圖5-1M系列7寸串口屏
其他尺寸的串口屏均可借鑒此教程。
5.1.2軟件平臺(tái)
使用大彩自主研發(fā)的上位機(jī)軟件VisualTFT配置工程,登錄http://www.gz-dc.com/下載。如圖5-2所示;
圖5-2下載軟件
5.2 配置串口屏工程
本文主要介紹以下2點(diǎn):
(1)畫(huà)面配置
(2)LUA編輯
5.2.1畫(huà)面配置
在畫(huà)面ID0中,SIM卡信息顯示、地點(diǎn)、時(shí)間及天氣4部分組成。
SIM卡信息:圖標(biāo)件ID1表示信號(hào)等級(jí)、文本控件ID2表示運(yùn)營(yíng)商、文本控件ID3用于顯示SIM卡ID。
地點(diǎn):文本控件ID7于顯示所在的城市。
時(shí)間日期:文本控件ID5用于顯示時(shí)間,文本控件ID6用于顯示日期。
溫度天氣:文本控件ID8顯示溫度,文本控件ID9用于用于顯示天氣描述(多云、晴等),圖標(biāo)控件ID10顯示多云等等的圖標(biāo)。
畫(huà)面配置如圖5-3所示:
注意:其他非關(guān)鍵控件不在一一介紹,下文不在累述
圖5-3畫(huà)面配置
5.2..2LUA編輯
本例程中,屏幕上電執(zhí)行初始化操作,如加載4G AT 指令的庫(kù)、初始化和4G模塊的交互的函數(shù)、初始化4G模塊、開(kāi)啟定時(shí)器獲取運(yùn)營(yíng)商和信號(hào)值。
當(dāng)4G模塊初始化完成后,獲取運(yùn)營(yíng)商/信號(hào)值以及獲取經(jīng)緯度。當(dāng)4G模塊返回對(duì)應(yīng)經(jīng)緯度后,根據(jù)經(jīng)緯度得到所在城市,在根據(jù)城市獲取該城市的氣溫以及天氣狀態(tài)。流程如下所示。
1.初始化
調(diào)用系統(tǒng)函數(shù)on_init()執(zhí)行代碼如程序清單 1所示:
溫馨提示:因平臺(tái)限制, 程序清單1初始化 請(qǐng)移步下載http://www.gz-dc.com/article/id/6645.html
核心API函數(shù)
1)dofile (filename)
加載文件:本例程中加載4G AT 指令的庫(kù)
- filename-文件名
設(shè)置串口3的波特率:串口3為屏幕和4G模塊通訊的串口
- speed–通訊的波特率
3)on_air_recv_data(packet)
串口接收4G模塊的返回?cái)?shù)據(jù)的回調(diào)。
- packet:形參為表,字節(jié)數(shù)據(jù)。
4)air_set_callback (on_air_send_cb,on_air_resp_callback,on_air_log_cb)
設(shè)置4G庫(kù)函數(shù)的回調(diào)。形參類(lèi)型為函數(shù),參數(shù)依次為命令發(fā)送函數(shù),命令回調(diào)函數(shù)、調(diào)試信息打印函數(shù),可自定義函數(shù)名。
- on_air_send_cb:屏幕向4G模塊發(fā)送回調(diào)函數(shù)
- on_air_resp_callback:4G向屏幕返回?cái)?shù)據(jù)回調(diào)函數(shù)
- on_air_log_cb:用戶調(diào)試信息回調(diào)函數(shù)調(diào)試
5)at_cops_csq()
自定義封裝函數(shù),獲取運(yùn)行商和信號(hào)值
6)air_cmd_add(sendstr,ackstr,timeout,retry,callback)
屏幕向4G模塊發(fā)送AT指令
- sendstr:屏幕向4G模塊發(fā)送AT指令
- ackstr:4G模塊應(yīng)答屏幕的請(qǐng)求
- timeou:應(yīng)答超時(shí)
- retry:超時(shí)重發(fā)次數(shù),可選
- callback:應(yīng)答回調(diào)函數(shù),可選
注:如果沒(méi)有設(shè)置超時(shí)重發(fā)次數(shù),則超時(shí)時(shí)直接發(fā)送隊(duì)列中的下一條指令。
7)on_air_resp_callback(key, value)
4G應(yīng)答屏幕回調(diào)函數(shù):屏幕發(fā)送AT指令,4G應(yīng)答后均會(huì)回調(diào)該函數(shù),本函數(shù)如air_set_callback(on_air_send_cb,on_air_resp_callback,on_air_log_cb)函數(shù)設(shè)置。
- key:屏幕->4G模塊,發(fā)送請(qǐng)求的AT指令
- value:4G模塊->屏幕,返回的數(shù)據(jù)
2.獲取經(jīng)緯度
當(dāng)4G初始化完成后,獲取經(jīng)緯度,代碼如程序清單 2所示:
溫馨提示:因平臺(tái)限制,程序清單 2獲取經(jīng)緯度 請(qǐng)移步下載http://www.gz-dc.com/article/id/6645.html
核心API函數(shù)
1)get_local_latitude_longitude()
獲取經(jīng)緯度。屏幕向4G模塊發(fā)送獲取經(jīng)緯度的AT指令’AT+CIPGSMLOC=1,1’,在on_air_resp_callback回調(diào)函數(shù)解析返回的數(shù)據(jù)。
3.獲取城市名
當(dāng)獲取經(jīng)緯度后,根據(jù)經(jīng)緯度,獲取所在的城市,代碼如程序清單 3所示:
溫馨提示:因平臺(tái)限制,程序清單3獲取所在城市 請(qǐng)移步下載http://www.gz-dc.com/article/id/6645.html
核心API函數(shù)
1)baiduAPI_get_local ()
函數(shù)內(nèi)部封裝4G AT指令集HTTP Get資源請(qǐng)求函數(shù)air_http_get(),本例程中根據(jù)百度提供的資源接口,拼接經(jīng)緯度發(fā)送請(qǐng)求。若百度響應(yīng)改請(qǐng)求,則觸發(fā)回到平baiduAPI_get_local_cb()函數(shù)。
4.獲取時(shí)間/天氣
當(dāng)獲取經(jīng)中文城市名稱(chēng)后,獲取所在的該城市的溫度和天氣,代碼程序清單 4所示:
溫馨提示:因平臺(tái)限制, 程序清單 4獲取天氣 請(qǐng)移步下載http://www.gz-dc.com/article/id/6645.html
核心API函數(shù)
1)http_get_wea_and_tim e()
函數(shù)內(nèi)部封裝4G AT指令集HTTP Get資源請(qǐng)求函數(shù)air_http_get(),本例程中根據(jù)濟(jì)南易客云網(wǎng)絡(luò)科技提供付費(fèi)和免費(fèi)的資源接口。其中免費(fèi)的訪問(wèn)獲取次數(shù)是200次/天,付費(fèi)的是5000次/天。該服務(wù)器響應(yīng)請(qǐng)求自動(dòng)回調(diào)on_get_wea_cb處理響應(yīng)的信息。同理,獲取同步云端時(shí)間調(diào)用http_get_time()即可。
5.3下載工程
在菜單欄中,文件→打開(kāi)工程目錄,在‘dciot_build’目錄的‘private’文件夾拷貝到SD卡中,如圖5-4和圖5-5所示;把SD卡接上串口屏后重新上電,等到提示燒錄工程成功后,拔掉SD卡重新上電即可。
圖5-4下載文件
圖5-5拷貝到SD卡
-
4G
+關(guān)注
關(guān)注
15文章
5528瀏覽量
119299 -
定位
+關(guān)注
關(guān)注
5文章
1339瀏覽量
35428 -
串口屏
+關(guān)注
關(guān)注
8文章
541瀏覽量
37500 -
天氣預(yù)報(bào)
+關(guān)注
關(guān)注
0文章
8瀏覽量
7414
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論