首页 » 网站推广 » php自衔接技巧_ESP32 ESP8266 MicroPython教程自动连接WiFi

php自衔接技巧_ESP32 ESP8266 MicroPython教程自动连接WiFi

访客 2024-11-07 0

扫一扫用手机浏览

文章目录 [+]

我们将考验两种方法,一种是从模块导入函数并在须要连接WiFi网络时实行该函数,另一种是全自动式,即在启动后自动将开拓板连接到WiFi网络。

请把稳,这两种办理方案都须要将文件上传到MicroPython的文件系统。
你可以参阅这篇此前的教程以获取干系详细解释。
此外,有关如何手动连接WiFi网络的解释,请查看此教程。
所有步骤都至关主要,由于我们基本上只是将它们封装在模块的函数中。

php自衔接技巧_ESP32  ESP8266 MicroPython教程自动连接WiFi

模块调用型连接

在第一部分中,我们将阐释如何在调用模块中定义的函数时自动连接WiFi网络。
如果我们不想每次利用ESP32 / ESP8266时都连接WiFi网络,那么这个方法会非常有用。
我们可以通过它决定何时连接WiFi。

php自衔接技巧_ESP32  ESP8266 MicroPython教程自动连接WiFi
(图片来自网络侵删)

要采取此方法,我们将定义一个大略的Python函数来实行连接程序。
我们将此函数称为connect函数。

1 def connect():2 #Python code goes here

然后,导入网络模块,这是获取WiFi网络连接功能所必须的步骤。
为方便起见,我们还要将我们的网络凭据(ssid和密码)存储在两个变量上。

1 import network2 3 ssid = \"大众yourNetworkName\"大众4 password = \公众yourNetworkPassword\"大众

接下来,获取站点WiFi接口的实例并将其存储在变量上。
然后,检讨我们是否已连接到WiFi网络。
如已连接,则打印警告,完成实行。

