发新帖本帖赏金 1.01元(功能说明)我要提问
返回列表
打印
[STM32F0]

串WIFI模块实例运用

[复制链接]
2112|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
左岸echo|  楼主 | 2018-2-22 14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 左岸echo 于 2018-2-22 14:37 编辑

由于NodeMCU提供简洁明了的API借口,所以调用WIFI还是比较方便的,官方也有大部分的实例可以用来参考的。


station函数运用:运用.sta.sethostname设置nodeMCU模块的名字,方便与其他设备区分。注册一个状态(wifi.STA_GOTIP)监听,当连入wifi的时候会触发回调。最后使用.sta.config接入网络,相当于平时用手机输入ssid和密码。为了方便,我用笔记本共享wifi来给nodeMCU接入。
wifi.sta.sethostname("My_NodeMCU")

print(wifi.sta.gethostname())

function printap(ap)
    for k, v in pairs(ap) do
        print(k.." : "..v)
    end
end

wifi.sta.eventMonReg(wifi.STA_GOTIP, function()
    print(wifi.sta.getip())
    wifi.sta.getrssi()
    wifi.sta.getap(printap)
end)
wifi.sta.eventMonStart()

wifi.sta.config("mywifi", "1234567890")            //括号里面的信息需要自行修改成自己的

复制代码


作为AP使用。

需要把wifi设置为station&ap混合模式。使用.ap.config配置ap信息,再把enduser_setup设置成手动模式

wifi.setmode(wifi.STATIONAP)
wifi.ap.config({ssid="nodeMCU", pwd="12345678", auth=wifi.WPA2_PSK})

enduser_setup.manual(true)
print("ap ip:"..wifi.ap.getip())
print("ap mac:"..wifi.ap.getmac())
print("sta mac:"..wifi.sta.getmac())

enduser_setup.start(
  function()
    print("sta ip:" .. wifi.sta.getip())
    wifi.setmode(wifi.STATION)
  end,
  function(err, str)
    print("enduser_err:" .. str)
    enduser_stop()
  end
)
更多操作

打赏榜单

tiantian格 打赏了 1.00 元 2018-02-22
理由:有用

tiantian格 打赏了 0.01 元 2018-02-22
理由:不错哦

沙发
左岸echo|  楼主 | 2018-2-22 14:27 | 只看该作者
本帖最后由 左岸echo 于 2018-2-22 14:37 编辑

谢谢你们

使用特权

评论回复
板凳
dongnanxibei| | 2018-2-23 17:42 | 只看该作者
的确很方便,我用这个控制一堆灯很实用

使用特权

评论回复
地板
598330983| | 2018-2-23 18:45 | 只看该作者
函数封装的很彻底

使用特权

评论回复
5
734774645| | 2018-2-24 10:00 | 只看该作者
应该搞个类似C那种语法的脚本,更爽。

使用特权

评论回复
6
mintspring| | 2018-2-24 16:30 | 只看该作者
--init.lua
print("set up wifi mode")
wifi.setmode(wifi.STATION)
wifi.sta.config("360WiFi-SJB","shejibu123")
wifi.sta.connect()
print("IP unavaiable, Waiting...")
tmr.alarm(1, 1000, 1, function()
if wifi.sta.getip()~= nil then

tmr.stop(1)
print("Config done, IP is "..wifi.sta.getip())
dofile("kaiguan.lua")
end

end)

--kaiguan.lua
LED=3
gpio.mode(LED,gpio.OUTPUT)
svr=net.createServer(net.TCP, 30)

function receiver(sck,data)
   if (data=="ON")
   then
   gpio.write(LED,gpio.LOW)
      sck:send("LED is ON")
   else
   gpio.write(LED,gpio.HIGH)
      sck:send("LED is OFF")
   end
   print("Receive: "..data)


--   sck:close()
end

if svr then
   svr:listen(80,function(conn)
                                                  conn:on("receive",receiver)
                                                  conn:send("Hell world,my LED Light")
                        end)
end


使用特权

评论回复
7
mintspring| | 2018-2-24 16:33 | 只看该作者
然后用E4A开发安卓程序

使用特权

评论回复
8
selongli| | 2018-2-24 18:23 | 只看该作者
串口吗

使用特权

评论回复
9
fentianyou| | 2018-2-24 18:23 | 只看该作者
这个是什么开发板

使用特权

评论回复
10
selongli| | 2018-2-24 18:26 | 只看该作者
.sta.sethostname是什么?

使用特权

评论回复
11
fentianyou| | 2018-2-24 18:26 | 只看该作者
NodeMCU没有使用过。

使用特权

评论回复
12
mmuuss586| | 2018-2-25 12:11 | 只看该作者
学习下

使用特权

评论回复
13
小明的同学| | 2018-2-25 13:13 | 只看该作者
掌握官方的几个函数使用说明就可以玩

使用特权

评论回复
14
caijie001| | 2018-3-2 11:08 | 只看该作者

使用特权

评论回复
发新帖 本帖赏金 1.01元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