在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

關于Air780E:與服務器的加密通信操作方法

青山老竹農 ? 來源:jf_82863998 ? 作者:jf_82863998 ? 2024-10-12 07:31 ? 次閱讀

?今天我們來學習合宙低功耗4G模組Air780E快速入門之跟服務器之間的加密通信,伙伴們,一起學起來!

一、編寫腳本

1.1 準備資料

Air780E開發板購買

Air780E開發板設計資料

LuatOS-Air780E/網絡加密通信程序源碼demo

合宙的 TCP/UDP 測試服務器

API介紹說明

1.2 程序詳解

1.2.1 首先配置聯網配置

-- 測試網站 https://netlab.luatos.com/ 點擊 打開TCP 獲取測試端口號

-- 要按實際情況修改

local host = "112.125.89.8" -- 服務器ip或者域名, 都可以的

local port = 45186 -- 服務器端口

local is_udp = false -- 如果是UDP, 要改成true, false就是TCP

local is_tls = true -- 加密與否, 要看服務器的實際情況

--=============================================================

1.2.2 聯網后,創建聯網成功后,對收發數據事件的處理函數

local function sockettest()

-- 等待聯網

sys.waitUntil("IP_READY")

-- 時間同步

socket.sntp()

-- 開始正在的邏輯, 發起socket鏈接,等待數據/上報心跳

local taskName = "sc"

local topic = taskName .. "_txrx"

log.info("topic", topic)

local txqueue = {}

--[[創建一個任務線程

@param1 function 任務函數名,用于resume喚醒時調用

@param2 string 任務名稱,用于喚醒任務id

@param3 function 接收到非目標消息時的回調函數

@param4 any 任務函數fun的可變參數

@return number 返回該任務的線程號

]]

sysplus.taskInitEx(sockettask, taskName, netCB, taskName, txqueue, topic)

while 1 do

