主机程序思路
建立数组 存储热点信息(账号 密码) 存储热点的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