之前有使用W600實(shí)現(xiàn)該功能,但現(xiàn)在考慮到使用的方便性,遂決定使用 Arduino和esp8266來(lái)實(shí)現(xiàn)
其中WEB配網(wǎng)的部分大家應(yīng)該能查詢到不少,這邊進(jìn)行一個(gè)簡(jiǎn)單介紹,首先需要一個(gè)html文件

我這里是用了一個(gè)帶服務(wù)器IP和端口的,方便我以后使用的,大家可以針對(duì)性的寫自己的部分
關(guān)于HTML5語(yǔ)言的內(nèi)容就不展開講了,這里主要是使用的按鈕實(shí)現(xiàn)的olclick傳遞的參數(shù),在Arduino里面可以直接獲取
/*****************************************************
* 函數(shù)名稱:HandleVal()
* 函數(shù)說明:對(duì)客戶端請(qǐng)求返回值處理
* 參數(shù)說明:無(wú)
******************************************************/
void HandleVal()
{
GET_SSID = server.arg("ssid"); //從JavaScript發(fā)送的數(shù)據(jù)中找ssid的值
GET_PASSWORD = server.arg("password"); //從JavaScript發(fā)送的數(shù)據(jù)中找password的值
TCP_IP = server.arg("tcp_ip");
TCP_PORT = server.arg("tcp_port");
Serial.printf("234:%srn", GET_SSID.c_str());
Serial.printf("235:%srn", GET_PASSWORD.c_str());
Serial.printf("TCPIP:%srn", TCP_IP.c_str());
Serial.printf("TCPoirt:%srn", TCP_PORT.c_str());
WiFi.begin(GET_SSID,GET_PASSWORD);
}
如上,可以直接得到傳遞的具體內(nèi)容,直接進(jìn)行聯(lián)網(wǎng)即可
下面是關(guān)于掉電保存的內(nèi)容,我的思想是在一個(gè)地址存儲(chǔ)SSID的長(zhǎng)度 另一個(gè)地址存儲(chǔ)PASSWORD的長(zhǎng)度(一般都不超過255),故使用byte類型足夠,其中主要段落如下,通過這種方式便可以實(shí)現(xiàn)掉電保存當(dāng)前WIFI信息
#include
byte SISSD_ADDR = 0;
byte PASSWORD_ADDR = 100;
byte TCP_ADDR = 200;
byte SISSD_NUM = 0;
byte PASSWORD_NUM = 0;
void setup(void) {
EEPROM.begin(1024);
}
if (WiFi.status() == WL_CONNECTED)
{
SISSD_NUM = GET_SSID.length();
PASSWORD_NUM = GET_PASSWORD.length();
EEPROM.write(SISSD_ADDR,SISSD_NUM);
set_String(SISSD_NUM,SISSD_ADDR+1,GET_SSID);
EEPROM.write(PASSWORD_ADDR,PASSWORD_NUM);
set_String(PASSWORD_NUM,PASSWORD_ADDR+1,GET_PASSWORD);
server.stop();
break;
}
if(EEPROM.read(SISSD_ADDR)!=0)
{
GET_SSID = get_String(EEPROM.read(SISSD_ADDR),SISSD_ADDR+1);
GET_PASSWORD = get_String(EEPROM.read(PASSWORD_ADDR),PASSWORD_ADDR+1);
Serial.printf("SSID:%srn", GET_SSID.c_str());
Serial.printf("PSW:%srn",GET_PASSWORD.c_str());
WiFi.mode(WIFI_STA);
WiFi.begin(GET_SSID,GET_PASSWORD);
}
鏈接:https://pan.baidu.com/s/1CivvdI1TozYQYX_abSeBHA
提取碼:1234
-
配網(wǎng)
+關(guān)注
關(guān)注
0文章
176瀏覽量
9424 -
Arduino
+關(guān)注
關(guān)注
190文章
6508瀏覽量
194654 -
ESP8266
+關(guān)注
關(guān)注
51文章
965瀏覽量
48519
發(fā)布評(píng)論請(qǐng)先 登錄
請(qǐng)問誰(shuí)知道怎么使用ATdevice組件給ESP8266配網(wǎng)
使用esp8266實(shí)現(xiàn)STM32聯(lián)網(wǎng)(最簡(jiǎn)單USART方法)
esp8266 at指令集詳解

怎樣用ESP8266的Web控制伺服
如何建立一個(gè)帶Arduino IDE的ESP8266 Web服務(wù)器

ESP8266 wifi模塊開發(fā)匯總

ESP8266

基于ESp8266的智能插座

如何使用ESP8266制作可配置的Web服務(wù)器

NodeMCU ESP8266啟用AJAX的Web服務(wù)器

基于ESP8266的Web服務(wù)器
ESP8266燒錄與機(jī)智云一鍵配網(wǎng)教程

評(píng)論