国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于STM32的homeassistant(采用FreeRTOS操作系統(tǒng))【第一章:設(shè)備配網(wǎng)、連接服務(wù)器、斷網(wǎng)重連、斷服務(wù)器重接】

這篇具有很好參考價(jià)值的文章主要介紹了基于STM32的homeassistant(采用FreeRTOS操作系統(tǒng))【第一章:設(shè)備配網(wǎng)、連接服務(wù)器、斷網(wǎng)重連、斷服務(wù)器重接】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

基于STM32的homeassistant(采用FreeRTOS操作系統(tǒng))【第一章:設(shè)備配網(wǎng)、連接服務(wù)器、斷網(wǎng)重連、斷服務(wù)器重接】,HomeAssistant,stm32,嵌入式硬件,單片機(jī),服務(wù)器

?

第一章開發(fā)環(huán)境:

主控 STM32F103C8T6
WIFI模塊 ESP01S
開發(fā)語言 C
開發(fā)編譯器·

KEIL

組網(wǎng)方式 WIFI
服務(wù)器協(xié)議 MQTT

本章要點(diǎn):

  • ESP01S的AT指令配網(wǎng)以及服務(wù)器連接
  • STM32與ESP01S的usart協(xié)議通信
  • 斷網(wǎng)重連以及斷服務(wù)器重連
  • STM32向服務(wù)器端口發(fā)送對(duì)應(yīng)指令

抽象理解:

1、ESP01S1的AT指令配網(wǎng)

????????ESP01S的配網(wǎng)方式為AT指令集,通過識(shí)別對(duì)對(duì)應(yīng)的AT指令實(shí)現(xiàn)對(duì)應(yīng)的操作。

具體ESP01S AT指令集合參考以下文章(84條消息) STM32+ESP-01s+EMQX實(shí)現(xiàn)單片機(jī)MQTT協(xié)議傳輸數(shù)據(jù)上云(一)ESP-01s的AP-MQTT bin文件安裝以及指令使用_esp01 mqtt_JASON丶LI的博客-CSDNA

AT指令總合AT 命令集 - ESP32 - — ESP-AT 用戶指南 latest 文檔 (espressif.com)

2、STM32與ESP01S通信

? ? ? ? STM32本身是不具備連接wifi的能力的,它主要是通過與ESP01S進(jìn)行USART通信,將上述的AT指令集傳輸?shù)紼SP01S,以此來觸發(fā)其實(shí)現(xiàn)對(duì)應(yīng)的操作。

3、重連

斷網(wǎng)重連

AT+CWRECONNCFG=3,100
//設(shè)置wifi自動(dòng)重連,間隔為3s一次,持續(xù)100次

斷服務(wù)器重連

AT+MQTTCONN=0,"127.0.0.1",1883,1

4、指令發(fā)送

printf("AT+RESTODE\r\n");	//模塊初始化
delay_ms(5000);
printf("AT+CWMODE=1\r\n");	//設(shè)置wifi模式為Station模式
delay_ms(5000);
printf("AT+CWJAP=\"Xiaomi_2\",\"84961994\"\r\n");	//連接wifi
delay_ms(5000);
printf("AT+CWRECONNCFG=3,100\r\n");	//設(shè)置wifi自動(dòng)重連,間隔為3s一次,持續(xù)100次
delay_ms(5000);
printf("AT+MQTTUSERCFG=0,1,\"ESP01SHomeAssistant\",\"admin\",\"84961994\",0,0,\"\"\r\n");	//設(shè)置用戶屬性
delay_ms(5000);
printf("AT+MQTTCONN=0,\"43.139.72.253\",1883,1\r\n");	//連接mqtt服務(wù)器
delay_ms(5000);
printf("AT+MQTTSUB=0,\"TOESP01S\",0\r\n");	//訂閱TOESP01S
delay_ms(5000);

記住這里的指令每條之間都要delay5s左右,因?yàn)樾枰o予其足夠的時(shí)間處理上一條指令。

代碼

