標(biāo)題: STM32最小系統(tǒng)板+ESP01S接入機(jī)智云教程篇 [打印本頁(yè)]

作者: 機(jī)智云    時(shí)間: 2024-9-13 18:09
標(biāo)題: STM32最小系統(tǒng)板+ESP01S接入機(jī)智云教程篇
本次采用 STM32F103C8T6單片機(jī)、ESP-01S 模塊、紅外避障模塊、蜂鳴器模塊,OLED(0.96 iic)、繼電器模塊 、超聲波模塊,接入機(jī)智云平臺(tái),分別演示機(jī)智云平臺(tái)的各類型數(shù)據(jù)點(diǎn)的用法。為嵌入式學(xué)習(xí)添磚加瓦,快速接入機(jī)智云云平臺(tái)。
      適用的人群:入門嵌入式、學(xué)生、電子DIY愛(ài)好者
      注:本項(xiàng)目用到的外設(shè)文件我會(huì)在文章最后上傳附件,點(diǎn)擊放大圖片可以清晰參看。
教程使用到的模塊:
STM32F103C8T6


ESP-01S

超聲波模塊(HC-SR04)

蜂鳴器模塊


OLED(0.96 iic)

紅外避障模塊


繼電器模塊

USB A TTL CH340



基本工作

第一步:進(jìn)入機(jī)智云開(kāi)發(fā)者中心創(chuàng)建智能產(chǎn)品 機(jī)智云開(kāi)發(fā)者中心 (gizwits.com)
詳細(xì)參考機(jī)智云文檔中心(產(chǎn)品創(chuàng)建 - Gizwits
分別新建數(shù)據(jù)點(diǎn)

第二步:ESP-01S燒錄機(jī)智云固件
      需要用到 USB A TTLCH340串口來(lái)對(duì)ESP01S進(jìn)行燒錄,連接圖如下:



完成成連接,我們到機(jī)智云下載中心下載機(jī)智云對(duì)應(yīng)的固件:
機(jī)智云下載中心地址(Gizwits

解壓我們可以看到有好多種固件,帶combine的是合并固件,燒錄只需要選擇這一個(gè)即可,分別有 8M 16M 32M 大小的固件給我們燒錄,這時(shí)候就需要去查看我們的ESP01S的flash大小是多少了。

通過(guò)去百度查找對(duì)應(yīng)型號(hào)的esp8266,在查看該WIFI模組的Flash大小,我的為8M,所以我選擇燒錄 8M大小的合并固件。
使用flash_download_tool工具下載(無(wú)需安裝,解壓直接使用)
下載地址:工具|樂(lè)鑫科技 (espressif.com.cn)

雙擊打開(kāi):

選擇 ESP8266

USB A TTL CH340 連接到電腦串口(如果顯示不和我一樣 USB-SERILACH340 (xxx),就是沒(méi)有安裝 CH340的驅(qū)動(dòng))
添加文件:
燒錄選項(xiàng):


好了就先擦除一下芯片以前的固件

在進(jìn)行燒錄(顯示紅圈中的參數(shù)基本就燒錄成功,硬件沒(méi)問(wèn)題,能讀取到信息)



燒錄完成:

接下來(lái)就是測(cè)試了,把多余的線去除,理論上接線圖如下:
但是發(fā)現(xiàn),我使用的是拓展塢供電,可能電流不夠,導(dǎo)致掉串口,我就換了一種接法,使用STM32最小系統(tǒng)的3V3對(duì)ESP01s進(jìn)行供電,連接圖如下:
注意設(shè)備的共地很重要
機(jī)智云下載中心下載機(jī)智云串口調(diào)試助手:
下載連接:Gizwits
解壓后雙擊打開(kāi)
點(diǎn)擊新增:
復(fù)制粘貼,我們新建產(chǎn)品的 pk 和 ps
新增成功:

選擇串口,打開(kāi)串口,點(diǎn)擊初始化,有RX回復(fù)表示串口通信成功。


接下來(lái)就是機(jī)智云的下載中心下載機(jī)智云的APP對(duì)設(shè)備進(jìn)行配網(wǎng)
下載地址:Gizwits

手機(jī)打開(kāi)瀏覽器,掃描二維碼進(jìn)行下載
安裝APP

權(quán)限全部允許:
調(diào)試APP可以點(diǎn)擊下方跳過(guò)登陸,直接使用


回到機(jī)智云串口調(diào)試助手點(diǎn)擊初始化,過(guò)幾秒在點(diǎn)擊 Airlink 進(jìn)入配網(wǎng)

在到手機(jī)APP操作:
點(diǎn)擊添加設(shè)備后,選擇一鍵配網(wǎng)
記住需要Wifi的網(wǎng)段在 2.4G網(wǎng)段,不用使用 5G 或者2.4G和5G合并的網(wǎng)絡(luò),可以使用電腦開(kāi)熱點(diǎn)進(jìn)行配網(wǎng)。



在等待下圖的過(guò)程中,可以發(fā)現(xiàn)機(jī)智云串口調(diào)試助手會(huì)有大量的數(shù)據(jù)接收到,可能是配網(wǎng)成功的現(xiàn)象。

稍作等待完成,如果不行,就退回到主界面,看一看到ESP01S以及聯(lián)網(wǎng)了,與我的手機(jī)在同一局域網(wǎng)內(nèi),我們點(diǎn)擊連接即可
機(jī)智云串口調(diào)試助手,上報(bào)數(shù)據(jù)

到此完成ESP01S的配網(wǎng)流程,ESP01S可以直接接到STM32最小系統(tǒng)的串口進(jìn)行使用了。




接下來(lái)是各個(gè)模塊與單片機(jī)的連接,接線圖如下:

     STM32代碼下載與cobeMX配置
利用機(jī)智云開(kāi)發(fā)者中心的MCU開(kāi)發(fā)便捷快速生成代碼
下載好并解壓縮機(jī)智云平臺(tái)生成的代碼。



打開(kāi)解壓好的STM32CubeMX文件,記住路徑不能有中文!

配置IO口輸入模式來(lái)接收紅外避障模塊的電平硬件 PC15
兩種狀態(tài):
沒(méi)反射——D0輸出高電平——滅
燈反射——D0輸出低電平——亮燈

配置蜂鳴器控制引腳PB12:
配置繼電器控制引腳 PB13
配置板載LED燈的PC13引腳
配置超聲波Trig引腳為 PA5
配置TIM3 選擇通道1 并開(kāi)啟外部中斷
選擇區(qū)分文件方便使用
最后生成代碼(不可以有中文路徑。。

打開(kāi)MDK-ARM工程文件夾

添加外設(shè)文件夾

在project 中添加Hardware 文件夾的編譯路徑,以及添加進(jìn)入工程

補(bǔ)全外設(shè)的頭文件,在main.h中添加
#include"stm32f1xx_hal.h"

編譯無(wú)誤后繼續(xù)

添加頭文件

主函數(shù)中初始化OLED
While(1)死循環(huán)中,實(shí)現(xiàn)邏輯代碼

[color=rgb(0, 0, 0) !important]復(fù)制代碼



在gizwits_product.c 的第79行后面添加控制繼電器的代碼,如下圖:

編譯前勾選下圖中的USEMicro LIB



機(jī)智云開(kāi)發(fā)者中心查看數(shù)據(jù)

在APP中查看數(shù)據(jù)
成果圖:






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1