zoukankan      html  css  js  c++  java
  • 野路子学习esp32(十) NodeMcu-WIFi@a.宏万

    esp32的wifi连接与esp8266的有区别;

    wifi

    ESP8266 and ESP32 differ a lot:

    ESP8266

    • events are captured via wifi.eventmon.*:
      • wifi.eventmon.register(event[, function(T)])
        • wifi.eventmon.STA_CONNECTED
        • wifi.eventmon.STA_DISCONNECTED
        • wifi.eventmon.STA_AUTHMODE_CHANGE
        • wifi.eventmon.STA_GOT_IP
        • wifi.eventmon.STA_DHCP_TIMEOUT
        • wifi.eventmon.AP_STACONNECTED
        • wifi.eventmon.AP_STADISCONNECTED
        • wifi.eventmon.AP_PROBEREQRECVED

    ESP32:

    • events are captured via wifi.on()
      • wifi.ap.on(event, callback)
        • event:
          • start: no additional info
          • stop: no additional info
          • sta_connected: information about the client that connected:
          • mac: the MAC address
          • id: assigned station id (AID)
          • disconnected: information about disconnecting client
          • mac: the MAC address
          • probe_req: information about the probing client
          • from: MAC address of the probing client
          • rssi: Received Signal Strength Indicator value

     ESP32的WiFi函数

    我只列出esp32的代码

    print("系统启动了")
    
    gpio.config({
        gpio=2,
        dir=gpio.OUT
    })
    
    gpio.write(2,1)
    
    print("设置wifi工作模式  连接到WiFi路由器时")
    wifi.mode(wifi.STATION,true)
    
    print("启动wifi")
    wifi.start()
    
    print("连接访问点(将配置保存到flash中)")
    station_cfg={}
    station_cfg.ssid="xz220"
    station_cfg.pwd="www.kyhmy.com"
    wifi.sta.config(station_cfg, true)
    
    print("连接")
    wifi.sta.connect()
    
    print("获取MAC")
    print(wifi.sta.getmac())

    比较有意思的是,我没有发现获取IP的方法,可能是官方取消了

    只能登陆路由器查看板子获取到的ip地址了

    我给板子绑定了固定ip这样就不会来回变了;

    后续继续研究,还是发现了获取IP的方法;

    并且还有很多有意思的;

    可以设置回调函数

    wifi.sta.on()    注册WiFi站状态事件回调。

    可以设置几个状态的回调

    "start"
    "stop"
    "connected"
    "disconnected"
    "authmode_changed"
    "got_ip"
    --register callback
    wifi.sta.on("got_ip", function(ev, info)
      print("NodeMCU IP config:", info.ip, "netmask", info.netmask, "gw", info.gw)
    end)
    
    --unregister callback
    wifi.sta.on("got_ip", nil)

    上面的代码完成了获取Ip地址的操作,如果连上网络并且获取到了IP会调用这函数打印当前信息

    也可以写成这样的 如果连接成功就点亮LED

    print("wifi状态打印")
    --register callback
    wifi.sta.on("connected", function(ev, info)
      print("WiFi已经连接")
      gpio.write(2,1)
    end)
    wifi.sta.on("disconnected", function(ev, info)
      print("wifi连接已经断开")
      gpio.write(2,0)
    end)
  • 相关阅读:
    php的form中元素name属性相同时的取值问题
    从FCN到DeepLab
    论文学习:Fully Convolutional Networks for Semantic Segmentation
    笔记:基于DCNN的图像语义分割综述
    论文笔记(3):STC: A Simple to Complex Framework for Weakly-supervised Semantic Segmentation
    概念:弱监督学习
    FCN小小实战
    (2)Deep Learning之线性单元和梯度下降
    (1)Deep Learning之感知器
    深度学习实验系列(1)
  • 原文地址:https://www.cnblogs.com/hongwans/p/9104956.html
Copyright © 2011-2022 走看看