0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用ESP8266开发板制作光强度检测器

科技观察员 来源:八色木 作者:八色木 2022-04-08 15:27 次阅读

本文将介绍如何使用一个ESP8266开发板制作光强度检测器,并将检测结果在本地网页显示。

前言

你是否碰到过这样的问题,当你外出时突然忘记了家里的灯是否还开着,忘了关家里的灯怎么办呢?这个项目将允许你通过一个每秒更新的简单网页,查看房间的灯是否亮着。

电路连接

首先,连接一些外部元件到ESP8266开发板。将LDR光敏电阻通过一个10k的下拉电阻连接到3.3v。LDR光敏电阻将根据它接收到的光强度来改变电阻值,然后再用跳线连接10k电阻到ESP8266的ADC引脚。

poYBAGJP49CAJeqZAAWTvOIWWkQ376.png

电路原理图如下:

pYYBAGJP49WAHBpcAANbtkqDlsY360.png

程序设计思路

首先加载Hello World服务器的示例文件,为了让它声明light值并自动刷新,文中更改了handleRoot回调函数来提供定制的html代码。由于没有使用SD卡,所以无法使用javascript自动刷新这些值。庆幸的是,HTML本身提供了一种按设置的间隔时间刷新页面的方法。只需要在《p》标签后面添加《meta http-equiv=“refresh” content=“1”》。记住需要在代码中包含你的WiFi证书。

然后,通过浏览器访问ESP8266的IP地址就可以查看页面,在示例中IP地址是192.168.0.41,在浏览器设置中允许网站自动刷新,如果希望在不网络上(例如在使用4G网络的手机上)查看网页,需要将对应端口转发到ESP8266的IP地址。例如,输入的不是192.168.0.41,端口转发的类型是“MY_IP:THE_PORT_I_CHOSE_TO_FORWARD”,MY_IP是你的外网IP地址,THE_PORT_I_CHOSE_TO_FORWARD路由器设置中设置的端口。通过端口转发,现在就算你不在家也可以检查家里的灯是开着还是关着了!

完整代码

#include

#include

#include

#include

const char* ssid = "SSID";

const char* password = "PSSWD";

ESP8266WebServer server(80);

void handleRoot() {

String msg = "ESP8266 Light Levels";

msg += "";

msg += "

The light level is: ";

msg += String(analogRead(A0))+"

";

msg += "";

msg += "";

server.send(200, "text/html", msg);

}

void handleNotFound(){

String message = "File Not Found\n\n";

message += "URI: ";

message += server.uri();

message += "\nMethod: ";

message += (server.method() == HTTP_GET)?"GET":"POST";

message += "\nArguments: ";

message += server.args();

message += "\n";

for (uint8_t i=0; i

message += " " + server.argName(i) + ": " + server.arg(i) + "\n";

}

server.send(404, "text/plain", message);

}

void setup(void){

Serial.begin(115200);

WiFi.begin(ssid, password);

Serial.println("");

// Wait for connection

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print(".");

}

Serial.println("");

Serial.print("Connected to ");

Serial.println(ssid);

Serial.print("IP address: ");

Serial.println(WiFi.localIP());

if (MDNS.begin("esp8266")) {

Serial.println("MDNS responder started");

}

server.on("/", handleRoot);

server.onNotFound(handleNotFound);

server.begin();

Serial.println("HTTP server started");

}

