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

51單片機ESP8266

這篇具有很好參考價值的文章主要介紹了51單片機ESP8266。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、MQTT透傳AT固件

安信可提供的燒錄WiFi固件工具:
鏈接: https://docs.ai-thinker.com/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B72

安信可提供的固件庫鏈接: https://docs.ai-thinker.com/%E5%9B%BA%E4%BB%B6%E6%B1%87%E6%80%BB

51單片機ESP8266,51單片機,mysql,數據庫
經過測試,選擇這個不可以,因為是4MB 的,上述用到的兩款 ESP8266 是 1MB(8Mbit)flash的模組,應該使用

51單片機ESP8266,51單片機,mysql,數據庫

二、如何刷固件

手頭有的 ESP8266:
51單片機ESP8266,51單片機,mysql,數據庫
51單片機ESP8266,51單片機,mysql,數據庫
燒錄工具
51單片機ESP8266,51單片機,mysql,數據庫
可直接連接使用(ESP-01S 和 ESP-01均可使用)

51單片機ESP8266,51單片機,mysql,數據庫
需要注意這個模塊僅僅只是轉接口,而不能實現向上面那個燒錄模塊一樣完成燒錄(ESP-01S 和 ESP-01均可使用)。

TTL 轉 USB 下載器,

51單片機ESP8266,51單片機,mysql,數據庫

可以使用,但是,經過測試,(測試接線方法如下)

51單片機ESP8266,51單片機,mysql,數據庫

我只完成了對 ESP-01S 的燒寫(燒錄過程中需要上電提示時,需要將 3.3V 重插拔),對 ESP-01 操作無效。

后查閱資料后,還需要將 EN 接 3.3 V,即:

51單片機ESP8266,51單片機,mysql,數據庫
燒錄軟件設置:

51單片機ESP8266,51單片機,mysql,數據庫

燒錄好之后的測試連接:

對于ESP-01S ,只需要將 IO0 那根線去掉,即四根線:

51單片機ESP8266,51單片機,mysql,數據庫

對于ESP-01 ,需要將 IO0 那根線去掉,EN 還需要加上,即五根線:
51單片機ESP8266,51單片機,mysql,數據庫
AT 測試使用串口助手即可。(已上傳 CSDN)。

51單片機ESP8266,51單片機,mysql,數據庫
上圖中的軟件也不是那么好用,不推薦了。。。。

三、MQTT服務器

MQTT服務器測試鏈接: https://www.emqx.com/zh/mqtt/public-mqtt5-broker


51單片機ESP8266,51單片機,mysql,數據庫
將域名:broker.emqx.io放到網址轉 IP 地址鏈接: https://ip138.com/中解析出 ip 地址,方便在代碼中進行使用。

解析結果如下:

51單片機ESP8266,51單片機,mysql,數據庫
用第一個 ip 地址就可行(不好用,用然也物聯(lián)的 test.ranye-iot.net(47.92.129.18))。

需要下載證書并安裝。

四、AT 指令

程序中涉及到的 AT 指令

AT\r\n
AT+RESTORE\r\n
ATE0\r\n
AT+MQTTUSERCFG=0,1,"clientld","admin","admin",0,0,""\r\n
AT+MQTTCONN=0,"3.82.39.163",1883,0\r\n
AT+MQTTSUB=0,"esp8266_rxd",1\r\n
AT+MQTTPUB=0,"esp8266_txd","{\"LAMP\":\"OFF\"}",0,0\r\n
AT+CWMODE=1\r\n   

樂鑫 Espressif 官方提供的 AT 指令使用手冊和說明的鏈接: https://docs.espressif.com/projects/esp-at/zh_CN/latest/esp32/AT_Command_Set/index.html

知識點

Station 模式 和 SoftAP 模式
51單片機ESP8266,51單片機,mysql,數據庫

五、程序

安信可提供的基于 STM32 AT指令開發(fā)的鏈接: https://docs.ai-thinker.com/esp8266/examples/at_demo

51單片機ESP8266,51單片機,mysql,數據庫

視頻教程作者就是根據上面的示例代碼進行修改,然后在 STC12C5A60S2 + ESP8266 上實現了。

下面是總結的思路流程(這里作為程序1):

程序1 的流程是:

1、發(fā)送恢復出廠默認設置指令將模塊恢復成出廠設置:AT+RESTORE

2、關閉回顯:ATE0

3、選擇 ESP8266 的工作模式:AT+CWMODE=1

4、ESP8266 連接外部的 WiFi,AT+CWJAP= “pSSID”,“pPassWord”

