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

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

3天內不再提示

OneNET Studio云STM32物聯(lián)網(wǎng)開發(fā)(2)- STM32+Air724UG(4G模組)數(shù)據(jù)采集顯示上報

楊榮國 ? 來源:楊榮國 ? 作者:楊榮國 ? 2022-09-25 00:52 ? 次閱讀

實現(xiàn)效果視頻 (點擊可以觀看)

結合OneNET Studio云平臺STM32物聯(lián)網(wǎng)開發(fā)(1)- MQTT協(xié)議設備接入數(shù)據(jù)上報測試(https://blog.csdn.net/weixin_44862509/article/details/127015383) 這篇文章如圖1,圖1的1位置是在MQTTX上模擬和OneNET Studio云平臺連接以及在相應的通道上上發(fā)數(shù)據(jù)以及接收數(shù)據(jù),

pYYBAGMvNEiAEEPNAAJzXFrIHro387.png

圖1

圖1的2位置是OneNET Studio 平臺上顯示的數(shù)據(jù),說明我已經(jīng)可以和云端進行互動數(shù)據(jù)了。
但是如何用手上的Air724UG(4G模組)如圖2,替代MQTTX軟件實現(xiàn)與OneNET云進行通訊實現(xiàn)替代MQTTX用硬件將數(shù)據(jù)發(fā)送到云端顯示呢,以及如何用STM32單片機結合4G模組實現(xiàn)將數(shù)據(jù)自動上發(fā)呢?

pYYBAGMvNFuAbpTDAB07mLWls-U346.png

圖2

第一步 獲取4G模組AT聯(lián)網(wǎng)設置信息如果需要設置4G模組,其實主要的工作和在MQTTX設置是一樣的,就是將于云服務器鏈接的賬號密碼以及產(chǎn)品和設備的信息以及通道信息通過AT指令寫入到4G模組硬件,所以如圖3結合上一篇文章找到以下信息:Client ID,Host,Port,Username,Password,以及屬性上報topic和屬性上報回復topic。找到信息如下:

poYBAGMvNG6AYq4AAAFBLy6-PTs785.png

圖3


Client ID:P0001
Host:studio-mqtt.heclouds.com
Port:1883
Username:i7ybqx3ZNk
Password:version=2018-10-31&res=products%2Fi7ybqx3ZNk%2Fdevices%2FP0001&et=--------gn=e5xZrxCdfmKkT1hndeWvmg%3D%3D
上報topic: $sys/i7ybqx3ZNk/P0001/thing/property/post
回復topic: $sys/i7ybqx3ZNk/P0001/thing/property/post/reply

第二步 通過4G模組DTU工具設置聯(lián)網(wǎng)信息:首先通過USB轉串口模塊與4G模組鏈接,并給4G模組通電實現(xiàn)4G模組可以接收電腦端串口調試助手下發(fā)的AT指令(可以根據(jù)大家在網(wǎng)上自行買的Air724UG 4G模組的方式配置鏈接,對于實現(xiàn)這一步的前提條件是你手上的4G模組是可以通過AT指令在電腦端的串口調試助手下發(fā)命令并且是有回復的,比如發(fā)送AT,回復OK)如圖4,

pYYBAGMvNHmAb4MJAAIs8Zi-Ce8292.png

圖4


將相關信息輸入到DTU小工具,如圖4的位置1是打開串口,位置2是選擇MQTT協(xié)議(上一篇文章我用的是MQTTX模擬該協(xié)議),位置3為設置的基本登入信息,位置4為小工具實際下發(fā)的AT指令。

pYYBAGMvNICAVmNoAAJBnRvlzUE664.png

圖5


以及圖5的位置1為回復topic,位置2位上報topic和位置3為對應的AT指令。

第三步 實現(xiàn)4G模組聯(lián)網(wǎng):如圖6點擊圖6位置1通過AT指令重啟4G模組,可以看到4G模組對應的指令燈從關閉到開啟說明重啟成功,位置2為4G模組與服務器鏈接成功的狀態(tài)回復:“+STATUS: 1,MQTT CONNECTED”,這里很關鍵,只有回復了這個狀態(tài)才說明與服務鏈接成功,同時看到4G模組的LINK的指示燈是常亮。

poYBAGMvNIyAaxzeAANsbCYjJ3o435.png

圖6


如圖6的3位置為設備狀態(tài)為“在線”,其實到了這一步,大家有沒有覺得與我們在第一篇文章介紹的MQTTX鏈接服務器一樣的感覺,如果感覺一樣,那就說明你真正開始領悟了。

第四步 通過4G模組發(fā)送數(shù)據(jù)到服務器:按指定的數(shù)據(jù)格式通過串口方式發(fā)送出去,如圖7的位置1位串口發(fā)送的內容就是對應屬性JSON格式要發(fā)送的數(shù)據(jù)(這里測試發(fā)送的時候我把時間戳修改了當前的時間),圖7的位置2為服務器收到數(shù)據(jù)后回復接收成功的狀態(tài)信息,圖7的3位置看到OneNET Studio平臺顯示了我們發(fā)送上去的數(shù)據(jù)。

pYYBAGMvNJSAFfLvAAKy8gAHOBY237.png

圖7

第五步 STM32終端硬件功能:如圖8,圖8的1位置為12V電源輸入及5V和3.3V電壓降壓及擴展模塊,2位置為STM32F103C8T6單片機核心板,3位置為Air724UG Cat1 4G模塊,4位置為DHT11溫濕度模塊,5位置為光敏電阻光線感應模塊,6位置為LCD12864液晶屏,7位置為杜邦線,8位置為4G模塊天線。

poYBAGMvNJ6AadQqACaphcneRXU138.png

圖8

圖9和圖10為數(shù)據(jù)在OneNET Studio云平臺展示界面,而且OneNET Studio平臺的數(shù)據(jù)接口是對外開發(fā)的,如果大家需要直接設計前端頁面可以直接獲取相關的接口數(shù)據(jù),通過以上8部分硬件模塊在杜邦線的連接下實現(xiàn)了功能如下。

pYYBAGMvNKWAPptaAAE5JWp1mPU012.png

圖9

poYBAGMvNK6Aa8C5AAEH77wdhGk412.png

圖10


這里我們暫且把這個作品稱為系統(tǒng),名稱為基于OneNET Studio云實現(xiàn)STM32農(nóng)業(yè)環(huán)境監(jiān)測Air724UG Cat1 4G傳輸系統(tǒng)。
1、STM32單片機每隔10秒通過DHT11溫濕度傳感器和GL5537光敏電阻傳感器采集農(nóng)業(yè)環(huán)境數(shù)據(jù)并在LCD12864液晶屏實時顯示;
2、每隔10S通過Air724UG Cat1 4G模塊將采集的溫度,濕度,光照值數(shù)據(jù)及當前時間戳上報到OneNET Studio云平臺進行展示,同時LED閃爍一次;
3、OneNET Studio云平臺將收集到數(shù)據(jù)以曲線及表格的方式展示并記錄數(shù)據(jù),同時向單片機下發(fā)數(shù)據(jù)接收狀態(tài),同時LED閃爍2次;

第六步 硬件電路接線說明:如圖11為硬件電路圖接口接線說明圖,按圖11的控制接口將溫濕度傳感器,光敏電阻傳感器,4G模塊發(fā)送數(shù)據(jù)給單片機,液晶屏,LED接收單片機的控制數(shù)據(jù),這里說一點是電源部分,因為4G模塊需要12V供電,所以采用12V轉5V的模塊進行連接同時將5V和3.3V擴展出來方便給其他模塊供電。

pYYBAGMvNLeAJaC2AACEZUzrAa4711.png

圖11


模塊原理我想大家應該都很熟悉了,因為都是比較常用的模塊,大家獲取到我提供的源代碼后直接對著代碼和函數(shù)看程序就可以知道模塊怎么使用了。而且相信大家手上都直接或間接的單片機開發(fā)板對于本系統(tǒng)所用到的都是比較常見的模塊所以大家這部分可以直接補習,如果任然有疑問的可以和我交流。

第七步 關鍵程序段分析:如圖12為程序主函數(shù)的內容,可以看到程序非常簡單,圖12的1和2的位置通過調用函數(shù)的方式通過相應的變量獲取到時間戳,溫度,濕度,光照值。

poYBAGMvNL6AOk0WAAPVquv0n_4047.png

圖12


同時圖12的3和4的位置調用函數(shù)將獲取數(shù)據(jù)的變量傳遞給LCD12864顯示函數(shù)進行數(shù)據(jù)顯示,再通過調用4G模塊數(shù)據(jù)發(fā)送函數(shù)將變量的值通過4G模塊發(fā)送出去。時間戳如果生成,這里需要包含一個系統(tǒng)自帶的頭文件:#include "time.h",并通過mktime(&Time)函數(shù),將獲取的當前時間(格式:XX-XX-XX YY:YY:YY 年-月-日 時:分-秒,這個時間可以通過時鐘芯片讀取,我的程序為了演示方便,我是直接用軟件延時的方式直接換算出日期和時間的,最關鍵還是時間戳的轉換)北京時間格式轉換為時間戳格式的算法如下:
Time.tm_year = (2000 + time_data[0])%100 + 100;
Time.tm_mon = time_data[1] - 1;
Time.tm_mday = time_data[2];
Time.tm_hour = time_data[3]- 8;
Time.tm_min = time_data[4];
Time.tm_sec = time_data[5];
time_uinx=mktime(&Time); //讀取時間戳
time_uinx=time_uinx*1000;
大家可以通過這個函數(shù)轉換出來的時間戳值,放到在線工具進行反推驗證,比如我得到的一個時間戳的值是1663962320000 單位是毫秒,如圖13的1位置可以看到轉換出來的北京時間是符合要求的(要注意,這個隨數(shù)據(jù)一起發(fā)送的時間不能超過你生成密碼用的時間)。

poYBAGMvNMaAezOxAAJcXo7pvYM143.png

圖13


還有就是如何把OneNET Studio平臺需要的數(shù)據(jù)格式組合起來,比如我這個系統(tǒng)目前發(fā)送的是溫度,濕度,光照三個值,數(shù)據(jù)格式如下:
{"id":"0001","params":{"LightLux":{"time":1663962320000,"value":1155.00},"RelativeHumidity":{"time":1663962320000,"value":40.0},"CurrentTemperature":{"time":1663962320000,"value":32.0}},"version":"1.0"},但是如果直接在C語言里發(fā)送是發(fā)送不過去的,需要用到一個字符串組合函數(shù)如圖14,為了方便大家看到調用的全部參數(shù)為把程序分行了,但是在實際編譯的時候要排成一行,要不然編譯不通過。

pYYBAGMvNM-AXNHrAAEPO1CF_zE666.png

圖14


當然了也可以通過Keil環(huán)境下Jansson庫生成相應的JSON格式的數(shù)據(jù),但是這樣做的話對單片機的存儲空間有一定要求,所以如果傳輸數(shù)據(jù)量大需要用JSON函數(shù)轉換,如果傳輸數(shù)據(jù)不多的話可以直接用我介紹的方法。

第八步 回顧總結:其實最關鍵的還是要保證4G模塊能和OneNET Studio建立連接,真正需要單片機控制的非常少,關鍵還是第一篇文章,以及這邊文章的前幾部的循序漸進的聯(lián)網(wǎng)測試,還有就是為了保證數(shù)據(jù)能正常上報,一定要驗證下單片機串口發(fā)送出來的數(shù)據(jù)格式是否正確。

希望我的文章能幫到大家,文章里涉及到的軟件工具,電路圖資料,程序源代碼等大家可以 搜索 WX公眾號 “和我學單片機”回復“OneNET01”回復帶密碼的百度網(wǎng)盤下載鏈接,大家可以自行下載。如果資料不夠或學習中遇到問題可以在公眾號留言。
更新: 2022年9月24日 楊榮國 個人WX : tong1366

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 物聯(lián)網(wǎng)

    關注

    2899

    文章

    43793

    瀏覽量

    369140
  • STM32
    +關注

    關注

    2263

    文章

    10847

    瀏覽量

    353775
  • MQTT
    +關注

    關注

    5

    文章

    640

    瀏覽量

    22358
收藏 人收藏

    評論

    相關推薦

    OneNET Studio平臺STM32聯(lián)網(wǎng)開發(fā)(1)- MQTT協(xié)議設備接入數(shù)據(jù)上報測試

    OneNET Studio平臺STM32聯(lián)網(wǎng)開發(fā)
    的頭像 發(fā)表于 09-25 01:01 ?1738次閱讀
    <b class='flag-5'>OneNET</b> <b class='flag-5'>Studio</b><b class='flag-5'>云</b>平臺<b class='flag-5'>STM32</b><b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>開發(fā)</b>(1)- MQTT協(xié)議設備接入<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>上報</b>測試

    4G聯(lián)網(wǎng)開關求助

    阿里聯(lián)網(wǎng)平臺 合宙模塊780E 724 或者移遠4G模塊開發(fā)一款
    發(fā)表于 05-19 15:28

    ESP32S2 WROVER在使用AT指令獲取4G模組時,dte會報超時怎么解決?

    模組:ESP32 S2 WROVER 4G模組:合宙Air724UG 在使用AT指令獲取4G
    發(fā)表于 06-27 06:54

    OneNET麒麟座試用申請】OneNET聯(lián)網(wǎng)

    項目名稱:OneNET聯(lián)網(wǎng)試用計劃:1.將開發(fā)板作為設備層,利用OneNET,上傳傳感器
    發(fā)表于 04-05 15:03

    EVB_Air724UG_A13開發(fā)板使用指南 相關資料推薦

    速率5Mbps數(shù)據(jù)傳輸。 具有全功能音頻輸入輸出接口,LCD接口,Camera接口,內存卡接口,矩陣鍵盤接口,ADC接口,其外設齊全,是替代2G聯(lián)網(wǎng)模塊的理想產(chǎn)品。??EVB_
    發(fā)表于 07-06 06:17

    air724ug開發(fā)

    air724ug開發(fā)板,最近購買了一塊4G開發(fā)板來玩玩,做個開發(fā)記錄開發(fā)板采用合宙
    發(fā)表于 07-22 07:25

    STM32+Air724UG基本控制篇

    所屬系列: 指路者系列開發(fā)板型號: ZLAir724UGA板載說明:①主控芯片: STM32F103CBT6;(實際使用軟硬件全兼容芯片 AT32F413ACBT7)②4G
    發(fā)表于 08-20 06:09

    怎樣去設計基于Air724模塊的DTU

    使用Air724模塊設計全功能DTU目前聯(lián)網(wǎng)開發(fā)中,4G模塊的使用方式有幾下幾種:MCU連接4G
    發(fā)表于 08-20 07:46

    STM32+Air724UG基本控制篇(自建物聯(lián)網(wǎng)平臺) 精選資料推薦

    說明這節(jié)測試一下Android和微信小程序掃碼綁定Air724,并通過MQTT和模組實現(xiàn)遠程通信控制這一節(jié)作為板子的整體功能測試,用戶下載這一節(jié)的程序用來測試基本控制篇實現(xiàn)的基本功能還有就是測試
    發(fā)表于 08-23 08:23

    Air724UG是什么

    2.檢查固件3.聯(lián)網(wǎng)測試4.服務器配置·建立TCP服務器5.與服務器通訊測試(一)6.服務器配置·建立通訊數(shù)據(jù)存儲池7.與服務器通訊測試(二)8.單片機配置·通訊板控制程序9.單片機與
    發(fā)表于 12-13 07:07

    基于機智聯(lián)網(wǎng)平臺與4G DTU遠程車庫門

    和timerMsCount1為全局變量,timerMsCount1在定時器里面自加。到此代碼就完成了,將代碼編譯下載到單片機。接上機智4G模組,上電聯(lián)網(wǎng)設備即可連接云端。利用機智
    發(fā)表于 08-03 16:44

    工業(yè)品質4G Cat.1核心板——Core_Air724UG,很貴,但不是因為顏值

    Core_Air724UG核心板——是合宙基于Air724UG 4G全網(wǎng)通Cat.1模塊,最新推出的工業(yè)級商用核心板。 積木式硬件開發(fā)方式,極大降低
    的頭像 發(fā)表于 09-14 10:36 ?6886次閱讀
    工業(yè)品質<b class='flag-5'>4G</b> Cat.1核心板——Core_<b class='flag-5'>Air724UG</b>,很貴,但不是因為顏值

    緣起Air724UG,Cat.1網(wǎng)紅“貓”到聯(lián)網(wǎng)行業(yè)應用經(jīng)典之選

    提起Air724UG,總讓人想起2020年的春天。群雄競起,各大模組廠商紛紛涌入激蕩的4GCat.1市場。相比之下,合宙Cat.1產(chǎn)品上市不算早,卻以“發(fā)布即量產(chǎn),用產(chǎn)品說話”的獨有風格宣告開啟
    的頭像 發(fā)表于 08-31 09:55 ?2307次閱讀
    緣起<b class='flag-5'>Air724UG</b>,Cat.1網(wǎng)紅“貓”到<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>行業(yè)應用經(jīng)典之選

    降本增效!合宙超低功耗藍牙網(wǎng)關模組——Air724UG-BL全新方案來了

    龐大, 解決藍牙上的問題尤為關鍵。 合宙計劃推出一款 超低功耗藍牙網(wǎng)關模組——Air724UG-BL。 1 Air724UG-BL產(chǎn)品規(guī)劃 合宙A
    的頭像 發(fā)表于 12-14 16:35 ?1317次閱讀
    降本增效!合宙超低功耗藍牙網(wǎng)關<b class='flag-5'>模組</b>——<b class='flag-5'>Air724UG</b>-BL全新方案來了

    合宙超低功耗藍牙網(wǎng)關模組——Air724UG-BL全新方案來了

    隨著聯(lián)網(wǎng)的普及,局域網(wǎng)的數(shù)據(jù)終歸是需要上,才能實現(xiàn)多終端的數(shù)據(jù)共享以及設備控制。因此局域網(wǎng)必須有個網(wǎng)關,將局域網(wǎng)的
    的頭像 發(fā)表于 12-15 08:04 ?1680次閱讀
    合宙超低功耗藍牙網(wǎng)關<b class='flag-5'>模組</b>——<b class='flag-5'>Air724UG</b>-BL全新方案來了