查看: 804|回复: 1

ESP32 MicroPython教程:连接Wi-Fi网络

[复制链接]
  • TA的每日心情

    2018-1-11 13:58
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    发表于 2018-11-16 14:48 | 显示全部楼层 |阅读模式
    本帖最后由 dfrobot 于 2018-11-26 10:55 编辑

    本MicroPython教程旨在阐释如何使用ESP32上的MicroPython连接Wi-Fi网络。

    简 介
    本文旨在阐释如何使用ESP32上的MicroPython连接Wi-Fi网络。本文所述步骤基于MicroPython 文档网站上的ESP8266指南,我建议你读一下该指南。
    我们将通过向prompt发送命令来执行Python代码,如此将能够逐步查看进程。如果你还没有在ESP32上配置MicroPython,请查看上一篇文章。
    我将使用Putty建立与Python prompt的串行连接,但你也可以用其他软件建立此连接。

    代 码
    首先,导入网络模块以获取建立Wi-Fi网络连接所需的所有功能。
    导入模块后,控制台 (console) 上会打印部分信息,如图1所示。本教程用不到这些信息,但为便于说明,我将其保留了下来。

    Figure 1 – Importing the MicroPython network module..png
    图1 –导入MicroPython网络模块

    因为我们要连接到Wi-Fi网络,所以我们的设备将以工作站 (station) 模式运行。因此,我们需要创建一个工作站Wi-Fi接口的实例[1]。为此,只需调用WLAN类的构造函数,并以我们想要的接口的标识符作为输入值传递。在此情况下,我们将使用network.STA_IF接口。
    现在,我们将通过在工作站对象上调用激活方法并以True作为输入值传递来激活网络接口,因为其接受Boolean值。

    1   station.active(True)

    同样地,执行此命令后,你将在命令行上获得一个输出值,表明设备正处于工作站模式且接口已启动,如图2所示。

    Figure 2 – Activating station mode..png

    图2 – 激活工作站模式

    最后,我们将使用connect方法连接到Wi-Fi网络。该方法以SSID(网络名称)和密码作为输入值。

    1  station.connect("YourNetworkName", "YourNetworkPassword")

    它将再次向控制台打印一些信息。要考虑到连接可能需要一段时间的情况。另请注意,一旦连接建立,将不会打印“>>>>”,因此打印完最后一条消息后,设备看起来像是仍在进行处理,如图3所示。你可以按回车键继续正常操作。

    Figure 3 – Connecting to the WiFi network..png
    图3 – 连接Wi-Fi网络。

    最后,我们将通过调用isconnected方法确认连接,如果设备已连接Wi-Fi网络,则返回true [2]。我们还将调用ifconfig方法,该方法返回IP地址、子网掩码、网关和DNS作为输出参数[2]。

    1  station.isconnected()
    2  station.ifconfig()

    参看图4中这些命令的最终输出值,其表明我们已正确连接到Wi-Fi网络。

    Figure 4 – Confirming the connection to the WiFi network..png
    图4 – 确认与Wi-Fi网络的连接。

    请注意,分配给ESP32的IP是本地IP,因此在未进行路由器端口转发的情况下,不能用它来接收来自本地网络外的连接。

    查看更多ESP32/ESP8266教程和项目,请点击 : ESP32教程 汇总贴



    打赏作者鼓励一下!
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    博哥零基础教你玩转ESP8266(十三) ESP8266WiFiGeneric库
    博哥零基础教你玩转ESP826
    帖子导航帖 博哥零基础教你玩转ESP8266(一) 重识ESP8266 博哥零基础教你玩转ESP8266
    求助!WeMos D1 WiFi怎么接0.96寸OLED?(ㄒoㄒ)
    求助!WeMos D1 WiFi怎么
    求助!WeMos D1 WiFi怎么接0.96寸OLED?(ㄒoㄒ) 想用WeMos D1 WiFi接收服务器的数据然
    串口发送16进制指令求助
    串口发送16进制指令求助
    我准备串口发出16进制指令到我的外置设备 代码如下图 我分别监控ARDUINO的tx口和USB口
    一文教你选择Arduino开发板,小白进
    一文教你选择Arduino开发
    笔者在2016年接触了Arduino,跳了万条坑,行了千里弯,到今天也算是Arduino的一
    大神们!1602显示屏上的MQ2浓度示数不是实时监测的何解
    大神们!1602显示屏上的MQ
    本人小白,刚刚接触arduino,长时间的查阅资料后,通过复制修改代码接线实现了DHT11实
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表