這里代碼我就只給出主函數(shù)以及對(duì)應(yīng)的輸出指令函數(shù)了,應(yīng)該我的代碼是基于FreeRTOS系統(tǒng)寫的,要是不太懂的話可以到我之前的博客去簡單入門一下(而且printf重定義也不放在這里面了)

main.c

#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "FreeRTOS.h"
#include "task.h"
#include "sys.h"
#include "Wifi.h"
/***************
Jason:
STM32F103C8T6
FreeRTOS
2023/7/6
***************/

#define START_TASK_PRIO			1
#define START_STK_SIZE			128
TaskHandle_t StartTask_Handler;
void start_task(void *pvParameters);

#define Send_TASK_PRIO			2
#define Send_STK_SIZE				50
TaskHandle_t SendTask_Handler;
void Send_task(void *pvParameters);


int main(void)
{
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
	delay_init();
	uart_init(115200);
	Wifi_Init();
	xTaskCreate((TaskFunction_t		)start_task,
							(const char*			)"start_task",
							(uint16_t					)START_STK_SIZE,
							(void*						)NULL,
							(UBaseType_t			)START_TASK_PRIO,
							(TaskHandle_t*		)&StartTask_Handler);
	vTaskStartScheduler();
}

void start_task(void *pvParameters)
{
	taskENTER_CRITICAL();
	
	xTaskCreate((TaskFunction_t		)Send_task,
							(const char*			)"Send_task",
							(uint16_t					)Send_STK_SIZE,
							(void*						)NULL,
							(UBaseType_t			)SendTask_Handler,
							(TaskHandle_t*		)&SendTask_Handler);
	vTaskDelete(StartTask_Handler);
	taskEXIT_CRITICAL();

}

void Send_task(void *pvParameters)
{
	printf("AT+MQTTPUB=0,\"FROMESP01S\",\"ESP01S-OK\",0,0");//發(fā)送對(duì)應(yīng)指令
}

Wifi.c

#include "usart.h"
#include "FreeRTOS.h"
#include "task.h"
#include "Wifi.h"
#include "delay.h"

void Wifi_Init(void)
{
	printf("AT+RESTODE\r\n");	//模塊初始化
	delay_ms(5000);
	printf("AT+CWMODE=1\r\n");	//設(shè)置wifi模式為Station模式
	delay_ms(5000);
	printf("AT+CWJAP=\"Xiaomi_2\",\"84961994\"\r\n");	//連接wifi
	delay_ms(5000);
	printf("AT+CWRECONNCFG=3,100\r\n");	//設(shè)置wifi自動(dòng)重連,間隔為3s一次,持續(xù)100次
	delay_ms(5000);
	printf("AT+MQTTUSERCFG=0,1,\"ESP01SHomeAssistant\",\"admin\",\"84961994\",0,0,\"\"\r\n");	//設(shè)置用戶屬性
	delay_ms(5000);
	printf("AT+MQTTCONN=0,\"43.139.72.253\",1883,1\r\n");	//連接mqtt服務(wù)器
	delay_ms(5000);
	printf("AT+MQTTSUB=0,\"TOESP01S\",0\r\n");	//訂閱TOESP01S
	delay_ms(5000);
}

如果要整個(gè)項(xiàng)目的工程文件,可以直接到百度網(wǎng)盤提取(解壓密碼同下)

鏈接:https://pan.baidu.com/s/1_nRoSaMWo67tFVc15L4oHg?pwd=1016?
提取碼:1016

jason的HA學(xué)習(xí)交流裙:640172597

基于STM32的homeassistant(采用FreeRTOS操作系統(tǒng))【第一章:設(shè)備配網(wǎng)、連接服務(wù)器、斷網(wǎng)重連、斷服務(wù)器重接】,HomeAssistant,stm32,嵌入式硬件,單片機(jī),服務(wù)器

?本文為作者獨(dú)立編寫

?本BLOG上所有的原創(chuàng)文章未經(jīng)本人許可,不得用于商業(yè)用途及傳統(tǒng)媒體。網(wǎng)絡(luò)媒體轉(zhuǎn)載請(qǐng)注明出處,否則屬于侵權(quán)行為。

