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

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

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

3天內(nèi)不再提示

基于STM32 HAL庫與標準庫的esp8266接入機智云方案(二)

機智云 ? 2025-05-28 18:02 ? 次閱讀


在《基于STM32HAL庫與標準庫的esp8266接入機智云方案(一)》中,我們詳細介紹了硬件連接和機智云客戶端的創(chuàng)建。本篇將重點講解如何下載代碼、分析下載的代碼,并直接使用這些代碼連接機智云。同時,我們還將討論如何移植HAL庫和標準庫以實現(xiàn)與機智云的兼容,幫助開發(fā)者更高效地完成項目的云平臺接入。



代碼下載e2d86e6c-3baa-11f0-986f-92fbcf53809c.png


注意:此時手機app端的該設(shè)備為網(wǎng)頁端的虛擬設(shè)備僅僅是作為調(diào)試UI使用。之后移植完成代碼后,會與ESP8266連接,此時會出現(xiàn)一個新的設(shè)備信息來控制MCU,確認后,就可以去生成代碼了。





e2e3567e-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png


點擊MCU開發(fā),選擇硬件平臺。


首先,確認項目的開發(fā)方式是標準庫還是HAL 庫,如果是標準庫,只能選擇其他平臺。我使用的是HAL庫,同時也是F1x的板子,所以我選擇F103C8。輸入PS碼后即可點擊生成項目代碼。生成后下載下來使用即可!





e2f62902-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

后面如果需要加其他數(shù)據(jù)或者需要控制其他東西的話都是需要重新生成代碼的!



分析下載下來的代碼e2d86e6c-3baa-11f0-986f-92fbcf53809c.png


下載下來后我們先簡單觀察里面的代碼的基本功能和配置:我們打開下載下來的代碼如果是F103C8型號就是可以直接使用的,如果不是我后面也會詳細說移植步驟!


我們打開里面的CubeMX工程可以發(fā)現(xiàn):使用機智云需要一個定時器ms級別的中斷和兩個串口,一個打印信息,一個連接esp8266,還有兩個按鍵(非必要),然后我們點開keil工程,查看main函數(shù)里面到底有什么,使用了什么:



/* Initialize interrupts */ MX_NVIC_Init();//中斷優(yōu)先級配置 /* USER CODE BEGIN 2 */ timerInit();//開啟定時器中斷 uartInit();//開啟串口2接收中斷 userInit();//初始化數(shù)據(jù)(比如,LED) gizwitsInit();//機智云初始化 keyInit();//按鍵初始化
GIZWITS_LOG("MCU Init Success , SoftVersion = %s\r\n",SOFTWARE_VERSION);//打印數(shù)據(jù) /* USER CODE END 2 */#ifdefOTA_ENABLE Pro_D2W_Ask_Module_Reboot();#endif /* Infinite loop */ /* USER CODE BEGIN WHILE */ while(1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ userHandle();//數(shù)據(jù)上傳 gizwitsHandle((dataPoint_t *)¤tDataPoint);//任務(wù)處理(比如:開關(guān)LED) } /* USER CODE END 3 */AI寫代碼


我們可以使用CH340連接串口1,esp8266連接串口2,查看按鍵的打印信息:


e30cd396-3baa-11f0-986f-92fbcf53809c.png


發(fā)現(xiàn)按鍵設(shè)置長短按,分別用來設(shè)置esp8266的工作模式,移植后的代碼的串口發(fā)送函數(shù)已經(jīng)包裝成了GIZWITS_LOG


想要熟悉使用機智云代碼就必須會使用兩個函數(shù):


userHandle();//數(shù)據(jù)上傳

gizwitsHandle((dataPoint_t *)¤tDataPoint);//任務(wù)處理(比如:開關(guān)LED)

AI寫代碼


userHandle();//數(shù)據(jù)上傳






e3181864-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

