国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

大彩串口屏4G應用-HTTP下載文件

廣州大彩串口屏 ? 2021-07-26 14:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、適用范圍

本文檔適合大彩PM系列串口屏產品使用。

二、開發環境版本

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

2串口屏硬件版本:M系列固件 >= V6.3.257.00。

三、概述

本例程中,介紹4G的HTTP下載的應用,通過下載圖片、視頻、音頻說明下載流程。

四、參考資料

1《LUA 腳本API V1.4》可通過以下鏈接下載物聯型開發包獲取:

http:/www.gz-dc.com/index.php?s=/List/index/cid/19.html

2《LUA基礎學習》可通過以下鏈接下載物聯型開發包獲取:

http:/www.gz-dc.com/index.php?s=/List/index/cid/19.html

3LUA腳本初學者可以通過下面鏈接進行學習。

http://www.runoob.com/lua/lua-arrays.html

4AT指令,可以通過下面子連接了解

Uhttp://www.openluat.com/Product/file/asr1802/Luat%204G模塊AT命令手冊V4.2.8.pdfU

5Air系列4G模塊AT版本HTTP應用說明(若連接失效請在LUAT社區中查找)

https://ask.openluat.com/article/626/0

五、教程實現

本文主要將以下2點進行說明:

1. 準備工程素材;

2. 配置串口屏工程;

5.1準備工程素材

5.1.1 準備工程素材

在實現例程前需要作以下3個準備:

1. 硬件平臺;

2. 軟件平臺;

3. UI素材;

該例程使用大彩M系列7寸串口屏DC80480M070_1111_0T為驗證開發平臺。如圖5-1所示;

5-1M系列7寸串口屏

其他尺寸的串口屏均可借鑒此教程。


5.1.2 軟件平臺

使用大彩自主研發的上位機軟件VisualTFT配置工程,登錄大彩官網下載。如圖5-2所示;

圖5-2下載軟件

5.2 配置串口屏工程

本文主要介紹以下2點:

(1)畫面配置

(2)LUA編輯

5.2.1畫面配置

在畫面ID0中,觸發下載、下載過程、4G信號值及運營商3部分組成。

觸發下載:3個按鈕控件,作為觸發下載條件。

  • 控件ID1~3依次為圖片下載、視頻下載以及音頻下載。

下載過程:控件ID4~8作為下載過程的體現:

  • 文本控件ID4用于顯示下載速度(min/Kb)
  • 文本控件ID5顯示下載信息
  • 進度條控件ID6為顯示下載進度
  • 文本控件ID7用于顯示下載進度百分比
  • 文本控件ID8顯示 ‘當前已下載大小/總下載大小’,單位Kb

4G信號和運營商:圖標控件控件ID10作為信號顯示、文本控件ID11用于顯示運營商。畫面配置如圖5-3所示:

注意:其他非關鍵控件不在一一介紹,下文不在累述

圖5-3畫面配置

5.2.2LUA編輯

本例程中,屏幕上電執行初始化操作,如加載4G AT 指令的庫、初始化4G模塊、定時獲取運營商和信號值等。

當用戶點擊圖片下載的時,調用air_http_download()開始下載文件。在下載回調函數on_http_download_file_cb()里進行數據存儲,顯示下載信息等。若該文件單次下載不完,會多次回調on_http_download_file_cb()函數,直至下載完畢,如圖5-4所示。

圖5-4下載流程

1初始化

調用系統函數on_init()執行代碼如程序清單 1所示:

因平臺限制,程序清單 1初始化 詳見http://www.gz-dc.com/article/id/6782.html

核心API函數

1)dofile (filename)

加載文件:本例程中加載4G AT 指令的庫

  • filename: 文件名

2)uart_set_baudrate3(speed)

設置串口3的波特率:串口3為屏幕和4G模塊通訊的串口

  • speed: 通訊的波特率

3)on_air_recv_data(packet)

串口接收4G模塊的返回數據的回調。

  • packet: 形參為表,字節數據。

4)air_set_callback (on_air_send_cb,on_air_resp_callback,on_air_log_cb)

