RM新时代网站-首页

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

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

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

STM32最小系統(tǒng)板與ESP01S接入機(jī)智云教程

機(jī)智云 ? 2024-09-04 08:02 ? 次閱讀

本次采用STM32F103C8T6單片機(jī)、ESP-01S 模塊、紅外避障模塊、蜂鳴器模塊,OLED(0.96 iic)、繼電器模塊 、超聲波模塊,接入機(jī)智云平臺(tái),分別演示機(jī)智云平臺(tái)的各類型數(shù)據(jù)點(diǎn)的用法。為嵌入式學(xué)習(xí)添磚加瓦,快速接入機(jī)智云云平臺(tái)。

使用到的模塊

ed0335ce-6a50-11ef-bb4b-92fbcf53809c.png

STM32F103C8T6

ed11b040-6a50-11ef-bb4b-92fbcf53809c.png

ESP-01S

ed189888-6a50-11ef-bb4b-92fbcf53809c.png

超聲波模塊(HC-SR04)

ed284f76-6a50-11ef-bb4b-92fbcf53809c.png

蜂鳴器模塊

ed37f700-6a50-11ef-bb4b-92fbcf53809c.png

OLED(0.96 iic)

ed3c8b62-6a50-11ef-bb4b-92fbcf53809c.png

紅外避障模塊

ed554c56-6a50-11ef-bb4b-92fbcf53809c.png

繼電器模塊

ed73c3e8-6a50-11ef-bb4b-92fbcf53809c.png

USB A TTL CH340

基本工作

第一步:進(jìn)入機(jī)智云開發(fā)者中心創(chuàng)建智能產(chǎn)品

機(jī)智云開發(fā)者中心

詳細(xì)參考機(jī)智云文檔中心

產(chǎn)品創(chuàng)建 - Gizwits

ed88653c-6a50-11ef-bb4b-92fbcf53809c.png

分別新建數(shù)據(jù)點(diǎn)

ed95aca6-6a50-11ef-bb4b-92fbcf53809c.png

第二步:ESP-01S燒錄機(jī)智云固件

需要用到 USB A TTLCH340串口來對(duì)ESP01S進(jìn)行燒錄,連接圖如下

edae759c-6a50-11ef-bb4b-92fbcf53809c.png

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

機(jī)智云下載中心地址(Gizwits)

edc7490a-6a50-11ef-bb4b-92fbcf53809c.png

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

eddabcba-6a50-11ef-bb4b-92fbcf53809c.png

通過去百度查找對(duì)應(yīng)型號(hào)的esp8266,在查看該WIFI模組的Flash大小,我的為8M,所以我選擇燒錄 8M大小的合并固件。

edea3384-6a50-11ef-bb4b-92fbcf53809c.png

使用flash_download_tool工具下載(無需安裝,解壓直接使用)下載地址:工具|樂鑫科技 (espressif.com.cn)

ee0269a4-6a50-11ef-bb4b-92fbcf53809c.png

雙擊打開

ee17be6c-6a50-11ef-bb4b-92fbcf53809c.png

選擇 ESP8266

ee2f4406-6a50-11ef-bb4b-92fbcf53809c.png

USB A TTL CH340 連接到電腦串口(如果顯示不和我一樣 USB-SERILACH340 (xxx),就是沒有安裝 CH340的驅(qū)動(dòng))

ee429880-6a50-11ef-bb4b-92fbcf53809c.png

添加文件

ee54bf1a-6a50-11ef-bb4b-92fbcf53809c.png

燒錄選項(xiàng)

ee6ac4e0-6a50-11ef-bb4b-92fbcf53809c.png

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

ee9c909c-6a50-11ef-bb4b-92fbcf53809c.png

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

eeb35a3e-6a50-11ef-bb4b-92fbcf53809c.png

燒錄完成

eec8ac40-6a50-11ef-bb4b-92fbcf53809c.png

接下來就是測(cè)試了,把多余的線去除,理論上接線圖如下

eede4a28-6a50-11ef-bb4b-92fbcf53809c.png

但是發(fā)現(xiàn),我使用的是拓展塢供電,可能電流不夠,導(dǎo)致掉串口,我就換了一種接法,使用STM32最小系統(tǒng)的3V3對(duì)ESP01s進(jìn)行供電,連接圖如下

eef373d0-6a50-11ef-bb4b-92fbcf53809c.png

注意設(shè)備的共地很重要

ef35be98-6a50-11ef-bb4b-92fbcf53809c.png

機(jī)智云下載中心下載機(jī)智云串口調(diào)試助手

下載連接:Gizwits

ef5d7b72-6a50-11ef-bb4b-92fbcf53809c.png

解壓后雙擊打開

ef6f3006-6a50-11ef-bb4b-92fbcf53809c.png