gizwitsHandle((dataPoint_t *)¤tDataPoint);//任務(wù)處理(比如:開關(guān)LED):點擊跳轉(zhuǎn)定義





e32b9736-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

點擊進入箭頭這個函數(shù):





e33cef72-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png


基本了解了代碼的最基本的功能后,后續(xù)移植也會更得心應(yīng)手。


直接使用下載下來的代碼e2d86e6c-3baa-11f0-986f-92fbcf53809c.png


4.1、修改代碼點亮LED


下載的代碼中只定義了一個定時器、兩個串口、兩個按鍵,其他就沒有配置了,我們這里自己個他配置一個LED的GPIO口,用于模擬燈:


修改1:





e3532ee0-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png


staticvoidMX_GPIO_Init(void){ GPIO_InitTypeDef GPIO_InitStruct; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOD_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); /*Configure GPIO pin : KEY1_Pin */ GPIO_InitStruct.Pin=KEY1_Pin; GPIO_InitStruct.Mode=GPIO_MODE_INPUT; GPIO_InitStruct.Pull=GPIO_PULLUP; HAL_GPIO_Init(KEY1_GPIO_Port, &GPIO_InitStruct); /*Configure GPIO pin : KEY2_Pin */ GPIO_InitStruct.Pin=KEY2_Pin; GPIO_InitStruct.Mode=GPIO_MODE_INPUT; GPIO_InitStruct.Pull=GPIO_PULLUP; HAL_GPIO_Init(KEY2_GPIO_Port, &GPIO_InitStruct);
//自己添加的GPIO口初始化,用于驅(qū)動LED GPIO_InitStruct.Pin=GPIO_PIN_9; GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull=GPIO_PULLUP; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);}AI寫代碼


修改2:





e33cef72-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png



連接機智云平臺

e2d86e6c-3baa-11f0-986f-92fbcf53809c.png


然后按照要求連接號硬件和LED,上電試著連接機智云,先長按Key2進入airlink模式,然后使用手機打開機智云點擊右上角的+,然后點擊一鍵配網(wǎng)

等待配對成功后,就可以使用機智云控制LED開關(guān)了。





e387b4e4-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png


e3982a86-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

連接機智云串口打印信息





e3af84d8-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png



HAL庫移植機智云e2d86e6c-3baa-11f0-986f-92fbcf53809c.png


前面我們已經(jīng)熟悉了下載的代碼的最基本需求:一個串口打印信息,一個串口連接esp8266,一個定時器ms級別中斷,兩個按鍵(非必要),那么我們進行移植之前就得先得到一個已經(jīng)配置好的keil工程



Keil工程的生成e2d86e6c-3baa-11f0-986f-92fbcf53809c.png


前面我們已經(jīng)熟悉了機智云代碼的最基本的需求,所以我們移植之前的需要得到一個符合條件的Keil工程,一個串口打印信息(串口1,115200bits/s),一個串口連接esp8266(串口2,9600bits/s),一個定時器實現(xiàn)ms級別中斷(定時器2),兩個按鍵(非必須),需要移植的代碼中配置好的就是串口1、串口2,定時器2,如果我們想要使用其他的外設(shè),我們就需要修改機智云代碼中的句柄,比如我們想要串口1連接esp8266,串口2打印信息,定時器3實現(xiàn)中斷,我們在機智云代碼中需要的修改的地方:huart1和huart2互換地方,htim2修改為htim3,以此類推。


我們這里就不隨便換他的外設(shè)配置了,就按照它的來配置,最快把這個機智云物聯(lián)網(wǎng)平臺使用起來:





e3cda008-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

打開外部高速時鐘





e3dc9144-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

配置時鐘頻率:





e3efb936-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

配置定時器二:





e4072102-3baa-11f0-986f-92fbcf53809c.jpge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

別忘記了打開定時器中斷:





e4164a7e-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

配置串口1負責(zé)打印信息(115200bits/s):





