首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将WiFi凭据保存到ESP8266上的EEPROM

是一种常见的做法,它允许ESP8266在重新启动后自动连接到特定的WiFi网络,而无需每次都手动输入凭据。EEPROM是一种可编程的非易失性存储器,可以在断电后保持数据的存储。

ESP8266是一款低成本、低功耗的Wi-Fi模块,广泛应用于物联网设备和嵌入式系统中。它具有内置的EEPROM,可以用来存储WiFi凭据。

以下是将WiFi凭据保存到ESP8266上的EEPROM的步骤:

  1. 引入必要的库文件:在Arduino IDE中,需要引入ESP8266WiFi库和EEPROM库。
  2. 定义WiFi凭据:在代码中定义WiFi网络的名称(SSID)和密码(Password)。
  3. 初始化EEPROM:使用EEPROM库的begin()函数初始化EEPROM。
  4. 读取WiFi凭据:使用EEPROM库的read()函数从EEPROM中读取已保存的WiFi凭据。
  5. 连接到WiFi网络:使用ESP8266WiFi库的begin()函数连接到WiFi网络。
  6. 如果未保存WiFi凭据或连接失败:进入配置模式,允许用户手动输入WiFi凭据,并保存到EEPROM中。

以下是一个示例代码:

代码语言:txt
复制
#include <ESP8266WiFi.h>
#include <EEPROM.h>

// 定义WiFi凭据
const char* ssid = "YourWiFiSSID";
const char* password = "YourWiFiPassword";

// 定义EEPROM地址
#define SSID_ADDRESS 0
#define PASSWORD_ADDRESS 32

void setup() {
  // 初始化串口
  Serial.begin(115200);

  // 初始化EEPROM
  EEPROM.begin(512);

  // 读取WiFi凭据
  String savedSSID = "";
  String savedPassword = "";
  for (int i = 0; i < 32; ++i) {
    savedSSID += char(EEPROM.read(SSID_ADDRESS + i));
    savedPassword += char(EEPROM.read(PASSWORD_ADDRESS + i));
  }

  // 连接到WiFi网络
  if (savedSSID.length() > 0 && savedPassword.length() > 0) {
    WiFi.begin(savedSSID.c_str(), savedPassword.c_str());
    Serial.println("Connecting to WiFi...");
    while (WiFi.status() != WL_CONNECTED) {
      delay(1000);
      Serial.print(".");
    }
    Serial.println("\nConnected to WiFi");
  } else {
    // 进入配置模式
    configureWiFi();
  }
}

void loop() {
  // 主循环
}

void configureWiFi() {
  // 配置模式
  Serial.println("WiFi credentials not found. Entering configuration mode.");

  // 读取新的WiFi凭据
  String newSSID = "";
  String newPassword = "";
  Serial.print("Enter WiFi SSID: ");
  while (newSSID.length() == 0) {
    newSSID = Serial.readString();
    newSSID.trim();
  }
  Serial.print("Enter WiFi password: ");
  while (newPassword.length() == 0) {
    newPassword = Serial.readString();
    newPassword.trim();
  }

  // 保存新的WiFi凭据到EEPROM
  for (int i = 0; i < newSSID.length(); ++i) {
    EEPROM.write(SSID_ADDRESS + i, newSSID[i]);
  }
  for (int i = 0; i < newPassword.length(); ++i) {
    EEPROM.write(PASSWORD_ADDRESS + i, newPassword[i]);
  }
  EEPROM.commit();

  // 重启ESP8266
  ESP.restart();
}

