中文字幕天堂手机版-欧美一区二区色大片在线观看-丰满人妻视频一区二区三区-美女视频黄的免费的91

您的位置:首頁   >  關(guān)于我們  >  新聞動態(tài)

大彩串口屏物聯(lián)型- HTTP遠程升級教程

發(fā)布人:大彩科技發(fā)布日期:2021-05-20

演示視頻



一、適用范圍


本文檔適合大彩物聯(lián)型所有帶WIFI的串口屏產(chǎn)品。




二、開發(fā)環(huán)境版本


1.VisualTFT軟件版本:V3.0.0.1176及以上的版本。

版本查看:

a) 打開VisualTFT軟件啟動頁面如圖21軟件版本,右上角會顯示的軟件版本號;

2-1軟件版本


b) 打開VisualTFT,在軟件右下角可以查看軟件版本圖22軟件版本,

最新版本可登錄http://gc086.com/進行下載。

圖2-2軟件版本


2.   串口屏硬件版本:V3.0.911.0 及以上的版本。

版本查看:

a) 查看屏幕背面版本號貼紙;

b) VisualTFT與屏幕聯(lián)機成功后,右下角顯示的版本號。





三、HTTP功能介紹


我司物聯(lián)型串口屏引入了物聯(lián)網(wǎng)的概念,可以通過WIFI 遠程更新串口屏工程和固件,本文主要介紹帶WIFI功能的物聯(lián)型串口屏用于HTTP協(xié)議遠程升級工程、固件的教程。






3.1 WIFI模塊概述

物聯(lián)型串口屏WIFI模塊使用的是臺灣瑞昱Realtek  RTL8188EUS芯片,該芯片的特點:

1. 超低功耗,高線性輸出功率,150M USB 接口無線網(wǎng)卡模塊;

2. 符合IEEE802.11n標(biāo)準(zhǔn),兼容IEEE802.11g、IEEE802.11b標(biāo)準(zhǔn),提供USB2.0接口;

3. 支持最新的64/128位WEP數(shù)據(jù)加密;支持WPA-PSK/WPA2-PSK,WPA/WPA2 安全機制;

WIFI模塊與服務(wù)器之間通訊采用TCP/IP協(xié)議,物聯(lián)型串口屏還支持使用基于TCP/IP通信協(xié)議傳遞數(shù)據(jù)的FTP協(xié)議、HTTP協(xié)議。






3.2 注意事項

使用HTTP 遠程升級需要注意以下5點:

1. 固件版本需要是3.0.911.0以上(包括3.0.911.0版本);

2. 工程屬性配置時,必須給C區(qū)分配空間,而且需要比升級文件大,比如升級文件7M,C區(qū)分配空間至少8M以上,如圖3-1所示;

3. HTTP 下載路徑必須是"C:/DCIOT.PKG",否則下載成功后無法升級工程;

4. 升級文件必須小于35M否則下載的時候會導(dǎo)致屏幕重啟;

5. 遠程升級畫面盡量簡潔,不可以播放視頻,音頻等占內(nèi)存的應(yīng)用。

3-1 分配空間




四、實現(xiàn)教程


本章節(jié)主要講述通過LUA實現(xiàn)HTTP遠程升級串口屏的工程或者固件。本文將分為以下是4個階段講述教程DEMO是如何實現(xiàn)的:

1. 工程準(zhǔn)備;

2. 工程配置與功能;

3. LUA編寫及調(diào)試;

4. 下載與運行。





4.1 工程準(zhǔn)備

在實現(xiàn)教程DEMO前需要作以下三個準(zhǔn)備:

1. 硬件平臺;

2. UI素材;

3. LUA編輯器。


4.1.1 硬件平臺

該例程使用大彩物聯(lián)型7寸DC80480W070為驗證開發(fā)平臺。如圖4-1所示。

圖4-1 物聯(lián)型7寸


4.1.2 素材準(zhǔn)備

準(zhǔn)備好相應(yīng)的美工UI。如圖4-2所示。

4-2 素材準(zhǔn)備


4.1.3 LUA編輯器

上位機VisualTFT內(nèi)部已集成了LUA開發(fā)編譯環(huán)境,點擊菜單欄工具,選擇LUA編輯器,如圖4-3所示。

4-3 打開LUA編輯器


LUA編輯器的開發(fā)環(huán)境,如圖4-4所示。

4-4 LUA編輯器界面






4.2 API函數(shù)說明