點(diǎn)擊新增

ef7aef5e-6a50-11ef-bb4b-92fbcf53809c.png

復(fù)制粘貼,我們新建產(chǎn)品的pk和ps

ef93eb62-6a50-11ef-bb4b-92fbcf53809c.png

新增成功

efaa93e4-6a50-11ef-bb4b-92fbcf53809c.png

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

efc6d23e-6a50-11ef-bb4b-92fbcf53809c.png

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

下載地址:Gizwits

efd8d272-6a50-11ef-bb4b-92fbcf53809c.png

手機(jī)打開瀏覽器,掃描二維碼進(jìn)行下載

eff7437e-6a50-11ef-bb4b-92fbcf53809c.png

安裝APP

f0110020-6a50-11ef-bb4b-92fbcf53809c.pngf028b274-6a50-11ef-bb4b-92fbcf53809c.png

權(quán)限全部允許

f037ed48-6a50-11ef-bb4b-92fbcf53809c.png

調(diào)試APP可以點(diǎn)擊下方跳過登陸,直接使用

f0472eac-6a50-11ef-bb4b-92fbcf53809c.png

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

f053362a-6a50-11ef-bb4b-92fbcf53809c.jpg

在到手機(jī)APP操作,點(diǎn)擊添加設(shè)備后,選擇一鍵配網(wǎng)

f05c13a8-6a50-11ef-bb4b-92fbcf53809c.png

記住需要Wifi的網(wǎng)段在 2.4G網(wǎng)段,不用使用 5G 或者2.4G和5G合并的網(wǎng)絡(luò),可以使用電腦開熱點(diǎn)進(jìn)行配網(wǎng)。

f06d9e7a-6a50-11ef-bb4b-92fbcf53809c.pngf081a050-6a50-11ef-bb4b-92fbcf53809c.png

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

f0968510-6a50-11ef-bb4b-92fbcf53809c.pngf0b778a6-6a50-11ef-bb4b-92fbcf53809c.png

稍作等待完成,如果不行,就退回到主界面,看一看到ESP01S以及聯(lián)網(wǎng)了,與我的手機(jī)在同一局域網(wǎng)內(nèi),我們點(diǎn)擊連接即可。

f0cf7636-6a50-11ef-bb4b-92fbcf53809c.png

機(jī)智云串口調(diào)試助手,上報(bào)數(shù)據(jù)

f0e834a0-6a50-11ef-bb4b-92fbcf53809c.pngf1051ec6-6a50-11ef-bb4b-92fbcf53809c.png

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

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

f11a659c-6a50-11ef-bb4b-92fbcf53809c.png

STM32代碼下載與cobeMX配置

利用機(jī)智云開發(fā)者中心的MCU開發(fā)便捷快速生成代碼

下載好并解壓縮機(jī)智云平臺(tái)生成的代碼。

f133d66c-6a50-11ef-bb4b-92fbcf53809c.png

打開解壓好的STM32CubeMX文件,記住路徑不能有中文!

f13b900a-6a50-11ef-bb4b-92fbcf53809c.png

配置IO口輸入模式來接收紅外避障模塊的電平硬件 PC15

兩種狀態(tài):

沒反射——D0輸出高電平——滅

燈反射——D0輸出低電平——亮燈

f153c792-6a50-11ef-bb4b-92fbcf53809c.png

配置蜂鳴器控制引腳PB12

f1715b90-6a50-11ef-bb4b-92fbcf53809c.png

配置繼電器控制引腳 PB13

f183eca6-6a50-11ef-bb4b-92fbcf53809c.png

配置板載LED燈的PC13引腳

f19e0848-6a50-11ef-bb4b-92fbcf53809c.png

配置超聲波Trig引腳為 PA5

f1b73124-6a50-11ef-bb4b-92fbcf53809c.jpg

配置TIM3 選擇通道1 并開啟外部中斷

f1d1aec8-6a50-11ef-bb4b-92fbcf53809c.jpgf1e3f150-6a50-11ef-bb4b-92fbcf53809c.png

選擇區(qū)分文件方便使用