設置4G庫里的回調函數。形參類型為函數,參數依次為命令發送函數,命令回調函數、調試信息打印函數,可自定義函數名。

  • on_air_send_cb:屏幕向4G模塊發送回調函數
  • on_air_resp_callback:4G向屏幕返回數據回調函數
  • on_air_log_cb:用戶調試信息回調函數調試

5)air_hw_int()

4G AT 指令的庫函數,初始化4G模塊

6)at_cops_csq()

自定義封裝函數,獲取運行商和信號值

7)air_cmd_add(sendstr,ackstr,timeout,retry,callback)

屏幕向4G模塊發送AT指令

  • sendstr:屏幕向4G模塊發送AT指令
  • ackstr:4G模塊應答屏幕的請求
  • timeou:應答超時
  • retry:超時重發次數,可選
  • callback:應答回調函數,可選

注:如果沒有設置超時重發次數,則超時時直接發送隊列中的下一條指令。

8)on_air_resp_callback(key, value)

4G應答屏幕回調函數:屏幕發送AT指令,4G應答后均會回調該函數,初始化設置:air_set_callback(on_air_send_cb,on_air_resp_callback,on_air_log_cb)。

  • key:屏幕向4G模塊發送請求的AT指令
  • value:4G模塊返回的數據

相關AT指令:

本例程中,涉及到獲取4G模塊初始化、運營商、信號值等AT交互指令回調的判斷,在on_air_resp_callback(key, value)回調函數中,判斷4G收發的相關AT指令,如下所示:

1)網絡數據是否激活:

屏幕發送:AT+SAPBR=1,1。在air_hw_int()函數里發送。

屏幕接收:OK。on_air_resp_callback(key, value)函數里執行4G返回數據的判斷

2) 獲取運營商:

屏幕發送:AT+COPS?。在at_cops_csq()函數了發送。

屏幕接收:OK。on_air_resp_callback(key, value)函數里執行4G返回數據的判斷

3) 獲取信號值:

屏幕發送:AT+CSQ。在at_cops_csq()函數了發送。

屏幕接收:OK。on_air_resp_callback(key, value)函數里執行4G返回數據的判斷

2HTTP下載

用戶點擊按鈕控件ID1~3,HTTP協議下載對應的圖片、視頻、音頻文件。文件,每次向服務器讀取7K大小文件,然后在下載回調函里,每次以2K字節的數據寫入文件,代碼如程序清單2所示:

因平臺限制,程序清單 2HTTP下載 詳見http://www.gz-dc.com/article/id/6782.html

核心API函數

1)air_http_download(url,break_size,user_callback)

4G庫函數,HTTP下載文件。

  • url:HTTP下載資源連接,本例程中,將圖片、視頻以及音頻的資源路徑放在數組緩沖區中,如下所示:

local HttpDownFile_URITb = {'http://video.gz-dc.com/logo_480320_165kV2.jpg', 'http://video.gz-dc.com/video2_62M9s.mp4', 'http://video.gz-dc.com/music503k32s.mp3'}

  • break_size:單次網絡下載的包大小,單位字節(BYTE),本例程中為7K
  • user_callback:改形參是一個函數變量,HTTP下載應答屏幕的回調函數。名稱可自定義命名,如本例程為on_http_download_file_cb。

2)on_http_download_file_cb(key, value)

用戶自定義函數,HTTP下載回調函數。

  • key:HTTP響應數據類型
  • value:HTTP響應的內容

若key = ‘data_len’,表示HTTP下載的文件大小;value 表示為文件大小,單位byte。

若key = ‘data’,表示HTTP響應數據內容;value為數據內容,類型為字節數組,大小為air_http_download(url,break_size,user_callback)設置的break_size。

若key = ‘finish’,表示HTTP下載完成;value為文件總大小,單位byte

若key = ‘timeout’,表示HTTP下載超時。

若key = ‘dl_file_head_retry’,表示 HTTPACTION 查詢頭信息超時。若超時,內部已經處理了3次重發數據請求。