这个示例代码会首先尝试从EEPROM中读取已保存的WiFi凭据并连接到WiFi网络。如果未保存WiFi凭据或连接失败,将进入配置模式,允许用户手动输入WiFi凭据,并保存到EEPROM中。在配置模式下,用户需要通过串口监视器输入WiFi的SSID和密码。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云物联网平台:https://cloud.tencent.com/product/iotexplorer
  • 腾讯云数据库:https://cloud.tencent.com/product/cdb
  • 腾讯云服务器:https://cloud.tencent.com/product/cvm
  • 腾讯云云原生应用引擎:https://cloud.tencent.com/product/tke
  • 腾讯云音视频处理:https://cloud.tencent.com/product/mps
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云移动开发:https://cloud.tencent.com/product/mobdev
  • 腾讯云对象存储:https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务:https://cloud.tencent.com/product/tbaas
  • 腾讯云元宇宙:https://cloud.tencent.com/product/tencent-metaverse
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • esp8266架构_esp8266能做什么

    开发环境 ESP8266开发之旅 基础篇③ ESP8266与Arduino开发说明 ESP8266开发之旅 基础篇④ ESP8266EEPROM ESP8266开发之旅 基础篇⑤ ESP8266 SPI...使用原因     之所以采用 ESP8266 做为研发平台,主要是因为其超低成本,并且处理器和 WiFi 芯 片精致集成在一起,具有 GPIO、PWM、I2C、1‐Wire、ADC 等功能,为开发者提供一套极具性价...ESP8266 是一个完整且自成体系 Wi‐Fi 网络解决方案,能够搭载软件应 用,也就是说可以应用直接在 ESP8266 运行,或通过另一个应用处理器进行业务逻辑处 理,而仅使用 ESP8266... Wi‐Fi 网络功能(通常做为串口透传使用,目前淘宝销售大部 分已经写入基于 AT 指令串口转 wifi 固件模块,方便直接连接原有单片机系统)。     ...读者可以把ESP8266当做Arduino+WiFi功能来开发; 基本ESP8266开发体系形成,其自身SDK不断迭代开发、基于LUANodeMcu模式、基于Arduino生态移植、论坛社区众多参考资料

    1.7K40

    基于小熊派WIFI-ESP8266实践()

    WIFI ESP8266开发难点主要在于SSID和PASSWORD获取,那么这就涉及到了配网,这里提供了不用SDK开发几种配网模式,这也是我在项目用得最多,当然有时候为了应付检测,我还会另一种更加简单粗暴方法...ESP8266串口收到```ssid:"xxx",password:"xxxx"```这个字符串,设备MCU处理收到这个字符串,ssid和password提取出来,然后分别保存到缓存区SSID、PASSWORD...”,“PASSWORD”:“xxxxx”,取得ssid和password,保存到设备端FLASH中,如果为其它,则设定接收出错条件。...2、解析字符串,如果含有SERVER_IP:“xxx.xxx.xxx.xxx”,PORT:“xxxx”,取得server_ip和port,保存到设备端FLASH中 ,如果为其它,则设定接收出错条件。...5、可上传数据 4、通过串口工具简单测试一下ESP8266联网 (1)、开关拨到AT_PC端。 ? (2)、打开串口调试助手 ? (3)、发送联网命令 这里需要两个指令 ? ? ?

    2.2K20

    ESP8266_08基于flash数据掉电保护

    这一节主要研究一下flash用法,目的嘛,实现数据掉电保护。 听起来像EEPROM? 确实很像,但不是!以STM32为例,片是没有EEPROM。...但是,可以把一部分ROM当做EEPROM,通过程序进行擦写,最终实现效果和EEPROM几乎是一样。 那,怎么选这段ROM?一般是选flash最后一个页(它是以页为单位)。...ESP8266在这方面其实跟32很像,区别主要有两点: 1、ESP8266是以扇区为单位,一个扇区4KB。 2、ESP8266最后4个扇区不能动,所以咱们要用的话,可以选倒数第5个扇区。...根据上面给出截图和信息,可以知道,如果要实现类似EEPROM效果,需要把数据存到“用户数据”这一部分。用户数据在flash中有两部分,只要是没有被占用,都可以。...最终实现效果,时候先把一组数据写入flash,然后循环读取这部分数据,并通过串口打印出来。开始之前先包含以下头文件: #include "spi_flash.h" 相关读写函数都在里面了。

    1.5K31

    如何用ESP8266做个钓鱼测试WIFI

    下载Flash下载工具解压,打开ESPFlashDownloadTool_v3.4.9.2.exe,打开是这样,选择esp8266 DownloadTool ?...设置完这些后就点击START开始烧flash,烧完后如果模块正常的话电脑会多出来一个叫HHwifi,这个wifi就是esp8266发出来。...将上面解压后web源码上传工具tools放到Arduino根目录里合并,然后返回以下界面,点击文件——新建,新建一个项目,里面的代码清空,然后点击文件——保存,项目保存到一个你能找到位置,点击工具...设置完后点击esp8266 sketch data upload,这时不会出现提醒,开始上传web页面,等个1分钟左右esp8266蓝灯不闪烁了就表示上传完了。...到此,整个esp8266制作钓鱼wifi教程到此结束,祝大家玩开心!!!

    4.7K81

    ESP8266配网思路(不使用SmartConfig)

    一、ESP8266配网(使用手机APP来给模组配置) 假设已经开发了一个手机APP,这个APP完成功能如下: 1、连接设备接模块ESP8266生成热点 2、给设备热点发送要连接路由器名字和密码...:“xxx”,password:"xxxx"这个字符串设备MCU处理收到这个字符串,ssid和password提取出来。...分别保存到缓存区SSID、PASSWORD。 4、设备让ESP8266进入STA模式设备MCU通过串口给ESP8266发送AT+CWMODE=1,让ESP8266进入STA模式。...三、ESP8266配网(使用上位机网络TCP来给模组配置) 假设以及开发了一个上位机,这个上位机完成功能如下: 1、上位机可以用TCP/IP连接wifi热点(ESP8266)===>需要知道esp8266...”,“PASSWORD”:“xxxxx”,取得ssid和password,保存到设备端FLASH中,如果为其它,则设定接收出错条件。

    9.4K2920

    ESP8266使用AJAX实现动态更新网页

    使用AJAX技术,我们可以监视实时数据而无需刷新整个网页,这不仅节省了时间,而且还节省了宝贵时钟周期。通过本文,您将学习如何在ESP8266实现基于AJAX网络服务器。 什么是AJAX?...我们通过150欧姆限流电阻LED连接到ESP8266D0引脚,如您所见,我们可以使用网络服务器对其进行闪烁。接下来,我们使用LM35温度传感器,通过它我们读取温度值并将其更新到网页。...代码上传到NodeMCU模块 我们首先包含所有必需头文件,这里我们包含了“ ESP8266WiFi.h”、“ WiFiClient.h”和“ ESP8266WebServer.h”头文件。...不要忘记文件保存在ESP8266 Code文件夹中。 #include "index.h" 现在,声明网络凭据-即SSID和密码。需要将NodeMCU连接到互联网。...使用WiFi.status()检查网络连接是否成功,连接成功后,在串口监视器打印一条消息,显示连接设备IP地址。

    2.8K20

    ESPcopter无人机源码分析.1

    Arduino提供了完善eeprom库,不过需要注意ESP8266没有硬件EEPROM,使用是flash模拟EEPROM EEPROM库在Arduino中经常用于存储设定数据。...当然基于ArduinoESP8266也不例外。但是,和真正Arduino板子不一样是,ESP8266采用方式是flash中某一块4K存储模拟成EEPROM。至于为什么是4K呢?...主要原因是flash是以sector为一个单位,1 sector等于4096Bytes(4KB),操作flash时是以sector为一个整体来操作 读取操作是通过ESP8266 SDK提供APIflash...commitflash eeprom地址4K 存储内容删除后才Buffer写入flash中(也就是说就算你buffer只有4个字节,但是最终还是会刷新整个sector) 和标准EEPROM库不一样是...当然,EEPROM.end() 不仅也能完成commit,同时会释放申请eeprom ram资源 EEPROM库非常简单: 函数:begin(size) 该功能用于申请具体大小ram内存空间并从

    75620

    手机连接ESP8266WIFI,进入内置网页,输入要显示内容,在OLED显示屏显示文本

    在这篇技术博客中,我们探讨如何使用ESP8266 Wi-Fi 模块和SSD1306 OLED显示屏,构建一个简易信息显示和交互系统。...配置ESP8266为AP模式:ESP8266配置为接入点(AP)模式,这样用户可以直接连接到由ESP8266创建Wi-Fi网络。...功能实现 显示启动信息 一旦设备启动,它会在OLED屏显示如何连接到Wi-Fi网络信息,包括网络SSID和一个基础Web链接。...Web服务器交互 用户可以通过访问在OLED显示屏提供Web地址来输入想要显示消息。这通过一个简单HTML表单完成,提交后消息会发送到ESP8266。...消息显示 提交信息通过Web服务器路由处理器接收,并显示在OLED屏幕。同时,服务器会向用户确认消息已显示。

    25410

    Esp8266 获取B站粉丝 获赞 稿件数量

    本文,我们通过图文视频形式为大家介绍利用利用ESP8266配合OLED屏显示B站相关信息。...// WiFi 名称与密码 const char *ssid = "PDCN"; //这里填你家中wifi名 const char *password = "1234567890";//这里填你家中...wifi密码 //24*24小电视点阵图 const unsigned char bilibilitv_24u[] U8X8_PROGMEM = {0x00, 0x00, 0x02, 0x00, 0x00...对于https我们需要在esp8266中配置证书信息。比较麻烦。文章中接口找了半天才找到了两个可用http协议接口。(当然也会随时挂掉)。...因此,在这个基础,我想到办法是利用pythonapi接口中json数据保存到本地。然后本地访问json数据就行了。同时做定时任务,做到实时更新数据。

    32930

    CC2530+ESP8266与手机APP通信

    一、案例介绍 下面是一个基于CC2530和ESP8266项目示例,演示了如何使用CC2530与ESP8266通信以及使用AT指令控制其WiFi模块设置和数据传输。...CC2530将使用其串口与ESP8266进行通信,并通过AT指令控制ESP8266WiFi模块设置和数据传输。...指令集 Android Studio 实现步骤: 硬件连接: ESP8266模块与USB转TTL串口转接板相连,然后串口转接板连接到PCUSB接口。...在开发板焊接CC2530,然后将其连接到ESP8266模块TXD和RXD引脚上(即CC2530P0.2与P0.3引脚,分别连接到ESP8266RXD和TXD引脚)。...配置ESP8266模块: 使用串口工具连接到ESP8266模块,然后根据AT指令集将其配置为AP+TCP服务器模式。例如,可以使用以下AT指令来配置ESP8266WiFi模块&

    43140

    【物联网设备端开发】Arduino快速上手esp8266方案开发

    、认识ESP8266 ESP8266 是 Espressif Systems 生产 Wi-Fi 片系统 (SoC)。...它非常适合物联网和家庭自动化项目,目前有非常高市场普及率,还有更加高端同时支持wifi和蓝牙双核心芯片ESP32,可以在乐鑫官网查看完整芯片列表。...UART,以及可在 GPIO2 启用仅传输 UART 10位ADC(逐次逼近型ADC) 1.2 ESP8266芯片具有如下优点 低成本:您可以获得 ESP8266 板,起价为 3 美元(或更低),具体取决于型号...这意味着 ESP8266 可以访问在线服务以发出 HTTP 请求或数据保存到云端等。它还可以充当 Web 服务器,以便您可以使用 Web 浏览器访问它,并能够远程控制和监视您电路板。...2.1 安装esp8266开发板 参考:GitHub - esp8266/Arduino:Arduino ESP8266核心 首先介绍esp8266开发板安装,打开Arduino IDE “首选项

    99010

    ESP8266使用详解--基于Lua脚本语言ESP8266刷AT固件与nodemcu固件轻松使用8266

    这些天,,,,今天终于看到了希望,,,天道酬勤 先说实现功能...让ESP8266连接无线网,然后让它建立服务器,,我客户端连接上以后,发给客户端发数据模块打印到串口,,往ESP8266串口里发数据自动转发给网口...首先亲们一定是把Esp8266刷了基于Lua脚本语言开发固件 可以参考这篇文章ESP8266刷AT固件与nodemcu固件 ?...文件就保存到ESP8266内部了,我上面写了两个文件一个名为init.lua(必须,一电模块就执行文件),另一个conncet_wifi.lua 要想使用这个文件只需要 ?...可以给模块重新电试一下,或者复位,模块总是执行这个程序 ? ? ?  我为了方便用电脑上位机测试,所以就让模块工作在AP+STATION模式下,让模块连接我360wifi ?...先设置模块模式,然后是连接我无线 ? ? ? ?  为了保证模块一电就执行 ? ? 接着就是建立服务器 ? ? ? ?

    8.2K5646

    基于小熊派WIFI-ESP8266实践(中)-多功能处理显示等大杂烩

    上节,我们了解了小熊派上ESP8266模块,这节,我们实现一个程序,让手机发指令来控制开发板LED灯亮灭吧,上节文章链接如下: 基于小熊派WIFI-ESP8266实践() 1、了解硬件 编写程序之前先来看看...2、STM32CubeMX配置 这里我们直接之前利用上次编写光强那个工程就可以了,链接如下: 基于小熊派光强传感器BH1750状态机驱动项目再度升级(带上位机曲线显示) 在此基础添加ESP8266串口...,所以在STM32CubeMx对应LPUART1配置如下,其余参数默认即可,其余关于ESP8266电,硬件复位这些管脚都不需要配置,因为硬件给我们做好了,我们专注于与ESP8266通信就可以了...3、软件编程 有了ESP8266,能做事情很多,比如,让我们来设计几个简单控制指令: 指令 功能 LEDON 打开底板LED灯 LEDOFF 关闭底板LED灯 LEDBLINK 让底板LED...当匹配到数据中含有对应指令时候,则执行具体操作,并将指令显示到LCD

    2.4K31

    ESP8266无线模块进行钓鱼渗透测试

    (注意:有的型号 esp8266 需要焊接,焊接时要迅速,温度不要超过 280 度,否则会损坏 esp8266 无线模块!) ? ? 连接好后 GPIO0 管脚下拉进入烧录模式,如图。 ?...开始进行测试 GPIO0管脚上拉或悬空,然后复位重启esp8266,打开串口调试器,这时esp8266会自动攻击信号最好wifi。 ?...攻击时,esp8266小蓝灯会常亮。 ? 此时手机已经连接不到原有路由器 Tend_01CB30 WIFI。这时,如果换成完全不知情别人,极有可能会去手机设置里面看,怎么连接不上网络了?...同时,esp8266会自己先去尝试连接,来验证密码准确性,如果连接成功的话,会自动密码在 串口调试器中显示出来;如果连接失败,esp8266会继续进行deauth攻击,直到获取了正确WIFI密码为止...当你开启绑定MAC地址或者使用MAC过滤时,即使别人对你钓鱼成功,获得了正确wifi密码,那他也连接不wifi

    2.1K30

    断网让女神求你:制作一个廉价WIFI干扰器

    干扰WiFi运行有很多方法,最近玩esp8266模块放狗找资料,偶然发现一个干扰wifi信号廉价方法,特与大家分享。...目录 下载esp8266_deauther源码里sdk_fix下user_interface.h复制到该目录,替换原来文件。...06 找到packages\esp8266\hardware\esp8266\2.0.0\libraries\ESP8266WiFi\src目录 下载esp8266_deauther源码里...09 如果如前面所示你已经固件烧写进开发板里,你可以使用手机或者pc搜索wifi热点,你会发现一个名为“pwned”热点,此热点默认密码“deauther”,连接后,在浏览器打开192.168.4.1...嗯,到女神家门口让女神不了网,然后打电话向你求助。 现在很多酒店点菜机都是WiFi,不能点菜,酒店被ddos?

    3.1K70
    领券