免费视频观看视频观看-国产精品自在欧美一区-欧美另类日本中文字幕-欧美一区成人在线视频

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

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

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

演示視頻



一、適用范圍


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




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


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

版本查看:

a) 打開VisualTFT軟件啟動(dòng)頁面如圖21軟件版本,右上角會(huì)顯示的軟件版本號(hào);

2-1軟件版本


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

最新版本可登錄http://www.ks-ws2008.com/進(jìn)行下載。

圖2-2軟件版本


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

版本查看:

a) 查看屏幕背面版本號(hào)貼紙;

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





三、HTTP功能介紹


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






3.1 WIFI模塊概述

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

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 安全機(jī)制;

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






3.2 注意事項(xiàng)

使用HTTP 遠(yuǎn)程升級(jí)需要注意以下5點(diǎn):

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

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

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

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

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

3-1 分配空間




四、實(shí)現(xiàn)教程


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

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

2. 工程配置與功能;

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

4. 下載與運(yùn)行。





4.1 工程準(zhǔn)備

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

1. 硬件平臺(tái);

2. UI素材;

3. LUA編輯器。


4.1.1 硬件平臺(tái)

該例程使用大彩物聯(lián)型7寸DC80480W070為驗(yàn)證開發(fā)平臺(tái)。如圖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編輯器

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

4-3 打開LUA編輯器


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

4-4 LUA編輯器界面






4.2 API函數(shù)說明

大彩科技針對(duì)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ù)有三個(gè)參數(shù):

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

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

timer_id表示超時(shí)定時(shí)器ID

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

注釋:此函數(shù)可以啟動(dòng)定時(shí)器。函數(shù)有四個(gè)參數(shù):

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

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

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

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

screen表示畫面ID
control表示控件的編號(hào)
value表示控件的值。

6. 函數(shù)scan_ap()

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

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

注釋:下載文件

taskid:請(qǐng)求任務(wù)編號(hào),任意設(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ù)編號(hào),與http_download匹配
status:下載狀態(tài):0下載失敗,1下載成功但存儲(chǔ)失敗,2下載并存儲(chǔ)成功

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






4.3 如何適用HTTP協(xié)議遠(yuǎn)程升級(jí)串口屏

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

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

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

3. HTTP下載文件到C盤; 

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


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

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

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


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

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

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

圖4-6 工程屬性


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

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

圖4-7 工程屬性


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


4.3.3 掃描/選取WIFI

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

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


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

程序清單 1

--按下按鈕會(huì)調(diào)用該函數(shù),并把畫面ID和控件ID,以及控件值傳參進(jìn)該函數(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自動(dòng)識(shí)別加密
        save_network_cfg();                --保存設(shè)置
        set_text(1,1,'連接中...')
     end
    ……
end



點(diǎn)擊“選取網(wǎng)絡(luò)”,切換到掃描WIFI的畫面中,如圖4-10所示;點(diǎn)擊“掃描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()                                          --掃描可用熱點(diǎn)
    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) 
     --點(diǎn)擊掃描熱點(diǎn)
     if screen==1 and control==7 or 
        screen==2 and control==21
      then
        scan_ap_fill_list()
      end
……
end



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

程序清單 3

--選取熱點(diǎn)
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 遠(yuǎn)程更新

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

圖4-11 畫面配置

 

程序邏輯:點(diǎn)擊遠(yuǎn)程更新按鈕,調(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                                            --遠(yuǎn)程升級(jí)
      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      --下載成功,存儲(chǔ)失敗
            set_value(4,3,3)
        elseif status == 2 then      --下載成功,存儲(chǔ)成功
            set_value(4,3,4)
            os.exit()             --重啟
        end
    end
end