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

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

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

ESP8266 WEB配網(wǎng) 掉電記憶

Harmony&嵌入式學(xué)習(xí) ? 來源:Harmony&嵌入式學(xué)習(xí) ? 作者:Harmony&嵌入式學(xué) ? 2023-06-14 10:47 ? 次閱讀

之前有使用W600實(shí)現(xiàn)該功能,但現(xiàn)在考慮到使用的方便性,遂決定使用 Arduinoesp8266來實(shí)現(xiàn)

其中WEB配網(wǎng)的部分大家應(yīng)該能查詢到不少,這邊進(jìn)行一個簡單介紹,首先需要一個html文件

poYBAGSJKhGAZ5kfAAB47bC56Mw948.png

我這里是用了一個帶服務(wù)器IP和端口的,方便我以后使用的,大家可以針對性的寫自己的部分

關(guān)于HTML5語言的內(nèi)容就不展開講了,這里主要是使用的按鈕實(shí)現(xiàn)的olclick傳遞的參數(shù),在Arduino里面可以直接獲取

/*****************************************************
 * 函數(shù)名稱:HandleVal()
 * 函數(shù)說明:對客戶端請求返回值處理
 * 參數(shù)說明:無
******************************************************/
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)容,我的思想是在一個地址存儲SSID的長度 另一個地址存儲PASSWORD的長度(一般都不超過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

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

    關(guān)注

    0

    文章

    153

    瀏覽量

    9044
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6457

    瀏覽量

    186501
  • ESP8266
    +關(guān)注

    關(guān)注

    50

    文章

    962

    瀏覽量

    44753
收藏 人收藏

    評論

    相關(guān)推薦

    ESP8266系列模塊選型

    ESP8266系列模塊選型ESP8266 ESP-01 ESO-02
    發(fā)表于 01-05 17:34 ?37次下載

    使用esp8266實(shí)現(xiàn)STM32聯(lián)網(wǎng)(最簡單USART方法)

    上一篇 esp8266怎么配置esp8266和USB轉(zhuǎn)TTL連接esp8266簡單介紹esp8266連接路由器esp8266通過路由器連接在
    發(fā)表于 11-22 11:51 ?1.2w次閱讀

    esp8266 at指令集詳解

    ESP8266可廣泛應(yīng)用于智能電網(wǎng)、智能交通、智能家具、手持設(shè)備、工業(yè)控制等領(lǐng)域。本文介紹了esp8266 at指令集,以及ESP8266使用AT指令開發(fā)示例
    發(fā)表于 12-08 13:52 ?14.3w次閱讀
    <b class='flag-5'>esp8266</b> at指令集詳解

    怎樣用ESP8266Web控制伺服

    在這個基于ESP8266 WiFi模塊的項(xiàng)目中,我們將看到使用ESP8266Web控制伺服,其中伺服電機(jī)的位置可以通過網(wǎng)頁(在同一個WiFi網(wǎng)絡(luò)內(nèi))進(jìn)行控制。/span》
    的頭像 發(fā)表于 07-30 10:58 ?6453次閱讀

    如何建立一個帶Arduino IDE的ESP8266 Web服務(wù)器

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何建立一個帶Arduino IDE的ESP8266 Web服務(wù)器。
    發(fā)表于 06-02 08:00 ?2次下載
    如何建立一個帶Arduino IDE的<b class='flag-5'>ESP8266</b> <b class='flag-5'>Web</b>服務(wù)器

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

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ESP8266 wifi模塊開發(fā)匯總?ESP8266 wifi模塊開發(fā)匯總本文檔主要介紹開發(fā)者在ESP8266開發(fā)中常見的一些問題。 這些
    發(fā)表于 11-05 19:21 ?188次下載
    <b class='flag-5'>ESP8266</b> wifi模塊開發(fā)匯總

    ESP8266

    優(yōu)點(diǎn)1.性能穩(wěn)定ESP8266EX 的工作溫度范圍大,且能夠保持穩(wěn)定的性能,能適應(yīng)各種操作環(huán)境。2.低功耗ESP8266EX 專為移動設(shè)備、可穿戴電子產(chǎn)品和物聯(lián)網(wǎng)應(yīng)用而設(shè)計,通過多項(xiàng)專有技術(shù)實(shí)現(xiàn)了
    發(fā)表于 11-07 10:36 ?26次下載
    <b class='flag-5'>ESP8266</b>

    基于ESp8266的智能插座

    基于ESp8266的智能插座基于ESP8266+STM32F1的智慧生活套件文章目錄基于ESP8266+STM32F1的智慧生活套件一、項(xiàng)目背景二、項(xiàng)目分析三、產(chǎn)品框架四、設(shè)計思路五、硬件規(guī)劃六
    發(fā)表于 12-01 09:21 ?29次下載
    基于<b class='flag-5'>ESp8266</b>的智能插座

    ESP8266】接入bl

    ESP8266】接入bl
    發(fā)表于 12-08 13:36 ?10次下載
    【<b class='flag-5'>ESP8266</b>】接入bl

    ESP8266學(xué)習(xí)之路——環(huán)境部署

    文章目錄前言ESP8266SDK前言ESP8266SDK官方鏈接
    發(fā)表于 12-22 18:47 ?28次下載
    <b class='flag-5'>ESP8266</b>學(xué)習(xí)之路——環(huán)境部署

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

    在這個項(xiàng)目中,我們首先研究如何在 Arduino IDE 中安裝 ESP8266 插件,然后使用 ESP8266 制作可配置的 Web 服務(wù)器。
    的頭像 發(fā)表于 05-10 15:18 ?1.3w次閱讀
    如何使用<b class='flag-5'>ESP8266</b>制作可配置的<b class='flag-5'>Web</b>服務(wù)器

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

    電子發(fā)燒友網(wǎng)站提供《NodeMCU ESP8266啟用AJAX的Web服務(wù)器.zip》資料免費(fèi)下載
    發(fā)表于 11-22 09:37 ?1次下載
    NodeMCU <b class='flag-5'>ESP8266</b>啟用AJAX的<b class='flag-5'>Web</b>服務(wù)器

    基于ESP8266Web服務(wù)器

    項(xiàng)目將告訴你如何在不使用 Arduino 的情況下使用 ESP8266 構(gòu)建 Web 服務(wù)器
    發(fā)表于 12-07 11:02 ?1次下載

    ESP8266硬件

    目前市面上有關(guān)ESP8266模組有很多的種類,但是都是使用的樂鑫公司開發(fā)的ESP8266的wifi模組,而且種類也很多。
    的頭像 發(fā)表于 02-10 14:25 ?4523次閱讀
    <b class='flag-5'>ESP8266</b>硬件

    nodemcu和esp8266是什么關(guān)系?

    nodemcu和esp8266是什么關(guān)系 nodemcu和esp8266是什么關(guān)系?通俗理解就是nodemcu是一個開發(fā)板,基于esp8266的開發(fā)板。 目前市面上搭載有ESP8266
    的頭像 發(fā)表于 10-20 14:53 ?3571次閱讀
    nodemcu和<b class='flag-5'>esp8266</b>是什么關(guān)系?