若key = ‘dl_file_read_retry’,表示 HTTPACTION 查詢讀取數據超時。若超時,內部已經處理了3次重發數據請求。

3)my_write_filedata(file, data, open_mode)

用戶自定義函數,寫文件。本例程,將4G HTTP下載返回的數據寫在文件中。

  • file:存儲路徑,本例程中,將圖片、視頻以及音頻下載后的文件指定存儲在屏內(3為屏內盤符),路徑定義如下所示:

local HttpDownSave_FileTb = {'3:/image.jpg','3:/bench.mp4', '3:/my dream.mp 3'}

  • data:存儲的數據,類型可以是‘數組’或‘字符串’,本例程中,4G HTTP下載返回的數據類型是數組
  • open_mode:文件打開模式:本例程中,每次寫文件,將數據寫在文件尾。

注意:本文不再闡述文件讀寫的詳細說明,可參考相應的資料,如《Lua應用-文件讀寫V1.0.pdf》

4)load_surface(filename)

加載圖片到圖層。

  • filename圖片文件路徑,支持JPEG/PNG

本例程中,當下載完成key=‘finish’時,且當前下載的是圖片文件(down_mode = 1),調用此API申請圖層繪圖,并調用redraw()刷新觸發on_draw()顯示。

注意:本文不再闡述繪圖的詳細說明,可參考相應的資料,如《LUA教程7-繪圖API使用說明.pdf》

5)destroy_surface(surface)

銷毀圖層,W系列支持、M系列 >= V6.1.241.00、F系列不支持

  • surface圖層資源指針

6)play_sound(filename)

播放指定的聲音文件

  • filenam:音頻文件路徑,支持MP3/WAV

本例程中,當下載完成key=‘finish’時,且當前下載的是音頻文件(down_mode = 3),調用此API播放音頻。若播放完畢,觸發音頻播放結束通知on_audio_callback(),在重復播放該音頻文件。

注意:本文不再闡述音頻的詳細說明,,可參考相應的資料,如 《M系列-播放SD卡里視頻、音頻文件 V1.0.pdf》

7)play_video(file,left,top,width,height)

播放指定的視頻文件

  • file:文件路徑,支持MP4
  • left:起始坐標x
  • top:起始坐標y
  • width:視頻顯示的寬度
  • height:視頻顯示的高度

本例程中,當下載完成key=‘finish’時,且當前下載的是視頻文件(down_mode = 2),調用此API播放視頻,播放過程觸發on_video_notify(msg,v1, v2)。若msg=0,表示播放完畢,在重復播放該視頻文件。

注意:本文不再闡述視頻的詳細說明,,可參考相應的資料,如 《M系列-播放SD卡里視頻、音頻文件 V1.0.pdf》


8)on_video_notify(msg,v1, v2)

視頻播放回調函數

  • msg:1-播放中,0-播放完畢
  • v1:當前播放進度,當前已播時長,單位s
  • v2:播放總進度, 當前視頻總時長,單位s

9)on_audio_callback(state)

聲音播放結束回調通知,state保留未使用。

10)on_draw(screen)

當界面的顯示內容需要更新時,系統自動調用此函數,用戶在此函數中添加自定義的繪圖操作。用戶繪制的內容疊加在畫面內容之上。此函數為系統回調函數,用戶不要直接調用。下面幾種情況會觸發此函數:

  • 界面有動畫播放、視頻播放、RTC時間顯示的動態刷新;
  • 用戶操作屏幕控件控件;
  • 通過LUA腳本或串口指令更新控件;
  • 通過執行redraw;

界面上有任何變化,都會觸發此函數

11)draw_surface(surface,dstx,dsty,width,height,srcx,srcy)

繪制圖層,相比于draw_image_file,此方法效率較高,W系列支持、M系列 >= V6.1.241.00支持(裁剪顯示)、F系列不支持

  • surface圖層資源指針
  • dstx圖片顯示X坐標
  • dsty圖片顯示Y坐標
  • width圖片顯示寬度[可選]
  • height圖片顯示高度[可選]
  • srcx圖片裁剪X坐標[可選]
  • srcy圖片裁剪Y坐標[可選]