void loop(void){

server.handleClient();

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 检测器
    +关注

    关注

    1

    文章

    811

    浏览量

    47289
  • 开发板
    +关注

    关注

    25

    文章

    4426

    浏览量

    93942
  • ESP8266
    +关注

    关注

    50

    文章

    947

    浏览量

    43927
收藏 人收藏

    评论

    相关推荐

    什么是ESP8266开发板

    本章节带大家来了解一下什么是ESP8266开发板,板子实物图如下所示:二、是什么?ESP8266模块我们可以理解成一个单片机带有WiFi功能,我们使用自己单片机进行控制时,只需要让两个单片机相互之间
    发表于 07-13 09:19

    初试ESP8266开发板

    怎样去使用ESP8266开发板?怎样通过Arduino IDE进行写入程序呢?
    发表于 02-24 07:14

    NodeMCU基于ESP8266的一款wifi开发板

    NodeMCU基于ESP8266的一款wifi开发板,这是它的API指令手册。
    发表于 10-29 11:49 525次下载

    ESP8266 Wi-Fi到底传多远_esp8266 wifi信号强度测距

    esp8266是一个具有WiFi功能的开发板,它是由一家名为乐鑫的科技公司所设计,在由安信可科技公司负责生产,在以前要买到具有WiFi功能的开发板都要上千元,esp8266打破了这个价
    发表于 04-12 10:39 5w次阅读

    ESP8266开发板的原理图和PCB图免费下载

    本文档的主要内容详细介绍的是ESP8266开发板的原理图和PCB图免费下载。
    发表于 10-11 09:15 230次下载
    <b class='flag-5'>ESP8266</b><b class='flag-5'>开发板</b>的原理图和PCB图免费下载

    ESP8266开发板的电路和PCB原理图免费下载

    本文档的主要内容详细介绍的是ESP8266开发板的电路和PCB原理图免费下载。
    发表于 11-22 08:00 447次下载
    <b class='flag-5'>ESP8266</b><b class='flag-5'>开发板</b>的电路和PCB原理图免费下载

    ESP8266和Node MCU扫盲与开发入门

    下图是网上出现最频繁的NODE MCU开发板,由ESP8266模块、USB转TTL芯片、5V转3.3V的LDO、自动下载电路等组成。ESP8266指的是乐鑫推出的ESP8266-EX芯
    发表于 10-26 09:06 30次下载
    <b class='flag-5'>ESP8266</b>和Node MCU扫盲与<b class='flag-5'>开发</b>入门

    NodeMCU-ESP8266开发板搭建Arduino IDE开发环境

    ;首选项->附加开发板管理网址,填入地址:http://arduino.esp8266.com/stable/package_esp8266com_index.json,然后确定。 接着工具->
    发表于 10-26 20:06 18次下载
    NodeMCU-<b class='flag-5'>ESP8266</b><b class='flag-5'>开发板</b>搭建Arduino IDE<b class='flag-5'>开发</b>环境

    MacOS上ESP8266开发板刷microPython教程

    MacOS上ESP8266开发板刷microPython教程
    发表于 11-30 17:36 8次下载
    MacOS上<b class='flag-5'>ESP8266</b><b class='flag-5'>开发板</b>刷microPython教程

    esp笔记(2)使用Arduino IDE 开发 esp8266

    本文开发环境:MCU型号:esp8266开发环境 :Arduino 1.8.9硬件平台:V3 开发板本文内容:Esp8266 V3
    发表于 12-05 14:51 55次下载
    <b class='flag-5'>esp</b>笔记(2)使用Arduino IDE <b class='flag-5'>开发</b> <b class='flag-5'>esp8266</b>

    配置esp8266开发板的Arduino开发环境

    1.esp8266开发板硬件:基于esp8266的nodemuc开发板 需要microUSB连接线。ESP8266-NodeMCU是一个开源
    发表于 12-08 14:51 33次下载
    配置<b class='flag-5'>esp8266</b><b class='flag-5'>开发板</b>的Arduino<b class='flag-5'>开发</b>环境

    用Arduino和esp8266检测WIFI信号强度

    用Arduino和esp8266检测WIFI信号强度用Arduino和esp8266检测WIFI信号强度
    发表于 01-12 19:56 4次下载
    用Arduino和<b class='flag-5'>esp8266</b><b class='flag-5'>检测</b>WIFI信号<b class='flag-5'>强度</b>

    开发板ESP8266开源分享

    电子发烧友网站提供《开发板ESP8266开源分享.zip》资料免费下载
    发表于 08-10 14:49 16次下载
    <b class='flag-5'>开发板</b><b class='flag-5'>ESP8266</b>开源分享

    使用ESP8266事物开发板的LoRa控制中心

    电子发烧友网站提供《使用ESP8266事物开发板的LoRa控制中心.zip》资料免费下载
    发表于 01-03 11:49 0次下载
    使用<b class='flag-5'>ESP8266</b>事物<b class='flag-5'>开发板</b>的LoRa控制中心

    nodemcu和esp8266是什么关系?

    nodemcu和esp8266是什么关系 nodemcu和esp8266是什么关系?通俗理解就是nodemcu是一个开发板,基于esp8266开发
    的头像 发表于 10-20 14:53 2257次阅读
    nodemcu和<b class='flag-5'>esp8266</b>是什么关系?