本代码主要基于简单的lua代码实现联网发送指令从而控制led的亮灭
print("set up wifi mode")
wifi.setmode(wifi.STATION)
wifi.sta.config{ssid="ghj",pwd="12345678"} --wifi模块连接到网络
wifi.sta.connect()
tmr.alarm(1,1000,1,function()
if wifi.sta.getip()==nil then
print("connecting ...")
else
tmr.stop(1)
print("ip is "..wifi.sta.getip())
end
end)
pin=4 --控制pin4引脚
gpio.mode(pin,gpio.OUTPUT)
srv=net.createServer(net.TCP,28800) --wifi模块建立服务器
srv:listen(8888,function(conn) --8888为端口号,可自定义但与tcp连接时应保持一致
conn:on("receive",function(conn,payload)
if(payload>='20') then --发送的字符大于20则开灯
gpio.write(pin,gpio.LOW)
print(1)
elseif (payload<'20') then
gpio.write(pin,gpio.HIGH)
print(0)
else
print(3)
end
print(payload)
end)
end)
注意事项:
wifi连接时有网上例程代码为
wifi.sta.config("lalalala","12341234") --手机热点的名称和密码
但部分机器不支持,所以应该改成
wifi.sta.config{ssid="ghj",pwd="12345678"}
其次注意比较的标准之一是字符为单引号,而不是字符串的双引号,因为在c语言中(lua代码为c语言的删减版)字符是可以直接比较大小的,而字符串则需要比较函数才可以。