特別鳴謝:77文章來源地址http://www.zghlxwxcb.cn/news/detail-531414.html

到了這里,關(guān)于基于STM32的homeassistant(采用FreeRTOS操作系統(tǒng))【第一章:設(shè)備配網(wǎng)、連接服務(wù)器、斷網(wǎng)重連、斷服務(wù)器重接】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • STM32FreeRTOS操作系統(tǒng)移植

    STM32FreeRTOS操作系統(tǒng)移植

    移植好的FreeRTOS模板: 鏈接:https://pan.baidu.com/s/1_87VQAWXUl4jTqSCZ0MFjw?pwd=dw52? 提取碼:dw52 1.在工程中新建FreeRTOS文件夾 2.把源碼source里面的文件全部粘貼進(jìn)FreeRTOS文件夾中 ?3.在portable文件中只保留一下文件,其余刪除 ?4.新建如下兩個(gè)文件夾 ?5.在FreeRTOS_CODE目錄下添加以下文件

    2024年02月08日
    瀏覽(30)
  • STM32移植FreeRTOS操作系統(tǒng)

    STM32移植FreeRTOS操作系統(tǒng)

    一、FreeRTOS源碼下載 (1)移植錢得準(zhǔn)備前菜對(duì)吧,我們先來去官網(wǎng)瞄一瞄 網(wǎng)址:FreeRTOS - Market leading RTOS (Real Time Operating System) for embedded systems with Internet of Things extensions 第一步:點(diǎn)擊下載FreeRTOS 第二步:選擇版本下載(我選擇穩(wěn)定版本) 注:我們下載的穩(wěn)定版本不包含DEMO例

    2024年01月17日
    瀏覽(19)
  • 簡單介紹STM32上的FreeRTOS實(shí)時(shí)操作系統(tǒng)

    FreeRTOS是一款廣泛使用的開源實(shí)時(shí)操作系統(tǒng)(RTOS),它為嵌入式系統(tǒng)提供了可靠的任務(wù)調(diào)度和并發(fā)管理。在嵌入式領(lǐng)域中,STM32微控制器廣受歡迎,并且與FreeRTOS的結(jié)合使用可以提供強(qiáng)大的功能和靈活性。在本篇博客中,我們將深入探究STM32上的FreeRTOS,并了解其核心概念、任

    2024年02月16日
    瀏覽(33)
  • STM32初學(xué)者入門FreeRTOS操作系統(tǒng),多任務(wù)實(shí)時(shí)系統(tǒng)

    STM32初學(xué)者入門FreeRTOS操作系統(tǒng),多任務(wù)實(shí)時(shí)系統(tǒng)

    ? ? ? ? FreeRTOS(Free Real-Time Operating System)是一個(gè)開源的嵌入式實(shí)時(shí)操作系統(tǒng),它專門設(shè)計(jì)用于在資源有限的嵌入式系統(tǒng)中運(yùn)行。FreeRTOS提供了一些用于任務(wù)管理、調(diào)度、同步和通信的功能,使開發(fā)者能夠輕松地創(chuàng)建可靠的嵌入式系統(tǒng)。 以下是FreeRTOS的一些特點(diǎn)和功能: 輕量

    2024年02月11日
    瀏覽(27)
  • 基于stm32單片機(jī)和rt-thread操作系統(tǒng)的智能燈

    基于stm32單片機(jī)和rt-thread操作系統(tǒng)的智能燈

    目????錄 一、 總體概況 二、 各部分介紹 2.1??STM32F4開發(fā)板 2.2??光敏模塊 2.3 ?麥克風(fēng)模塊 2.4??超聲波模塊 三、 RT-Thread介紹 四、 開發(fā)過程 五、 未來設(shè)想 六、 開發(fā)心得 總體概況 本次測(cè)試技術(shù)與信號(hào)處理課程作業(yè),我利用了stm32單片機(jī)和rt-thread實(shí)時(shí)操作系統(tǒng)進(jìn)行實(shí)踐。

    2023年04月16日
    瀏覽(21)
  • FreeRTOS內(nèi)存管理 基于STM32

    FreeRTOS內(nèi)存管理 基于STM32

    目錄 一、內(nèi)存管理的基本概念 二、內(nèi)存管理的應(yīng)用場(chǎng)景 三、heap_4.c 1.內(nèi)存申請(qǐng)函數(shù) pvPortMalloc() 2.內(nèi)存釋放函數(shù) vPortFree() ?四、內(nèi)存管理的實(shí)驗(yàn) 五、內(nèi)存管理的實(shí)驗(yàn)現(xiàn)象 ? ? ? 在計(jì)算系統(tǒng)中,變量、中間數(shù)據(jù)一般存放在系統(tǒng)存儲(chǔ)空間中,只有在實(shí)際使用時(shí)才將 它們從存儲(chǔ)空

    2024年02月14日
    瀏覽(18)
  • FreeRTOS事件組 基于STM32

    FreeRTOS事件組 基于STM32

    文章對(duì)事件組的,應(yīng)用場(chǎng)景,運(yùn)作機(jī)制,以及事件的創(chuàng)建,刪除,等待,置位,同步等操作 文章目錄 概述 一、事件標(biāo)志組簡介 1、事件位(事件標(biāo)志) 2、事件組 3、事件標(biāo)志組和事件位的數(shù)據(jù)類型 二、事件的應(yīng)用場(chǎng)景 三、事件運(yùn)作機(jī)制 四、事件控制塊 ?五、事件組函數(shù) 1.事

    2024年02月11日
    瀏覽(15)
  • 【STM32】STM32 移植鴻蒙操作系統(tǒng)

    【STM32】STM32 移植鴻蒙操作系統(tǒng)

    隨著 OpenHarmony3.1 的正式發(fā)布,其功能也在不斷完善。OpenHarmony LiteOS-M 內(nèi)核是面向IoT領(lǐng)域構(gòu)建的輕量級(jí)物聯(lián)網(wǎng)操作系統(tǒng)內(nèi)核,具有小體積、低功耗、高性能的特點(diǎn),其代碼結(jié)構(gòu)簡單,主要包括內(nèi)核最小功能集、內(nèi)核抽象層、可選組件以及工程目錄等,分為硬件相關(guān)層以及硬件無

    2024年02月09日
    瀏覽(14)
  • FreeRTOS軟件定時(shí)器 基于STM32

    FreeRTOS軟件定時(shí)器 基于STM32

    文章目錄 一·、軟件定時(shí)器的基本概念 二、軟件定時(shí)器應(yīng)用場(chǎng)景 三、軟件定時(shí)器的精度 四、軟件定時(shí)器的運(yùn)作機(jī)制 五、軟件定時(shí)器函數(shù)接口講解 1.軟件定時(shí)器創(chuàng)建函數(shù) xTimerCreate() 2.軟件定時(shí)器啟動(dòng)函數(shù) xTimerStart() ?3.軟件定時(shí)器停止函數(shù)? xTimerStop() ?4.軟件定時(shí)器任務(wù) 5.軟件

    2024年02月11日
    瀏覽(22)
  • FreeRTOS小項(xiàng)目實(shí)戰(zhàn)------基于FreeRTOS和stm32的門禁系統(tǒng)

    FreeRTOS小項(xiàng)目實(shí)戰(zhàn)------基于FreeRTOS和stm32的門禁系統(tǒng)

    目錄 收獲 系統(tǒng)總體框架 程序框架 具體程序?qū)崿F(xiàn) 工程文件網(wǎng)盤鏈接 收獲 學(xué)習(xí) freertos的移植與裁剪 ,對(duì)任務(wù)間通信的認(rèn)識(shí)更加深刻,加深了實(shí)時(shí)操作系統(tǒng)的理解,學(xué)習(xí)了as608指紋模塊,rc522刷卡模塊等模塊的簡單使用。 系統(tǒng)總體框架 該系統(tǒng)采用STM32F407ZGT6為主控芯片,在Fre

    2024年02月02日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包