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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(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)行一個(gè)簡單介紹,首先需要一個(gè)html文件

poYBAGSJKhGAZ5kfAAB47bC56Mw948.png

我這里是用了一個(gè)帶服務(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)容,我的思想是在一個(gè)地址存儲(chǔ)SSID的長度 另一個(gè)地址存儲(chǔ)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)系本站處理。 舉報(bào)投訴
  • 配網(wǎng)
    +關(guān)注

    關(guān)注

    0

    文章

    155

    瀏覽量

    9052
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6469

    瀏覽量

    187053
  • ESP8266
    +關(guān)注

    關(guān)注

    50

    文章

    962

    瀏覽量

    44999
收藏 人收藏

    評論

    相關(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.3w次閱讀

    怎樣用ESP8266Web控制伺服

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

    怎樣使用ESP8266 Flasher和Programmer燒寫ESP8266 AT固件

    選擇要連接的COM端口ESP8266 Flasher和Programmer + ESP8266 Wifi串行收發(fā)器模塊。將BAUDRATE設(shè)置為115200。
    的頭像 發(fā)表于 11-18 17:58 ?2.1w次閱讀

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

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

    基于ESp8266的智能插座

    基于ESp8266的智能插座基于ESP8266+STM32F1的智慧生活套件文章目錄基于ESP8266+STM32F1的智慧生活套件一、項(xiàng)目背景二、項(xiàng)目分析三、產(chǎn)品框架四、設(shè)計(jì)思路五、硬件規(guī)劃六
    發(fā)表于 12-01 09:21 ?32次下載
    基于<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使用教程之初識(shí)

    一.ESP8266介紹? 這里將會(huì)使用正點(diǎn)原子的 ATK-ESP8266 為例,來說明 ESP8266 的使用。? 該模塊上面板載了安可信的公司的 ESP8266 模塊,ATK-
    發(fā)表于 01-04 18:59 ?80次下載
    <b class='flag-5'>ESP8266</b>使用教程之初識(shí)

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

    在這個(gè)項(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 ?4760次閱讀
    <b class='flag-5'>ESP8266</b>硬件

    ESP8266初次如何實(shí)現(xiàn)無線通信(基于電腦與ESP8266)

    一.需要的軟件及硬件 1.軟件 2.硬件 二.ESP8266的使用 .ESP8266的介紹 2.ESP8266進(jìn)行初始AT指令的配置步驟 三.所用軟件安裝分享 ESP8266
    發(fā)表于 05-30 09:53 ?28次下載
    <b class='flag-5'>ESP8266</b>初次如何實(shí)現(xiàn)無線通信(基于電腦與<b class='flag-5'>ESP8266</b>)

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

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