查看: 488|回复: 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教程 汇总贴



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

    本版积分规则

    热门推荐

    KittenBot杯第六届开源硬件开发大赛启动啦
    KittenBot杯第六届开源硬
    大赛简介: 第六届开源硬件开发大赛由Arduino中文社区发起 由KittenBot冠名赞助
    arduino温湿度无线传感控制系统
    arduino温湿度无线传感控
    求求你我真的不会,要挂科了,我快哭了真的。如何把功能1234合在一起,目前只会功能2
    请问大神们,这是怎么回事
    请问大神们,这是怎么回事
    出现了这个问题,不知道怎么改,求助大神
    [游戏发布]飞机大战
    [游戏发布]飞机大战
    飞机大战游戏,你可以通过按键控制飞机躲避障碍,直到30000分通关 你要控制飞
    一 个 维 信,改 变你 的 一 生
    一 个 维 信,改 变你 的
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表