local result, tp, data = sys.waitUntil(topic, 30000)



   log.info("event", result, tp, data)



   if not result then



       -- 等很久了,沒數據上傳/下發, 發個日期心跳包吧



       table.insert(txqueue, os.date())



       sys_send(taskName, socket.EVENT, 0)



   elseif tp == "uplink" then



       -- 上行數據, 主動上報的數據,那就發送呀



       table.insert(txqueue, data)



       sys_send(taskName, socket.EVENT, 0)



   elseif tp == "downlink" then



       -- 下行數據,接收的數據, 從ipv6task來的



       -- 其他代碼可以通過 sys.publish()



       log.info("socket", "收到下發的數據了", #data,"data:",data)



   end

end

end

1.2.3 聯網函數

function sockettask(d1Name, txqueue, rxtopic)

-- 打印準備連接的服務器信息

log.info("socket", host, port, is_udp and "UDP" or "TCP", is_tls and "TLS" or "RAW")

-- 準備好所需要的接收緩沖區

local rx_buff = zbuff.create(1024)

local netc = socket.create(nil, d1Name)

socket.config(netc, nil, is_udp, is_tls)

log.info("任務id", d1Name)

while true do

-- 連接服務器, 15秒超時



   log.info("socket", "開始連接服務器")



   sysplus.cleanMsg(d1Name)



   local result = libnet.connect(d1Name, 15000, netc, host, port)



   if result then



       log.info("socket", "服務器連上了")



       --向服務器發送數據



       libnet.tx(d1Name, 0, netc, "helloworld")



   else



       log.info("socket", "服務器沒連上了!!!")



   end



   while result do



       -- 連接成功之后, 先嘗試接收



       -- log.info("socket", "調用rx接收數據")



       local succ, param = socket.rx(netc, rx_buff)



       if not succ then



           log.info("服務器斷開了", succ, param, ip, port)



           break



       end



       -- 如果服務器有下發數據, used()就必然大于0, 進行處理



       if rx_buff:used() > 0 then



           log.info("socket", "收到服務器數據,長度", rx_buff:used())



           local data = rx_buff:query() -- 獲取數據



           sys.publish(rxtopic, "downlink", data)



           rx_buff:del()



       end



       -- log.info("libnet", "調用wait開始等待消息")



       -- 等待事件, 例如: 服務器下發數據, 有數據準備上報, 服務器斷開連接



       result, param, param2 = libnet.wait(d1Name, 15000, netc)



       log.info("libnet", "wait", result, param, param2)



       if not result then



           -- 網絡異常了, 那就斷開了, 執行清理工作



           log.info("socket", "服務器斷開了", result, param)



           break



       elseif #txqueue > 0 then



           -- 有待上報的數據,處理之



           while #txqueue > 0 do



               local data = table.remove(txqueue, 1)



               if not data then



                   break



               end



               result,param = libnet.tx(d1Name, 15000, netc,data)



               log.info("libnet", "發送數據的結果", result, param)



               if not result then



                   log.info("socket", "數據發送異常", result, param)



                   break



               end



           end



       end



       -- 循環尾部, 繼續下一輪循環



   end



   -- 能到這里, 要么服務器斷開連接, 要么上報(tx)失敗, 或者是主動退出



   libnet.close(d1Name, 5000, netc)



   -- log.info(rtos.meminfo("sys"))



   sys.wait(30000) -- 這是重連時長, 自行調整

end

end

二、燒錄代碼到硬件

2.1 正確連接電腦和4G模組電路板

使用帶有數據通信功能的數據線,不要使用僅有充電功能的數據線;

2.2 識別4G模組的boot引腳

下載之前,要用模組的boot引腳觸發下載, 也就是說,要把4G模組的boot引腳拉到 1.8v,或者直接把boot引腳和VDD_EXT引腳相連。我們要在按下BOOT按鍵時讓模塊開機,就可以進入下載模式了。

具體到 Air780E開發板,

2.2.1 當我們模塊沒開機時,按著BOOT鍵然后長按PWR開機。

2.2.2 當我們模塊開機時,按著BOOT鍵然后點按重啟鍵即可。

圖片?

2.3 識別電腦的正確端口

判斷是否進入BOOT模式:模塊上電,此時在電腦的設備管理器中,查看串口設備, 會出現一個端口表示進入了boot下載模式,如下圖所示:

圖片?

當設備管理器出現了3個連續數字的com端口,并且每個數字都大于4,這時候, 硬件連接上就緒狀態,恭喜你,可以進行燒錄了!

2.4 新建項目

首先,確保你的 LuaTools 的版本,上大于 2.2.13 版本的。

在 LuaTools 的左上角上有版本顯示的,如圖所示:

圖片?

LuaTools 版本沒問題的話, 就點擊 LuaTOols 右上角的“項目管理測試”按鈕,如下圖所示:

圖片?

這時會彈出項目管理和燒錄管理的對話框,如下圖:

新建一個項目

注意:這里截圖使用的hello world項目的燒錄教程,燒錄的時候要將腳本換成本次demo的。

圖片?

2.5 開始燒錄

選擇780E板子對應的底層core和剛改的main.lua腳本文件。下載到板子中。

圖片?

圖片?

點擊下載后,我們需要進入boot模式才能正常下載,在(3)(4)小節已經介紹了如何進入boot模式。

圖片?

三、驗證功能

3.1 打開TCP SSL連接測試工具。

圖片?

3.2 配置端口,tcp連接,是否加密。

圖片?

3.3 成功連接并發送數據

圖片?

四、常見問題

4.1 最多同時支持多少個連接?

socket支持多個連接的, 通常最多支持8個。加密連接(TLS/SSL)需要更多內存, 這意味著能容納的連接數會小很多, 同時也更慢。

4.2 可以與mqtt庫同時使用嗎?

支持。

以上就是今天的全部內容,合宙低功耗4G模組Air780E快速入門之跟服務器之間的加密通信,你學會了嗎?

?審核編輯 黃宇

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

    關注

    12

    文章

    9304

    瀏覽量

    86066
  • 加密通信
    +關注

    關注

    1

    文章

    12

    瀏覽量

    2784
收藏 人收藏

    評論

    相關推薦

    【合宙Air780E開發板趣味應用】Air780E開發板方言打麻將

    合宙10月份推出的Air780E模組,是一款LTE Cat.1 bis通信模塊,采用移芯EC618平臺,支持4G全網通。合宙也推出了相應的開發板,別看開發板身材小,價格低,但是身手不差。合宙
    發表于 01-04 13:45

    基于Air780E的遠程報警方案

    恒博A780E-S智能遠程報警方案板,基于合宙低功耗4G Cat.1模組Air780E設計,支持LuatOS二次開發,無需額外添加單片機;可以幫助行業客戶快速搭建遠程報警產品及其配套系統,并提供客戶端軟件
    發表于 03-01 11:51 ?1950次閱讀

    Air780E硬件設計手冊

    電子發燒友網站提供《Air780E硬件設計手冊.pdf》資料免費下載
    發表于 04-14 09:57 ?20次下載

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機問題如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機問題如何分析簡介本文檔適用于合宙Air780E
    的頭像 發表于 07-19 15:37 ?749次閱讀
    <b class='flag-5'>Air780E</b>/<b class='flag-5'>Air780</b>EP/<b class='flag-5'>Air780</b>EQ/<b class='flag-5'>Air</b>201模塊遇到死機問題如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到內存死機如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到內存死機如何分析簡介本文檔適用于合宙Air780E
    的頭像 發表于 07-19 16:07 ?602次閱讀
    <b class='flag-5'>Air780E</b>/<b class='flag-5'>Air780</b>EP/<b class='flag-5'>Air780</b>EQ/<b class='flag-5'>Air</b>201模塊遇到內存死機如何分析

    合宙 Air780E/Air780EP/Air780EQ/Air201模塊遇到死機問題如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機問題如何分析簡介本文檔適用于合宙Air780E
    的頭像 發表于 08-01 17:27 ?911次閱讀
    合宙 <b class='flag-5'>Air780E</b>/<b class='flag-5'>Air780</b>EP/<b class='flag-5'>Air780</b>EQ/<b class='flag-5'>Air</b>201模塊遇到死機問題如何分析

    合宙Air780E硬件設計手冊02

    合宙低功耗4G模組Air780E硬件設計介紹
    的頭像 發表于 09-06 12:02 ?597次閱讀
    合宙<b class='flag-5'>Air780E</b>硬件設計手冊02

    低功耗4G模組Air780E的固件的遠程升級操作方法

    ?今天我們學習Air780E快速入門之固件的遠程升級,小伙伴們,學起來吧! 一、 生成差分包 合宙的遠程升級支持使用合宙云平臺和自建服務器,此例程使用的是合宙云平臺。 1.1 準備新舊版的core
    的頭像 發表于 10-12 07:04 ?535次閱讀
    低功耗4G模組<b class='flag-5'>Air780E</b>的固件的遠程升級<b class='flag-5'>操作方法</b>

    超級干貨!Air780E的串口通信分享

    ? 猛然發現,Air780E的串口通信還沒分享,難怪已經有小伙伴提出了要求! 那我們來講解低功耗4G模組 Air780E 的串口通信的基本用法,小伙伴們,學起來吧! 一、硬件準備 ?
    的頭像 發表于 10-15 10:47 ?517次閱讀
    超級干貨!<b class='flag-5'>Air780E</b>的串口<b class='flag-5'>通信</b>分享

    奇妙的Air780E之UDP應用示例大賞!

    關于UDP是一種無連接的、不可靠的傳輸層協議,主要用于實現網絡中的快速通訊,我們今天將把Air780E的UDP應用分析透徹。
    的頭像 發表于 11-04 09:25 ?420次閱讀
    奇妙的<b class='flag-5'>Air780E</b>之UDP應用示例大賞!

    UDP應用詳解:Air780E軟件的全面手冊

    了解Air780E軟件UDP應用全面手冊,永享編程幸福人生。
    的頭像 發表于 11-05 12:31 ?277次閱讀
    UDP應用詳解:<b class='flag-5'>Air780E</b>軟件的全面手冊

    定時技術:Air780E如何革新定時任務管理?

    今天講的是關于Air780E如何革新定時任務管理的內容,希望大家有所收獲。
    的頭像 發表于 11-07 13:50 ?313次閱讀
    定時<b class='flag-5'>器</b>技術:<b class='flag-5'>Air780E</b>如何革新定時任務管理?

    Air780E模組的ADC之旅 LuatOS開發實例

    今天學習一個新的示例,關于Air780E模組LuatOS開發的ADC應用實例,希望大家有所收獲。
    的頭像 發表于 11-11 09:33 ?284次閱讀
    <b class='flag-5'>Air780E</b>模組的ADC之旅  LuatOS開發實例

    Air780E模組LuatOS開發的位運算(bit)教程篇!

    本次我們要學習的是4G模組Air780E的LuatOS開發,關于位運算(bit)教程分享給大家。
    的頭像 發表于 11-26 11:58 ?219次閱讀
    <b class='flag-5'>Air780E</b>模組LuatOS開發的位運算(bit)教程篇!

    低功耗模組Air780E的AT指令:FTP示例!

    本文說的是關于4G模組AT指令的FTP示例,以Air780E為例,希望大家有所收獲。
    的頭像 發表于 11-30 09:40 ?279次閱讀
    低功耗模組<b class='flag-5'>Air780E</b>的AT指令:FTP示例!
    主站蜘蛛池模板: 国产在线a不卡免费视频 | 最近最新中文字幕6页 | 亚洲第二页 | 国产操视频| 日韩啪啪电影 | 午夜免费福利在线 | 在线天堂网www资源种子 | 免费网站啪啪大全 | 米奇影院777 | 色拍拍拍 | 在线视频免费观看 | 亚洲小视频在线播放 | 日本色黄视频 | 亚洲成人免费看 | 六月婷婷久久 | 国产特黄| 色综合天天综久久久噜噜噜久久〔 | 第四色亚洲 | 欧美人成一本免费观看视频 | 一级毛片免费毛片一级毛片免费 | 99久久精品免费精品国产 | 天堂新版www中文 | 91网站免费在线观看 | 日日噜夜夜噜 | 欧美人与zoxxxx视频 | 久久精品国产免费看久久精品 | 成人特黄午夜性a一级毛片 成人网18免费下 | 久久99精品久久久久久秒播 | 亚洲三级视频在线观看 | 一区二区三区高清不卡 | 国模人体一区二区三区 | 欧美日韩不卡码一区二区三区 | 另类视频色综合 | 97狠狠操| 狠狠色噜噜狠狠狠狠狠色综合久久 | 天天操天天干天天玩 | 午夜男人视频 | 综合激情在线 | 亚洲1卡二卡3卡四卡不卡 | 久久性色| 在线观看视频网站 |