wifi模块
wifi模块函数比较多,在这里举几个常用的讲解
wifi常用的几个函数
wifi.setmode(mode)
wifi.sta.config(ssid, password)
wifi.sta.connect()
wifi.sta.getip()
wifi.ap.config()
wifi.ap.getip()
wifi.setmode(mode)
wifi.setmode(mode)
参数:mode: 取值为:
wifi.STATION(连接模式),
wifi.SOFTAP(热点模式)
wifi.STATIONAP(二者共存)
wifi.sta.config(ssid, password)
这个函数有两种用法,根据不同固件选择不同方法,可以测试一下哪个能用;
一·
wifi.sta.config("myssid","mypassword")
二.
cfg={}
cfg.ssid="myssid"
cfg.pwd="mypwd"
wifi.sta.config(cfg)
wifi.sta.connect()
配置好要连接的wifi后使用次函数启动连接
wifi.sta.connect()
wifi.sta.getip()
连接成功后返回自己的ip地址,否则返回nil
wifi.setmode(wifi.STATION)
wifi.sta.config("账号","密码")
wifi.sta.connect()
tmr.alarm(1, 1000, 1, function()
if wifi.sta.getip()== nil then
print("IP unavaiable, Waiting...")
else
tmr.stop(1)
print("Config done, IP is "..wifi.sta.getip())
end
end)
wifi.ap.config()
这个函数有两种用法,根据不同固件选择不同方法,可以测试一下哪个能用;
一.
wifi.ap.config("myssid","mypassword")
二.
cfg={}
cfg.ssid="myssid"
cfg.pwd="mypwd"
wifi.ap.config(cfg)
wifi.ap.getip()
建立好热点后返回自己的ip地址
wifi.setmode(wifi.SOFTAP)
cfg={}
cfg.ssid="myssid"
cfg.pwd="mypwd"
wifi.ap.config(cfg)
print(wifi.ap.getip())
tcp通信模块
net.createServer(type, timeout):服务器模式
net.createConnection(type, secure):客户端模式
服务器模式独有的函数
listen(port)
客户端模式独有函数
connect(port, ip/domain)
共有的函数
send(string)
close()
on(event, function(c))
server.lua
sv=net.createServer(net.TCP, 30) --创建一个服务器,客户端连接后30s内没有通信自动断开客户端
sv:listen(80,function(c) --监听80端口,当有客户端连接后,创建客户端对象c
c:on("receive", function(c, msg) --当接收到客户端发送过来的消息触发此函数
print(msg) --打印接收到的消息
end)
c:send("hello world") --向客户端发送消息“hello world”
c:close() --断开客户端的连接
end)
client.lua
sk=net.createConnection(net.TCP, 0) --创捷一个tcp客户端
sk:connect(80,"192.168.1.1") --连接IP地址和端口80
sk:on("receive", function(sv, c) --当接收到服务器发送过来的消息是触发此函数
print(c) --打印接收到的消息
end )
sk:send("hello world") --向服务器发送数据
on(event, function(c))
event: 取值为:
"connection", 连接成功时
"reconnection", 重新连接成功时
"disconnection", 连接断开时
"receive", 接收到消息时
"sent", 发送消息时
function (net.socket, [string]): 回调函数。第一个参数:是 socket.
如果事件是"receive", 第二个参数:则为接收到的字符串。