韩国电影《教室爱欲》,国产精品99久久久久久久女警,69国产成人精品午夜福中文,国产熟妇乱xxxxx大屁股网

您的位置:首頁   >  關于我們  >  新聞動態

大彩串口屏物聯型- HTTP遠程升級教程

發布人:大彩科技發布日期:2021-05-20

演示視頻



一、適用范圍


本文檔適合大彩物聯型所有帶WIFI的串口屏產品。




二、開發環境版本


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

版本查看:

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

2-1軟件版本


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

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

圖2-2軟件版本


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

版本查看:

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

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





三、HTTP功能介紹


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






3.1 WIFI模塊概述

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

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

2. 符合IEEE802.11n標準,兼容IEEE802.11g、IEEE802.11b標準,提供USB2.0接口;

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

WIFI模塊與服務器之間通訊采用TCP/IP協議,物聯型串口屏還支持使用基于TCP/IP通信協議傳遞數據的FTP協議、HTTP協議。






3.2 注意事項

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

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

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

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

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

5. 遠程升級畫面盡量簡潔,不可以播放視頻,音頻等占內存的應用。

3-1 分配空間




四、實現教程


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

1. 工程準備;

2. 工程配置與功能;

3. LUA編寫及調試;

4. 下載與運行。





4.1 工程準備

在實現教程DEMO前需要作以下三個準備:

1. 硬件平臺;

2. UI素材;

3. LUA編輯器。


4.1.1 硬件平臺

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

圖4-1 物聯型7寸


4.1.2 素材準備

準備好相應的美工UI。如圖4-2所示。

4-2 素材準備


4.1.3 LUA編輯器

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

4-3 打開LUA編輯器


LUA編輯器的開發環境,如圖4-4所示。

4-4 LUA編輯器界面






4.2 API函數說明

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

4-5 API函數文檔


本教程文檔中所涉及到的部分的相關接口函數

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

注釋:此函數可以在用戶觸摸修改控件后被回調。函數有三個參數:

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

注釋:此函數可以在定時器超時后被回調。函數有一個參數:

timer_id表示超時定時器ID

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

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

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

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

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

注釋:此函數可以設置控件數值。函數有三個參數:

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

6. 函數scan_ap()

注釋:掃描無線熱點,返回熱點數目ap_count = scan_ap()

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

注釋:下載文件

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

8. 函數on_http_download (taskid, status) 

注釋:下載響應

taskid:響應任務編號,與http_download匹配
status:下載狀態:0下載失敗,1下載成功但存儲失敗,2下載并存儲成功

注:更多API函數請參考文檔《物聯型LUA腳本API_V1.0》和網站:www.runoob.com/lua






4.3 如何適用HTTP協議遠程升級串口屏

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

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

2. 配置串口屏網絡參數;

3. HTTP下載文件到C盤; 

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


4.3.1 搭建云端服務器

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

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


4.3.2 配置串口屏網絡參數

此步驟為配置串口屏默認的網絡參數,工程中配置串口屏網絡參數;

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

圖4-6 工程屬性


2. 找到屬性窗口中的【網絡設置】和【高級設置】,如圖4-7和圖4-8所示;

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

圖4-7 工程屬性


圖4-8 高級設置


4.3.3 掃描/選取WIFI

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

圖4-9 WIFI設置畫面


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

程序清單 1

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



點擊“選取網絡”,切換到掃描WIFI的畫面中,如圖4-10所示;點擊“掃描WIFI”后調用LUA腳本的API函數scan_ap()和get_ap_info()掃描可用的WIFI設備,并將掃描出來的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設備名稱后,選中其中一個設備名字后,返回到WIFI配置畫面中時,會自動填寫選中的WIFI設備的名稱,輸入WIFI密碼后點擊 “連接設備”接入該WIFI設備中。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 遠程更新

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

圖4-11 畫面配置

 

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

程序清單 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





主站蜘蛛池模板: 昌乐县| 阿拉善左旗| 河东区| 航空| 于都县| 张家口市| 延边| 柳江县| 那曲县| 洛浦县| 灵丘县| 平舆县| 佛冈县| 大埔县| 沙洋县| 大新县| 谢通门县| 景宁| 邛崃市| 泸溪县| 卢氏县| 京山县| 呼玛县| 天津市| 凭祥市| 泰州市| 金寨县| 绥滨县| 印江| 辉南县| 页游| 綦江县| 庆云县| 公主岭市| 肃北| 勐海县| 南丹县| 东台市| 宁陕县| 洛阳市| 北辰区|