e424d2e2-3baa-11f0-986f-92fbcf53809c.jpge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

配置串口二(9600bits/s):





e433c040-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

一樣別忘記打開中斷:





e446381a-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

配置點燈GPIO口:





e45a87c0-3baa-11f0-986f-92fbcf53809c.jpge2d86e6c-3baa-11f0-986f-92fbcf53809c.png

最后生成工程即可:





e46cb896-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png


e4878be4-3baa-11f0-986f-92fbcf53809c.pnge2d86e6c-3baa-11f0-986f-92fbcf53809c.png


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

    關(guān)注

    2291

    文章

    11019

    瀏覽量

    363007
  • 機智云
    +關(guān)注

    關(guān)注

    3

    文章

    611

    瀏覽量

    26761
  • HAL
    HAL
    +關(guān)注

    關(guān)注

    2

    文章

    72

    瀏覽量

    13018
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    HAL每天一例】第063例:WIFI-ESP8266

    /1i574oPv 密碼:r3s3(硬石YS-F1Pro開發(fā)板HAL例程持續(xù)更新\1. 軟件設(shè)計之基本裸機例程(HAL版本)\YSF1-064. WIFI-
    發(fā)表于 07-07 09:03

    機智自動生成工程移植STM32CubeMX

    ESP8266-12F);3.USB轉(zhuǎn)TTL模塊一個,串口調(diào)試用;軟件工具為:1.STM32CubeMX V4.16.1;2.機智自助開發(fā)平臺;3.串口調(diào)試助手;4 . Keil
    發(fā)表于 02-07 16:59

    ESP8266-12F模塊接入案例

    串口調(diào)試助手驗證該模塊和機智服務(wù)器的通信是否OK。示例:附件及詳細文檔請到機智社區(qū)搜索“ESP8266-12F模塊無線
    發(fā)表于 02-20 16:49

    如何移植STM32固件

    機智官方生成的MCU代碼(hal)移植為STM32標準
    發(fā)表于 11-11 06:24

    STM32F103+ESP8266使用工程模板接入機智的過程

    正點原子STM32mini開發(fā)板+ESP8266接入機智博主是一位剛剛接觸STM32的小白,在
    發(fā)表于 02-14 07:47

    基于STM32esp8266機智app聯(lián)網(wǎng)總結(jié)

    背景是有一個成熟的STM32機智項目代碼,記錄一下成功應(yīng)用的過程。第一步:用ttl轉(zhuǎn)u***串口給esp8266燒錄機智
    發(fā)表于 04-25 13:40

    機智ESP8266模組固件資料下載

    機智ESP8266模組固件
    發(fā)表于 04-23 15:55 ?67次下載
    <b class='flag-5'>機智</b><b class='flag-5'>云</b><b class='flag-5'>ESP8266</b>模組固件資料下載

    從5方面描述STM32F407+ESP8266連接機智過程

    由于本次使用的ESP8266是原來機智代產(chǎn)品上的,可能正常聯(lián)上機智,故沒有給
    的頭像 發(fā)表于 06-21 10:06 ?1.2w次閱讀

    ESP8266系列封裝資源下載

    ESP8266系列封裝資源下載
    發(fā)表于 05-20 16:04 ?0次下載

    ESP8266 PCB的模塊封裝下載

    ESP8266 PCB的模塊封裝下載
    發(fā)表于 10-28 14:50 ?181次下載

    機智官方生成的MCU代碼(hal)移植為STM32標準教程

    機智官方生成的MCU代碼(hal)移植為STM32標準
    發(fā)表于 11-06 09:51 ?15次下載
    <b class='flag-5'>機智</b><b class='flag-5'>云</b>官方生成的MCU代碼(<b class='flag-5'>hal</b><b class='flag-5'>庫</b>)移植為<b class='flag-5'>STM32</b><b class='flag-5'>標準</b><b class='flag-5'>庫</b>教程

    STM32通過ESP8266利用機智平臺實現(xiàn)手機遠程操作

    直奔主題,本次練習(xí)是將STM32作為主控芯片,ESP8266作為外設(shè),利用串口傳遞信息,通過機智平臺實現(xiàn)與手機之間的通信
    發(fā)表于 12-06 18:36 ?14次下載
    <b class='flag-5'>STM32</b>通過<b class='flag-5'>ESP8266</b>利用<b class='flag-5'>機智</b><b class='flag-5'>云</b>平臺實現(xiàn)手機遠程操作

    正點原子STM32F103+ESP8266使用工程模板接入機智的詳細步驟

    正點原子STM32mini開發(fā)板+ESP8266接入機智博主是一位剛剛接觸STM32的小白,在
    發(fā)表于 12-08 20:21 ?16次下載
    正點原子<b class='flag-5'>STM32F103+ESP8266</b>使用工程模板<b class='flag-5'>接入</b><b class='flag-5'>機智</b><b class='flag-5'>云</b>的詳細步驟

    教程:ESP8266接入機智,成功實現(xiàn)代碼移植

    本文主要以圖文方式介紹了ESP8266接入機智,生成MCU代碼,并成功移植代碼,實現(xiàn)APP控制硬件設(shè)備的過程。操作步驟如下:1、將固件寫入ESP8
    的頭像 發(fā)表于 01-12 10:16 ?6989次閱讀
    教程:<b class='flag-5'>ESP8266</b><b class='flag-5'>接入</b><b class='flag-5'>機智</b><b class='flag-5'>云</b>,成功實現(xiàn)代碼移植

    基于STM32 HAL標準ESP8266接入機智方案(一)

    最近在項目中需要進行物聯(lián)網(wǎng)平臺對接,之前我找到了一些資料,發(fā)現(xiàn)機智是一個不錯的平臺。機智的資料豐富,且操作簡便,可以根據(jù)MCU自動生成
    的頭像 發(fā)表于 05-28 18:02 ?193次閱讀
    基于<b class='flag-5'>STM32</b> <b class='flag-5'>HAL</b><b class='flag-5'>庫</b>與<b class='flag-5'>標準</b><b class='flag-5'>庫</b>的<b class='flag-5'>ESP8266</b><b class='flag-5'>接入</b><b class='flag-5'>機智</b><b class='flag-5'>云</b><b class='flag-5'>方案</b>(一)
    主站蜘蛛池模板: 天天射网| 天天玩天天干 | 伊人丁香婷婷综合一区二区 | 免费视频精品 | 无遮挡一级毛片视频 | 亚洲一区二区三区精品视频 | 亚洲男人的天堂久久香蕉 | 91av在线视频观看 | 亚洲码欧美码一区二区三区 | 一区二区三区视频网站 | 国产一级做a爰片久久毛片男 | 91老色批网站免费看 | 欧洲性开放大片免费观看视频 | 天天爽天天狼久久久综合 | 午夜久久久久久亚洲国产精品 | 麻豆国产一区二区在线观看 | 全部免费特黄特色大片视频 | 亚洲精品美女视频 | 香蕉色综合| 在线国产资源 | 国产精品久久久久久久成人午夜 | 二区三区在线观看 | 久久美女性网 | 欧美亚洲综合另类成人 | 三级色图| 日本久草网| 亚洲天堂h | 久久青草免费91观看 | 手机看片1024欧美 | 免费aa| 特级aaaaaaaaa毛片免费视频 | 女人被狂躁视频免费网站 | 9久久99久久久精品齐齐综合色圆 | 日日做夜夜爽夜夜爽 | 欧美69xxx| bt天堂在线最新版在线 | 中文字幕不卡免费高清视频 | 国产精品福利一区 | 欧美黑粗特黄午夜大片 | 久久综合色婷婷 | 免费高清视频在线观看 |