大彩科技針對LUA腳本提供了豐富的API接口函數(shù),具體函數(shù)可以查閱文檔《LUA腳本API V1.5》,如圖4-5所示。

4-5 API函數(shù)文檔


本教程文檔中所涉及到的部分的相關(guān)接口函數(shù)

1. 函數(shù)on_control_notify(screen,control,value)

注釋:此函數(shù)可以在用戶觸摸修改控件后被回調(diào)。函數(shù)有三個參數(shù):

screen表示畫面ID
control表示控件的編號
value表示控件的值。
2. 函數(shù)on_timer(timer_id)

注釋:此函數(shù)可以在定時器超時后被回調(diào)。函數(shù)有一個參數(shù):

timer_id表示超時定時器ID

3. 函數(shù)start_timer(timer_id, timeout, countdown, repeat)

注釋:此函數(shù)可以啟動定時器。函數(shù)有四個參數(shù):

timer_id表示定時器ID,0~31
timeout表示超時時間,單位毫秒
countdown表示計時的方向,0順計時,1 倒計時
repeat表示重復(fù)次數(shù),0 表示無限重復(fù)

4. 函數(shù)stop_timer(timer_id),timer_id表示定時器ID。

5. 函數(shù)set_value(screen,control,value)

注釋:此函數(shù)可以設(shè)置控件數(shù)值。函數(shù)有三個參數(shù):

screen表示畫面ID
control表示控件的編號
value表示控件的值。

6. 函數(shù)scan_ap()

注釋:掃描無線熱點,返回?zé)狳c數(shù)目ap_count = scan_ap()

7. 函數(shù)http_download (taskid,uri,savepath)

注釋:下載文件

taskid:請求任務(wù)編號,任意設(shè)置
uri:資源路徑  http://video.gz-dc.com/DCIOT.PKG
savepath:存放位置  "C:/DCIOT.PKG"

8. 函數(shù)on_http_download (taskid, status) 

注釋:下載響應(yīng)

taskid:響應(yīng)任務(wù)編號,與http_download匹配
status:下載狀態(tài):0下載失敗,1下載成功但存儲失敗,2下載并存儲成功

注:更多API函數(shù)請參考文檔《物聯(lián)型LUA腳本API_V1.0》和網(wǎng)站:www.runoob.com/lua






4.3 如何適用HTTP協(xié)議遠程升級串口屏

在我司提供參考資料中有關(guān)于串口屏HTTP協(xié)議遠程升級工程的示例工程,為了方便理解文檔所提到的參數(shù)設(shè)置,在閱讀文檔的同時可以查看工程配置協(xié)助理解文檔內(nèi)容。實現(xiàn)WIFI遠程升級串口屏需要完成以下四個步驟:

1. 搭建云端服務(wù)器;(如果已有云端服務(wù)器可以跳過該步驟)

2. 配置串口屏網(wǎng)絡(luò)參數(shù);

3. HTTP下載文件到C盤; 

4. 控制屏幕復(fù)位,解壓升級文件。


4.3.1 搭建云端服務(wù)器

服務(wù)器,也稱伺服器,是提供計算服務(wù)的設(shè)備。服務(wù)器的構(gòu)成包括處理器、硬盤內(nèi)存、系統(tǒng)總線等,和通用的計算機架構(gòu)類似,但是由于需要提供高可靠的服務(wù),因此在處理能力、穩(wěn)定性、可靠性、安全性、可擴展性、可管理性等方面要求較高。

搭建服務(wù)器這一步比較復(fù)雜,如果沒有服務(wù)器建議尋找專業(yè)的開發(fā)服務(wù)器團隊進行開發(fā),以節(jié)省開發(fā)項目的時間。另外,一般網(wǎng)頁上的網(wǎng)站也支持HTTP協(xié)議,開發(fā)者可以考慮將升級文件上傳到自己公司官網(wǎng)上,生成HTTP下載鏈接。


4.3.2 配置串口屏網(wǎng)絡(luò)參數(shù)

此步驟為配置串口屏默認(rèn)的網(wǎng)絡(luò)參數(shù),工程中配置串口屏網(wǎng)絡(luò)參數(shù);

1. 雙擊圖4-6中【工程窗口】中的工程名字,右邊的【屬性窗口】會顯示該工程的屬性;

圖4-6 工程屬性


2. 找到屬性窗口中的【網(wǎng)絡(luò)設(shè)置】和【高級設(shè)置】,如圖4-7和圖4-8所示;

注:此步驟請參考《大彩串口屏WIFI使用教程_V1.1》,本文不再重復(fù)介紹。