1 station = network.WLAN(network.STA_IF)2 3 if station.isconnected() == True:4 print(\"大众Already connected\公众)5 return

如未连接,则利用存储在前文所述的变量中的凭据来激活网络接口并实行实际连接。

1 station.active(True)2 station.connect(ssid, password)

由于连接可能须要一些韶光,以是我们将通过检讨is connected方法的输出结果来进行主动等待,直到成功连接为止。
请把稳,之以是须要pass语句是由于Python语法不起任何浸染。

还要考虑到,我们为了简化操作将无限期地等待连接,举个例子,如果WiFi凭据出错,那么模块将无限期挂起,处于考试测验连接的状态。
当然,对付更稳健的实际运用处景,我们须要实行某种超机遇制。

末了,我们将打印成功和WiFi配置

1 while station.isconnected() == False:2 pass3 4 print(\公众Connection successful\"大众)5 print(station.ifconfig())

该模块的完全代码如下所示。
将文件以.py为扩展名保存在你选择的目录中。
你可以依你所好为其命名,但在本教程中,我们将其命名为ConnectWiFi.py。

1 def connect():2 import network3 4 ssid = \公众yourNetworkName\"大众5 password = \"大众yourNetworkPassword\"大众67 station = network.WLAN(network.STA_IF)8 9 if station.isconnected() == True:10 print(\"大众Already connected\公众)11 return1213 station.active(True)14 station.connect(ssid, password)1516 while station.isconnected() == False:17 pass1819 print(\"大众Connection successful\"大众)20 print(station.ifconfig())

末了,要上传代码,只需打开命令行,导航到存储文件的目录,然后实行以下命令,将COM5改为你的设备所在的串行端口。

1 ampy --port COM5 put ConnectWiFi.py

现在,用你选择的软件连接Python提示符。
本教程所用软件为Putty。
要验证新文件已精确上载,请实行以下命令:

1 import os2 os.listdir()

如图1所示,该文件应被列出。

图1 - 成功上传WiFi连接模块。

现在,我们只需导入模块并调用connect函数,如下所示。

1 import ConnectWiFi2 ConnectWiFi.connect()

结果如图2所示。
请把稳,末了会显示我们的成功,表明我们现在已建立连接。

为了确认我们的安全保障运行良好,你可以考试测验再次调用connect函数。
它此时该当会在代码中返回一条,表明我们已建立连接。
如图3所示。

图3 – 已连接WiFi网络后调用函数时的警告。

自动连接

实行前,我们首先须要剖析与某些启动脚本干系的MicroPython特性。

正如之前的一些教程所述,安装MicroPython时会在文件系统中天生一个boot.py文件。
这个特定文件会在开拓板供电时运行[1]。
它已经包含一些低级代码,这些代码应予以保留。

如此处的MicroPython文档所示,我们可以在此文件放置我们用于连接WiFi网络的代码,这样电路板启动时会实行该代码。

不过,我们采取的是另一个方法。
除了boot.py外,如果文件系统中有一个名为main.py的文件,那么该文件会在boot.py脚本[1]完成后运行。
因此,我们将创建这个文件并在启动时通过它自动连接WiFi网络。
请把稳,此文件可以为我们的运用实行其他类型的代码。
此外,由于它不是逼迫性文件,以是我们可以放心利用。

现在,为实行自动连接,我们将重新利用以前的模块。
因此,先创建一个名为main.py的文件。
如前所述,这次须要将其命名为main.py(与之前定义的模块的名称不同),否则它将不会自动实行。

此处,只需导入ConnectWiFi模块并调用connect函数,就像我们之前手动操作的那样。

1 import ConnectWiFi2 ConnectWiFi.connect()

现在,利用以下命令将文件加载到文件系统(记得将COM5改为你的设备端口)。
如果你仍在通过Putty或其他软件连接,则须要先关闭该连接,否则无法加载文件。

1 ampy --port COM5 put main.py

现在重新连接Python提示符。
你可以利用我们之前实行的os.listdir()调用确认文件已成功加载。

请把稳,由于MicroPython已经在运行,因此不会涌现任何改变。
要检讨我们的main.py是否按指示将开拓板连接到WiFi网络,只需在打开提示符的情形下重置ESP32 / ESP8266。
它此时该当会重新启动并实行我们的函数,如图4所示。

图4 – 启动后自动连接。

我们可以通过导入ConnectWiFi模块并考试测验调用connect函数来确认我们已建立连接。
此处该当会返回“已连接”的警告,如图5所示。

![在这里插入图片描述](https://img-blog.csdnimg.cn/20181205144731956.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI5MzM4MjQz,size_16,color_FFFFFF,t_70)

图5 - 考试测验再次连接到WiFi网络时涌现警告。

注:本文作者是Nuno Santos,他是一位和蔼可亲的电子和打算机工程师,住在葡萄牙里斯本 (Lisbon)。

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

ESP32教程大全:http://mc.dfrobot.com.cn/forum.php?mod=viewthread&tid=271930

ESP32 tutorial:https://www.dfrobot.com/blog-964.html

标签:

相关文章

Python编程从入门到精通,探索编程之美

编程已经成为现代社会的一项基本技能。Python作为一种简单易学、功能强大的编程语言,在我国教育领域备受关注。本文将从Python...

网站推广 2025-03-02 阅读1 评论0

Scum07代码编程之美与适用方法

编程已成为当今社会不可或缺的技能之一。Scum07代码作为一款经典的编程语言,在我国众多程序员中备受推崇。本文将深入解析Scum0...

网站推广 2025-03-02 阅读1 评论0

Linux环境下的前端代码运行优化与步骤

前端技术逐渐成为软件开发的核心。Linux操作系统因其稳定性、安全性、开放性等特点,成为众多开发者和企业青睐的运行环境。本文将从L...

网站推广 2025-03-02 阅读1 评论0