最后生成代碼(不可以有中文路徑?。。?/p>

f200dc8e-6a50-11ef-bb4b-92fbcf53809c.jpg

打開MDK-ARM工程文件夾

f21671b6-6a50-11ef-bb4b-92fbcf53809c.png

添加外設(shè)文件夾

f22bdfb0-6a50-11ef-bb4b-92fbcf53809c.png

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

f2447bd8-6a50-11ef-bb4b-92fbcf53809c.pngf255f6ba-6a50-11ef-bb4b-92fbcf53809c.png

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

include"stm32f1xx_hal.h"f265eb92-6a50-11ef-bb4b-92fbcf53809c.png

編譯無誤后繼續(xù)

f28b9c02-6a50-11ef-bb4b-92fbcf53809c.png

添加頭文件

f2ac698c-6a50-11ef-bb4b-92fbcf53809c.png

主函數(shù)中初始化OLED

f2d3a74a-6a50-11ef-bb4b-92fbcf53809c.png

While(1)死循環(huán)中,實(shí)現(xiàn)邏輯代碼

f2e71e42-6a50-11ef-bb4b-92fbcf53809c.png

while (1) { SR04_GetData(); if(Last_i!=(uint32_t)distant) //當(dāng)前的距離和上一次的距離不同則進(jìn)入 { // currentDataPoint.valuehongwai = ;//Add Sensor Data Collection OLED_ShowString(1,1,"dis:",OLED_8X16); OLED_ShowNum(32,1,distant,3,OLED_8X16); OLED_ShowString(1,16,"Buzzer:",OLED_8X16); currentDataPoint.valueHC_SR04 = distant;//Add Sensor Data Collection if(distant<=30) { OLED_ShowString(56,16,"ON ",OLED_8X16); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_12,GPIO_PIN_RESET); //蜂鳴器 響 currentDataPoint.valueBuzzer = 1;//Add Sensor Data Collection }else { OLED_ShowString(56,16,"OFF",OLED_8X16); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_12,GPIO_PIN_SET); //蜂鳴器 停 currentDataPoint.valueBuzzer = 0;//Add Sensor Data Collection } Last_i=(uint32_t)distant;// Last_i 保存上一次的值 } OLED_ShowString(1,32,"Relays:",OLED_8X16); if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_13)) { OLED_ShowString(56,32,"ON ",OLED_8X16); }else { OLED_ShowString(56,32,"OFF",OLED_8X16); } OLED_ShowString(1,48,"LED:",OLED_8X16); if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_15)) //讀取 紅外避障模塊電平 {//高電平,就是沒有遮擋 OLED_ShowString(56,48,"OFF",OLED_8X16); HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);//給板載LED低電平 滅 }else {//低電平,有物體遮擋 板載LED亮 OLED_ShowString(56,48,"ON ",OLED_8X16); HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET);//給板載LED高電平 亮 } OLED_Update(); HAL_Delay(300); /* USER CODE END WHILE */
/* USER CODE BEGIN 3 */ userHandle(); gizwitsHandle((dataPoint_t *)¤tDataPoint);}

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

f2fcd142-6a50-11ef-bb4b-92fbcf53809c.png

編譯前勾選下圖中的USEMicro LIB

f3100744-6a50-11ef-bb4b-92fbcf53809c.png機(jī)智云開發(fā)者中心查看數(shù)據(jù)

f32eab2c-6a50-11ef-bb4b-92fbcf53809c.pngAPP中查看數(shù)據(jù)

f345a9bc-6a50-11ef-bb4b-92fbcf53809c.png

成果圖

f35399c8-6a50-11ef-bb4b-92fbcf53809c.png

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

    關(guān)注

    6035

    文章

    44554

    瀏覽量

    634614
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10895

    瀏覽量

    355722
  • 機(jī)智云
    +關(guān)注

    關(guān)注

    2

    文章

    587

    瀏覽量

    26392
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何使用STM32F103RC配合esp-01s接入機(jī)智的物聯(lián)網(wǎng)?

    如何使用STM32F103RC配合esp-01s接入機(jī)智的物聯(lián)網(wǎng)?
    發(fā)表于 12-14 06:00

    怎樣去使用基于stm32f1的esp01s驅(qū)動(dòng)庫呢

    @基于stm32f1的esp01s的驅(qū)動(dòng)庫及使用基于用戶zero_rose的驅(qū)動(dòng)改進(jìn),文章來源STM32ESP01驅(qū)動(dòng)庫_面向?qū)ο蟮男问降谝淮螌懖┛?,如有錯(cuò)誤請(qǐng)多包涵。話不多說,直接
    發(fā)表于 01-21 12:41

    基于STM32機(jī)智平臺(tái)控制設(shè)備開關(guān)的相關(guān)資料推薦

    虛擬按鍵控制設(shè)備開關(guān)(設(shè)備上的ed燈可方便識(shí)別)硬件stm32系列開發(fā) (作者使用的是單片機(jī)stm32f103c8最小系統(tǒng)esp8266-01
    發(fā)表于 02-14 07:42

    STM32F103+ESP8266使用工程模板接入機(jī)智的過程

    正點(diǎn)原子STM32mini開發(fā)+ESP8266接入機(jī)智博主是一位剛剛接觸
    發(fā)表于 02-14 07:47

    ESP8266-01S接入機(jī)智物聯(lián)網(wǎng)平臺(tái)

    接入機(jī)智物聯(lián)網(wǎng)平臺(tái),首先需要燒寫機(jī)智的固件,官網(wǎng)就有免費(fèi)下載直接使用!下載對(duì)應(yīng)固件包ESP8266-
    發(fā)表于 04-06 18:32

    基于OTA升級(jí)的ESP01S固件測(cè)試工具

    基于OTA升級(jí)的ESP01S固件測(cè)試工具
    發(fā)表于 07-12 10:26 ?19次下載

    STM32最小系統(tǒng)電容的選取

    STM32最小系統(tǒng)電容的選取
    發(fā)表于 11-17 15:21 ?12次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>最小系統(tǒng)</b><b class='flag-5'>板</b>電容的選取

    STM32F4最小系統(tǒng)的設(shè)計(jì)(轉(zhuǎn)載)

    STM32F4最小系統(tǒng)的設(shè)計(jì)(轉(zhuǎn)載)
    發(fā)表于 11-17 16:51 ?50次下載
    <b class='flag-5'>STM32</b>F4<b class='flag-5'>最小系統(tǒng)</b><b class='flag-5'>板</b>的設(shè)計(jì)(轉(zhuǎn)載)

    基于STM32機(jī)智平臺(tái)控制設(shè)備開關(guān)(物聯(lián)網(wǎng))

    ) 功能簡(jiǎn)單說明設(shè)備開機(jī)直接聯(lián)網(wǎng)使用機(jī)智手機(jī)端app搜索到設(shè)備并連接成功連接后 通過按下off/on手機(jī)虛擬按鍵控制設(shè)備開關(guān)(設(shè)備上的ed燈可方便識(shí)別)硬件stm32系列開發(fā)
    發(fā)表于 12-08 19:36 ?6次下載
    基于<b class='flag-5'>STM32</b>的<b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>平臺(tái)控制設(shè)備開關(guān)(物聯(lián)網(wǎng))

    正點(diǎn)原子STM32F103+ESP8266使用工程模板接入機(jī)智的詳細(xì)步驟

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

    使用blinker控制esp01s Relay繼電器模塊

    . ESP01模塊上電和信號(hào)傳輸在天線區(qū)域右下角有2個(gè)LED燈,紅色LED上電的時(shí)候閃爍,串口通訊的時(shí)候藍(lán)色LED閃爍;ESP01s整個(gè)模塊上只有一個(gè)藍(lán)色LED,上電和串口通訊都是藍(lán)色LED閃爍
    發(fā)表于 04-27 10:45 ?9次下載
    使用blinker控制<b class='flag-5'>esp01s</b> Relay繼電器模塊

    使用小度音箱blinker控制ESP01S Relay繼電器模塊

    一. 使用ESP01S模塊,PIN腳定義如下: 管腳功能如下: ESP01S模塊原理圖: ESP01S模塊比ESP01模塊做了以下優(yōu)化: LED燈的管腳發(fā)生變化,由
    發(fā)表于 04-28 11:39 ?5次下載
    使用小度音箱blinker控制<b class='flag-5'>ESP01S</b> Relay繼電器模塊

    stm32最小系統(tǒng)原理圖下載

    stm32最小系統(tǒng)原理圖免費(fèi)下載
    發(fā)表于 07-01 15:07 ?17次下載

    機(jī)智開源自動(dòng)化控制篇-接近報(bào)警系統(tǒng)

    本次采用STM32F103C8T6單片機(jī)、ESP-01S模塊、紅外避障模塊、蜂鳴器模塊,接入機(jī)智平臺(tái),完成接近報(bào)警
    的頭像 發(fā)表于 08-31 08:02 ?300次閱讀
    <b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>開源自動(dòng)化控制篇-接近報(bào)警<b class='flag-5'>系統(tǒng)</b>

    【有獎(jiǎng)直播】STM32最小系統(tǒng)ESP01S接入機(jī)智實(shí)戰(zhàn)指南

    直播亮點(diǎn)1、零門檻接入機(jī)智平臺(tái):無需復(fù)雜準(zhǔn)備,快速實(shí)現(xiàn)智能化轉(zhuǎn)型,輕松上手。2、手機(jī)App控制實(shí)現(xiàn):通過手機(jī)App即可控制智能設(shè)備,無需開發(fā)經(jīng)驗(yàn),適合零基礎(chǔ)開發(fā)者。3、高效低成本開發(fā):通過
    的頭像 發(fā)表于 09-05 08:03 ?231次閱讀
    【有獎(jiǎng)直播】<b class='flag-5'>STM32</b><b class='flag-5'>最小系統(tǒng)</b><b class='flag-5'>板</b>與<b class='flag-5'>ESP01S</b><b class='flag-5'>接入</b><b class='flag-5'>機(jī)智</b><b class='flag-5'>云</b>實(shí)戰(zhàn)指南
    RM新时代网站-首页