例如:

平鋪顯示:draw_surface(surface, dstx, dsty)

縮放顯示:draw_surface(surface, dstx, dsty, width, height),此方法M型不支持

裁剪顯示:draw_surface(surface, dstx, dsty, width, height ,srcx, srcy)

5.3下載工程

工程編譯成功后在輸出窗口會提示編譯成功,如圖5-5所示;

圖5-5編譯成功


在菜單欄中,文件→打開工程目錄,在‘dciot_build’目錄的‘private’拷貝到SD卡中,如圖5-6和圖5-7所示;把SD卡接上串口屏后重新上電,等到提示燒錄工程成功后,拔掉SD卡重新上電即可。

圖5-6量產向導


圖5-7拷貝到SD卡

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 4G
    4G
    +關注

    關注

    15

    文章

    5618

    瀏覽量

    123991
  • HTTP
    +關注

    關注

    0

    文章

    537

    瀏覽量

    35365
  • 串口通信
    +關注

    關注

    34

    文章

    1662

    瀏覽量

    57971
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    GD01C 4G路由模組:串口4G/WiFi/網口通信

    HLK-GD01C是一款由深圳市海凌科電子有限公司推出的4G無線路由器,支持串口4G/WiFi/網口通信,并具備智能網絡切換功能。該設備適用于多種物聯網與移動上網場景,具備安裝簡便、配置靈活
    的頭像 發表于 02-25 14:34 ?164次閱讀
    GD01C <b class='flag-5'>4G</b>路由模組:<b class='flag-5'>串口</b>轉<b class='flag-5'>4G</b>/WiFi/網口通信

    4G控制器讓風機設備廠家低成本實現遠程智能升級

    博達智聯的設備廠家4G控制器解決方案,包含 4G控制器模塊、 手機小程序、廠家設備管理后臺。只要將4G控制器通過串口與設備建立連接,通過4G
    的頭像 發表于 01-09 17:01 ?1769次閱讀
    <b class='flag-5'>4G</b>控制器讓風機設備廠家低成本實現遠程智能升級

    工業5G網關與4G物聯網網關強在哪里

    : 一、5G工業網關的優勢 高速數據傳輸 :5G網絡的理論傳輸速率遠高于4G,5G工業網關能夠在毫秒級別內完成數據上傳和下載,大幅降低延遲。
    的頭像 發表于 10-29 17:17 ?405次閱讀

    如何使用IR915L-TL00-W-S通過4G網絡實現遠程上下載三菱Q03UDEPLC程序?

    如題通過通過4G網絡實現遠程上下載三菱Q03UDEPLC程序
    發表于 08-06 06:56

    工業物聯網平臺可以支持5G/4G通信嗎

    工業物聯網平臺可以支持5G/4G通信 ,且5G/4G通信是工業物聯網中實現遠程監控與分布式設備連接的關鍵技術手段,其應用場景、技術實現和優勢如下: 一、5
    的頭像 發表于 07-25 15:28 ?673次閱讀
    工業物聯網平臺可以支持5<b class='flag-5'>G</b>/<b class='flag-5'>4G</b>通信嗎

    SkyOne? 汽車多模多頻段前端模塊,用于 4G LTE 和 4G LTE-A(下行鏈路載波聚合 (CA) 應用) skyworksinc

    電子發燒友網為你提供()SkyOne? 汽車多模多頻段前端模塊,用于 4G LTE 和 4G LTE-A(下行鏈路載波聚合 (CA) 應用)相關產品參數、數據手冊,更有SkyOne? 汽車多模多頻段
    發表于 07-01 18:31
    SkyOne? 汽車多模多頻段前端模塊,用于 <b class='flag-5'>4G</b> LTE 和 <b class='flag-5'>4G</b> LTE-A(下行鏈路載波聚合 (CA) 應用) skyworksinc

    工業物聯網4G無線網絡轉串口模塊

    4G無線網絡轉串口模塊是一種工業通信設備,通過4G網絡將串口(如RS232/RS485)設備接入互聯網,實現遠程數據傳輸與控制。適用于物聯網(IoT)、工業自動化、遠程監控等場景。阿爾
    的頭像 發表于 06-25 11:11 ?783次閱讀
    工業物聯網<b class='flag-5'>4G</b>無線網絡轉<b class='flag-5'>串口</b>模塊

    講堂:串口工程下載及問題診斷

    一、適合范圍適合大協議串口產品。二、工程下載M系列:打開VisualTFT軟件,在菜單欄→文件→‘創建新工程’,創建的工程必須以實體
    的頭像 發表于 06-24 16:27 ?1590次閱讀
    大<b class='flag-5'>彩</b>講堂:<b class='flag-5'>串口</b><b class='flag-5'>屏</b>工程<b class='flag-5'>下載</b>及問題診斷

    4G工業路由器賦能戶外廣告高效運營

    。工業4G路由器4G工業路由器專為工業場景打造,具備工業級防護,可在-40℃至+75℃穩定運行,防塵防濺水,抗浪涌、振動;搭載高性能處理器,接口豐富;支持多運營商
    的頭像 發表于 06-18 18:05 ?539次閱讀
    <b class='flag-5'>4G</b>工業路由器賦能戶外廣告<b class='flag-5'>屏</b>高效運營

    4G全網通網關是什么?有什么功能?

    4G全網通網關是一種能夠接入4G網絡,并將4G網絡信號轉換為其他網絡信號(如WiFi、以太網等),實現多設備聯網的通信設備。它支持國內三大運營商(中國移動、中國聯通、中國電信)的4G
    的頭像 發表于 06-17 15:43 ?1295次閱讀
    <b class='flag-5'>4G</b>全網通網關是什么?有什么功能?

    4G DTU 無線數傳模塊:RS232/485轉4G,穩定不宕機

    4G DTU(Data Transfer Unit)是一種工業級物聯網數據傳輸設備,主要用于將串口(如RS232/RS485)數據通過4G網絡無線傳輸到遠程服務器或云平臺。它是工業自動化、遠程監控
    的頭像 發表于 05-29 14:58 ?1424次閱讀

    用于 4G 和 5G 應用的 Sky5? UHB 前端模塊 skyworksinc

    電子發燒友網為你提供()用于 4G 和 5G 應用的 Sky5? UHB 前端模塊相關產品參數、數據手冊,更有用于 4G 和 5G 應用的 Sky5? UHB 前端模塊的引腳圖、接線圖
    發表于 05-14 18:33
    用于 <b class='flag-5'>4G</b> 和 5<b class='flag-5'>G</b> 應用的 Sky5? UHB 前端模塊 skyworksinc

    4G DTU未來發展趨勢與展望

    在工業物聯網蓬勃發展的當下,4G DTU 作為關鍵的數據傳輸設備,正深刻地改變著各行業的數據交互模式。從工業自動化到智能交通,從環境監測到智慧農業,4G DTU 憑借其高效、靈活的無線數據傳輸能力
    的頭像 發表于 04-22 18:44 ?665次閱讀

    用于 4G 和 5G 應用的 Sky5? 前端模塊 skyworksinc

    電子發燒友網為你提供()用于 4G 和 5G 應用的 Sky5? 前端模塊相關產品參數、數據手冊,更有用于 4G 和 5G 應用的 Sky5? 前端模塊的引腳圖、接線圖、封裝手冊、中文
    發表于 04-11 15:24
    用于 <b class='flag-5'>4G</b> 和 5<b class='flag-5'>G</b> 應用的 Sky5? 前端模塊 skyworksinc

    雷卯收集4G/WIFI無線傳輸產品開發板

    收集目的:方便客戶選用4G/WIFI無線傳輸產品開發板,并且能夠讓開發板穩定工作。雷卯EMC小哥圍繞4G/WIFI無線傳輸產品開發板的各種接口,推薦相應防雷防靜電元器件。雷卯EMC小哥還具備EMC
    的頭像 發表于 04-08 18:21 ?599次閱讀
    雷卯收集<b class='flag-5'>4G</b>/WIFI無線傳輸產品開發板