5、MQTT配置用戶屬性 AT+MQTTUSERCFG=0,1,“clientld”,“admin”,“admin”,0,0,“”

6、連接 MQTT 服務器:AT+MQTTCONN=0,“3.82.39.163”,1883,0

7、訂閱指定連接的 MQTT 主題,可重復多次訂閱不同的 topic:AT+MQTTSUB=0,“esp8266_rxd”,1

8、while 主循環(huán)中實現定時發(fā)布:如果連接上了MQTT服務器,就定時發(fā)布信息:AT+MQTTPUB=0,“esp8266_txd”,“{“LAMP”:“OFF”}”,0,0

程序配網

此外,還有智能配網的操作演示,有兩種方式:ESP-Touch 和 Airkiss,

51單片機ESP8266,51單片機,mysql,數據庫
使用串口助手直接操作 ESP8266 模塊,可用。

此外,根據自身的開發(fā)經驗,有下面的使用體會:

操作過機智云平臺的基于 ESP8266 的項目(遠程寵物室),可以使用兩種方式進行配網,通過按鍵(長按和短按),不同配網方式,有指示燈提示。由于此種印象,就有了使用按鍵進行配網的想法。而在示例代碼中,要么是在初始化部分將網給配好,要么是使用多個 while(1) 循環(huán)的方式(配置聯(lián)網成功后才接著執(zhí)行最后的 while(1) 函數體),并沒有結合按鍵的配網方式。因此,如果要想使用按鍵來進行配網,則不太清楚如何操作了。

因此,暫緩按鍵結合配網的實現方式,而是仍然通過串口命令的方式來進行(也就是在示例程序的基礎上進行修改)。

程序2 的流程是:

1、模塊復位:AT+RST

2、關閉回顯:ATE0

3、選擇ESP8266的工作模式:AT+CWMODE=1

4、查詢WIFI連接狀態(tài):AT+CWJAP?
如果返回結果是 +CWJAP: 或者 WIFI GOT IP,說明連接成功。
否則,嘗試連接在程序中設置好的 WiFi ,如果連接成功就退出。否則,就嘗試配網的方式。

5、配網部分程序如下:

	while(esp8266_GetWifi_Stat("AT+CWJAP?\r\n", "+CWJAP:", "WIFI GOT IP")== 0)
	{
		printf("Connecting to WiFi...\r\n");
		//說明沒有連接上網絡,先嘗試連接在程序中設置好的WiFi
		if(esp8266_JoinAP(User_ESP8266_SSID, User_ESP8266_PWD))
		{
			printf("1-Join AP OK.\r\n");
		}
		else
		{
				esp8266_SetSmartMode();
			
				if(esp8266_Net_Mode_Choose(STA))
				{
						printf("2-SET STA OK.\r\n");
						if(esp8266_Send_AT_Cmd("AT+CWAUTOCONN=1\r\n", "OK"))
						{
								printf("3-AT+CWAUTOCONN=1 OK.\r\n");
								if(esp8266_Send_AT_Cmd("AT+CWSTARTSMART=3\r\n", "OK"))
								{
									printf("4-AT+CWSTARTSMART=3 OK.\r\n");
									
									if(esp8266_WiteConnect("smartconfig connected wifi"))
									{
										if(esp8266_Send_AT_Cmd("AT+CWSTOPSMART\r\n", "OK"))
										{
											printf("5-AT+CWSTOPSMART OK.\r\n");
										}
										else
										{
											printf("6-AT+CWSTOPSMART Fail.\r\n");
											goto start;
										}
								}
						}
				}
		}
	}
}
	
	printf("WiFi Connection Successful.\r\n");
bit esp8266_WiteConnect(char *ack1)
{
		bit ack = 0;
		unsigned int config_Delay = 5;
		
		do
		{
				if(recv_flag)
				{
						recv_flag = 0;
						if(strstr((const char*)recv_buf,ack1))
						{
							ack = 1;
							printf("Wite Connect Success.\r\n");
							recv_buf[recv_cnt] = '\0';
							printf("%s\r\n", recv_buf);
							memset(recv_buf, 0, recv_cnt);
							recv_cnt = 0;
							break;
						}
						else
						{
							recv_buf[recv_cnt] = '\0';
							printf("%s\r\n", recv_buf);
							memset(recv_buf, 0, recv_cnt);
							recv_cnt = 0;
						}
							
				}
				Delay_Xms(1000);
		}while(config_Delay--);
		
		return ack;
}
/**************************查詢 WiFi 連接狀態(tài)***************************/
bit esp8266_GetWifi_Stat(char *cmd, char *ack1, char *ack2)
{
		bit ack = 0;
		unsigned int config_Delay = 3;
		uart2_SendString(cmd);
		printf("Detecting WiFi status...\r\n");
		
		do
		{
				if(recv_flag)
				{
						recv_flag = 0;
						if(strstr((const char*)recv_buf,ack1)|| strstr((const char*)recv_buf,ack2))
						{
							ack = 1;
							recv_buf[recv_cnt] = '\0';
							printf("%s\r\n", recv_buf);
							memset(recv_buf, 0, recv_cnt);
							recv_cnt = 0;
							break;
						}
						else
						{
							printf("WIFI DISCONNECT.\r\n");
							memset(recv_buf, 0, recv_cnt);
							recv_cnt = 0;
						}
				}
				Delay_Xms(1000);
		}while(config_Delay--);
		
		return ack;
}