圖4-7 工程屬性


圖4-8 高級設(shè)置


4.3.3 掃描/選取WIFI

建議將我司的示例工程的中WIFI設(shè)置、掃描WIFI和網(wǎng)絡(luò)配置這三個畫面直接移植作為固定模板使用,只修改圖片風(fēng)格不改變控件編號順序,如果畫面ID改變,需要將LUA腳本對應(yīng)的畫面ID更改。示例工程WIFI設(shè)置畫面如圖4-9所示;

圖4-9 WIFI設(shè)置畫面


控件編號4,5設(shè)置為彈出鍵盤輸入的文本框控件,可以手動輸入WIFI的賬號密碼,點擊“連接設(shè)備”后調(diào)用LUA的API函數(shù)get_text()獲取WIFI名稱和WIFI密碼對應(yīng)的文本框中內(nèi)容再調(diào)用LUA腳本中的set_wifi_cfg()函數(shù)修改默認(rèn)連接的WIFI設(shè)備,工程中LUA腳本程序:

程序清單 1

--按下按鈕會調(diào)用該函數(shù),并把畫面ID和控件ID,以及控件值傳參進該函數(shù)
function on_control_notify(screen,control,value) 
      …… 
if screen==1 and control==8   and value == 1            --按鈕連接設(shè)備按下
     then
        ssid = get_text(1,4)               --獲取文本框內(nèi)容
        psw = get_text(1,5)                                   
        set_wifi_cfg(1,0,ssid,psw)        --連接WIFI,1網(wǎng)卡模式,0自動識別加密
        save_network_cfg();                --保存設(shè)置
        set_text(1,1,'連接中...')
     end
    ……
end



點擊“選取網(wǎng)絡(luò)”,切換到掃描WIFI的畫面中,如圖4-10所示;點擊“掃描WIFI”后調(diào)用LUA腳本的API函數(shù)scan_ap()和get_ap_info()掃描可用的WIFI設(shè)備,并將掃描出來的WIFI名稱顯示在列表中,腳本程序如下:

圖4-10 掃描WIFI


程序清單 2

--掃描wifi與顯示
function scan_ap_fill_list( )
    ap_cnt = scan_ap()                                          --掃描可用熱點
    for i=1,ap_cnt do
      ssid,security,quality = get_ap_info(i-1)               --獲取信息
      set_text(2,i,ssid)                                          --在列表中顯示id
    end
    for i=ap_cnt,10 do
       set_text(2,i,"")                                           --清空后面的
    end
end
--控制控件
function on_control_notify(screen,control,value) 
     --點擊掃描熱點
     if screen==1 and control==7 or 
        screen==2 and control==21
      then
        scan_ap_fill_list()
      end
……
end



掃描出所有的WIFI設(shè)備名稱后,選中其中一個設(shè)備名字后,返回到WIFI配置畫面中時,會自動填寫選中的WIFI設(shè)備的名稱,輸入WIFI密碼后點擊 “連接設(shè)備”接入該WIFI設(shè)備中。LUA程序如下:

程序清單 3

--選取熱點
function on_control_notify(screen,control,value) 
……
     if screen==2 and control>=11 and control<=20 and value == 1 
     then
        ssid = get_text(2,(control-10))                      --文本控件從1~10
        set_text(1,4,ssid)                                     --顯示選中的SSID名稱
     end
……
end



4.3.4 遠程更新

調(diào)用LUA 腳本下載PKG包,API函數(shù)參考上文4.2說明,工程畫面配置如所示; 

圖4-11 畫面配置

 

程序邏輯:點擊遠程更新按鈕,調(diào)用http_download()函數(shù)將文件下載到c區(qū),下載完成后觸發(fā)回調(diào)函數(shù)on_http_download(),在回調(diào)函數(shù)中判斷文件下載是否成功,成功后調(diào)用os.exit()復(fù)位串口屏

程序清單 4


function on_control_notify(screen,control,value)
    …… 
    if screen==4 and control==1                                            --遠程升級
      then
        http_download(1,'http://video.gz-dc.com/DCIOT.PKG',c_dir)
      end
     …….
end 
function on_http_download (taskid, status)
    if taskid == 1 then
        if status == 0 then                --下載失敗
            set_value(4,3,2)
        elseif status == 1 then      --下載成功,存儲失敗
            set_value(4,3,3)
        elseif status == 2 then      --下載成功,存儲成功
            set_value(4,3,4)
            os.exit()             --重啟
        end
    end
end