esp8266之红外报警

本文介绍了使用ESP8266搭建红外报警系统的思路和硬件配置。主机和从机程序分别负责不同功能,而贝壳程序则提供了物联网连接方案。硬件部分包括有源蜂鸣器和E18-D80NK红外传感器,传感器在检测到障碍物时通过ESP8266发送信号。ESP8266的D1引脚连接蜂鸣器,D5引脚连接红外传感器。参考链接提供了更多详细信息和底层代码。
摘要由CSDN通过智能技术生成

主机程序思路

建立数组  存储热点信息(账号 密码)   存储热点的ip 子网掩码 默认网关信息
设置esp8266模式( wifi 和热点(AP)     连接wifi  并开启热点配置(初始化) )
定义IO引脚 并设置引脚模式
开启定时器并设置定时器中断函数(如果wifi连上  检测到ip 就执行贝壳(beike.lua))
创建一个服务器 (设置调用子模块  超时时间   )
定义一个模块 (定义模块rec(c,pl),pl为下面服务器接收到的字符串  判断接收的字符串来决定变量值 即标志位值)
创建监听端口 (监听80端口  并设置回调函数 顺带创建对象c  
 有消息就执行定义模块
 给客户端发送信息和将已经接受的客户端信息覆盖  用继承)

主机程序

apcfg = {}     --定义空的数组	
apcfg.ssid = "myssid"     --建立热点账号
apcfg.pwd = "123456789"  --建议热点密码

cfg = {}          --定义空的数组
cfg.ip = "192.168.4.1"     --设置热点的ip地址
cfg.netmask = "255.255.255.0"   --设置热点的子网掩码
cfg.gateway = "196.168.4.1"    --设置默认网关

wifi.setmode(wifi.STATIONAP)    --wifi的模式为STATION +AP模式
wifi.sta.config("ESP","123456789")   --station模式下连接wifi,参数为密码 账号
wifi.ap.setip(cfg)        --设置AP热点
wifi.ap.config(apcfg)      --开启AP热点

_m=0       --全局变量
led = 4     --定义esp8266第4脚
gpio.mode(led,gpio.OUTPUT)  --设置IO模式
buzzer = 1   --定义esp8266第4脚  led1为蜂鸣器 
gpio.mode(buzzer,gpio.OUTPUT)    --设置led

tmr.alarm(1, 1000, tmr.ALARM_AUTO, function()  --开启定时器1s  计时器间隔为1秒 自动报警 使用function()作为对象
    if wifi.sta.getip() == nil then            --如果没有连上wif,打印字符串,等待连接
        print("IP unavaiable, Waiting...")
        
    else
        print("Config done, IP is "..wifi.sta.getip())  --连上打印ip地址和ap地址,关闭定时器
        dofile("beike.lua")                 --打开并执行文件(贝壳.c)
        print("Config done, AP is "..wifi.ap.getip())   
        tmr.stop(1)                         --
    end
end)

sv = net.createServer(net.TCP, 30)  --创建一个服务器 调用子模块  超时时间(默认单位秒)
function rec(c
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值