6、MQTT配置用戶屬性 AT+MQTTUSERCFG=0,1,“clientld”,“admin”,“admin”,0,0,“”

7、連接 MQTT 服務器:AT+MQTTCONN=0,“3.82.39.163”,1883,0

8、訂閱指定連接的 MQTT 主題,可重復多次訂閱不同的 topic:AT+MQTTSUB=0,“esp8266_rxd”,1

9、while 主循環(huán)中實現定時發(fā)布:如果連接上了MQTT服務器,就定時發(fā)布信息:AT+MQTTPUB=0,“esp8266_txd”,“{“LAMP”:“OFF”}”,0,0

程序中有個地方:

if(esp8266_Send_AT_Cmd("AT+RESTORE\r\n", "OK"))
{
		printf("RESTORE OK\r\n");
}

RESTORE是恢復出廠設置,應該改成復位(RST)

if(esp8266_Send_AT_Cmd("AT+RST\r\n", "OK"))
{
		printf("RST OK\r\n");
}

在 MQTT 客戶端軟件中的操作如下:
51單片機ESP8266,51單片機,mysql,數據庫
MQTT服務器如上圖所示。程序中的 client_id 是 clientID,所以不能再用這個了,我就另外起了個名字:MQTT_FX_Client 。
51單片機ESP8266,51單片機,mysql,數據庫

在程序中,訂閱了 esp8266_rxd,

51單片機ESP8266,51單片機,mysql,數據庫
因此,點擊 Publish 后,串口能夠接收到:

51單片機ESP8266,51單片機,mysql,數據庫
與此同時,程序還會向 esp8266_txd 每隔一段時間發(fā)送數據,

51單片機ESP8266,51單片機,mysql,數據庫文章來源地址http://www.zghlxwxcb.cn/news/detail-824525.html

