ESP8266实现的web页面开门

实现思路

为什么直接使用esp8266

esp8266是一种WiFi模块,原来可以同过AT指令建立TCP连接进行远程操作。但是这样导致需要另外的51或者32单片机进行IO控制,esp8266本身也是一块单片机,直接使用esp8266的IO口无疑是方便很多了。

esp8266的实现

注册WiFi连接事件,在WiFi连接是获取客户端的mac地址,将WiFi的连接数目设置为一,防止mac被新的mac覆盖,定义一个常量为你允许能开门的mac地址用户。

代码实现

WIFI设置

WiFi.mode(WIFI_AP);//设置为AP模式
WiFi.softAPConfig(IP,IP,IPAddress(255,255,255,0));
WiFi.softAP(ssid,password,1,0,1);//配置wifi名字和密码设置信道为1,不隐藏SSID,连接数目为1

WIF连接事件

WiFi.onSoftAPModeStationConnected(&onStationConnected);
void onStationConnected(const WiFiEventSoftAPModeStationConnected& evt) {

Mac=macToString(evt.mac);//获取连接的mac地址
}

域名设置

dnsserver.setTTL(300);//设置超时
dnsserver.setErrorReplyCode(DNSReplyCode::ServerFailure);
dnsserver.start(DNS_Port,“www.sixgod.com”,IP);//设置域名IP为esp8266的IP地址

web服务器

webserver.on("/3220",//设置webrequest请求后处理事件
{
if(check_root())//判断是否为允许用户
{
setopen();
webserver.send(200,“text/html”,html);//发送html文件给客户端
//执行开门指令
myservo.write(90);
delay(1500);
myservo.write(0);
}
else
{
//返回404
webserver.send(404,“text/plain”,“404”);
}
});
webserver.begin();//开启服务器`

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值