[STM32F0] 串WIFI模块实例运用

[复制链接]
 楼主| 左岸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 来自手机 | 显示全部楼层
函数封装的很彻底
734774645 发表于 2018-2-24 10:00 | 显示全部楼层
应该搞个类似C那种语法的脚本,更爽。
mintspring 发表于 2018-2-24 16:30 | 显示全部楼层
  1. --init.lua
  2. print("set up wifi mode")
  3. wifi.setmode(wifi.STATION)
  4. wifi.sta.config("360WiFi-SJB","shejibu123")
  5. wifi.sta.connect()
  6. print("IP unavaiable, Waiting...")
  7. tmr.alarm(1, 1000, 1, function()
  8. if wifi.sta.getip()~= nil then

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

  13. end)

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

  5. function receiver(sck,data)
  6.    if (data=="ON")
  7.    then
  8.    gpio.write(LED,gpio.LOW)
  9.       sck:send("LED is ON")
  10.    else
  11.    gpio.write(LED,gpio.HIGH)
  12.       sck:send("LED is OFF")
  13.    end
  14.    print("Receive: "..data)


  15. --   sck:close()
  16. end

  17. if svr then
  18.    svr:listen(80,function(conn)
  19.                                                   conn:on("receive",receiver)
  20.                                                   conn:send("Hell world,my LED Light")
  21.                         end)
  22. end


mintspring 发表于 2018-2-24 16:33 | 显示全部楼层
然后用E4A开发安卓程序
selongli 发表于 2018-2-24 18:23 | 显示全部楼层
串口吗
fentianyou 发表于 2018-2-24 18:23 | 显示全部楼层
这个是什么开发板
selongli 发表于 2018-2-24 18:26 | 显示全部楼层
.sta.sethostname是什么?
fentianyou 发表于 2018-2-24 18:26 | 显示全部楼层
NodeMCU没有使用过。
mmuuss586 发表于 2018-2-25 12:11 | 显示全部楼层
学习下
小明的同学 发表于 2018-2-25 13:13 | 显示全部楼层
掌握官方的几个函数使用说明就可以玩
caijie001 发表于 2018-3-2 11:08 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部