到了這里,關于51單片機ESP8266的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • (pc端)/單片機連接ESP8266

    (pc端)/單片機連接ESP8266

    硬件:ESP8266模塊,USB轉TTL 連接方式 : esp8266的TX接轉串口的RX,RX接TX 安裝阿信可的esp8266調試工具 [ESP8266網絡調試工具]ESP8266網絡調試工具 提取碼:djsz AT指令集是從終端設備(Terminal Equipment,TE)或數據終端設備(Data Terminal Equipment,DTE)向終端適配器(Terminal Adapter,TA)或數據電

    2024年02月09日
    瀏覽(20)
  • 單片機項目分享 單片機(stm32)遠程智能寵物喂養(yǎng)系統(tǒng) - 物聯(lián)網 esp8266

    單片機項目分享 單片機(stm32)遠程智能寵物喂養(yǎng)系統(tǒng) - 物聯(lián)網 esp8266

    ?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設,學長分享優(yōu)質畢業(yè)設計項目,今天

    2024年02月19日
    瀏覽(30)
  • STM32+esp8266實現單片機與服務器的WiFi通信

    STM32+esp8266實現單片機與服務器的WiFi通信

    ? ? ? ? ?源碼已上傳至gitee: stm32: 一些stm32模塊使用經驗記錄 - Gitee.com https://gitee.com/lrf1125962926/stm32/tree/esp8266wifi%E9%80%9A%E4%BF%A1/ ????????本實驗采用STM32F1系列+esp8266 01s模塊,采用HAL庫開發(fā)。主控芯片哪個系列和型號都可以,只要有兩個串口(UART或者USART,以下統(tǒng)稱串口)

    2024年02月07日
    瀏覽(96)
  • 嵌入式項目分享 單片機(stm32)遠程智能寵物喂養(yǎng)系統(tǒng) - 物聯(lián)網 esp8266

    嵌入式項目分享 單片機(stm32)遠程智能寵物喂養(yǎng)系統(tǒng) - 物聯(lián)網 esp8266

    ?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設,學長分享優(yōu)質畢業(yè)設計項目,今天

    2024年02月21日
    瀏覽(787)
  • 單片機設計_語音識別分類智能垃圾桶(STM32 ESP8266 LD3320)

    單片機設計_語音識別分類智能垃圾桶(STM32 ESP8266 LD3320)

    想要更多項目私wo!!! ????????離線語音識別識別垃圾種類并且垃圾桶自動翻蓋: 說出喚醒詞“垃圾桶”后,再說一句垃圾名稱,語音識別模塊端識別到相應,便會將結果通過串口發(fā)送到STM32端,STM32端接著會發(fā)送打開相應垃圾桶蓋的指令,6s后,垃圾桶蓋自動關閉。

    2024年02月06日
    瀏覽(26)
  • 畢業(yè)設計 單片機語音識別分類智能垃圾桶(STM32 ESP8266 LD3320)

    畢業(yè)設計 單片機語音識別分類智能垃圾桶(STM32 ESP8266 LD3320)

    離線語音識別識別垃圾種類并且垃圾桶自動翻蓋: 說出喚醒詞“垃圾桶”后,再說一句垃圾名稱,語音識別模塊端識別到相應,便會將結果通過串口發(fā)送到STM32端,STM32端接著會發(fā)送打開相應垃圾桶蓋的指令,6s后,垃圾桶蓋自動關閉。其中翻蓋功能是通過STM32端控制舵

    2024年04月26日
    瀏覽(93)
  • 【上位機與下位機通信】使用WIFI模塊ESP8266連接單片機與上位機通信

    【上位機與下位機通信】使用WIFI模塊ESP8266連接單片機與上位機通信

    承接上文WIFI上位機部分:【上位機】通過WIFI上位機與網絡調試助手通信繪制曲線,現階段實現了STM32單片機與ESP8266WIFI模塊作為下位機與WIFI上位機通信。 ATK-ESP8266 是 ALIENTEK 推出的一款高性能的 UART-WiFi(串口-無線)模塊,此處使用的是正點原子團隊自主開發(fā)的ATK-ESP-01模塊。

    2024年02月05日
    瀏覽(213)
  • 單片機設計_室內環(huán)境智能監(jiān)測系統(tǒng)(STM32 OLED ESP8266 DHT11 MQ-2 加濕器)

    單片機設計_室內環(huán)境智能監(jiān)測系統(tǒng)(STM32 OLED ESP8266 DHT11 MQ-2 加濕器)

    想要更多項目私wo!!! 室內環(huán)境智能監(jiān)測系統(tǒng) 主要功能: ????????1.檢測空氣溫濕度 ????????2.檢測光照強度 ????????3.檢測煙霧濃度 ????????4.數據顯示在手機端和設備OLED屏幕上 ????????5.當空氣溫度高于設定的閾值時,風扇開啟 ????????6.當空氣濕度低于

    2024年02月09日
    瀏覽(34)
  • 51系列單片機---ESP-01S無線WiFi模塊的開發(fā)(路由服務器模式)

    記錄一下基于STC89C52RC單片機對ESP-01S無線WiFi模塊的開發(fā)(路由服務器模式)。 ESP-01S模塊的路由服務器模式和設備模式開發(fā)思路相似,開發(fā)之前對ESP-01S模塊的測試和波特率修改是一樣的,差別只在于AT指令的不同。 記錄一下代碼編寫的邏輯和過程: 1、用到的AT指令(發(fā)送AT指

    2024年04月11日
    瀏覽(22)
  • ESP8266-01s入門:上報和下發(fā)數據控制單片機 AT指令講解和上云 燒錄AT固件與OneNET MQTT通信教程包含MQTT.fx1.7.1教程(微信小程序通信單片機前置任務)

    ESP8266-01s入門:上報和下發(fā)數據控制單片機 AT指令講解和上云 燒錄AT固件與OneNET MQTT通信教程包含MQTT.fx1.7.1教程(微信小程序通信單片機前置任務)

    本項目教程總共分為四節(jié) 1.創(chuàng)建OneNET新版MQTT設備:為微信小程序與單片機通信打基礎(微信小程序通信單片機前置任務) 2.(當前文章)ESP8266-01s入門:燒錄AT固件與OneNET MQTT通信教程包含MQTT.fx1.7.1教程(微信小程序通信單片機前置任務) 3.物聯(lián)網實踐教程:微信小程序結合

    2024年02月04日
    瀏覽(26)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領取紅包

二維碼2

領紅包