【雕爷学编程】MicroPython手册之 WiPy 特定端口库 wipy.heartbeat()

在这里插入图片描述

MicroPython是为了在嵌入式系统中运行Python 3编程语言而设计的轻量级版本解释器。与常规Python相比,MicroPython解释器体积小(仅100KB左右),通过编译成二进制Executable文件运行,执行效率较高。它使用了轻量级的垃圾回收机制并移除了大部分Python标准库,以适应资源限制的微控制器。

MicroPython主要特点包括:
1、语法和功能与标准Python兼容,易学易用。支持Python大多数核心语法。
2、对硬件直接访问和控制,像Arduino一样控制GPIO、I2C、SPI等。
3、强大的模块系统,提供文件系统、网络、图形界面等功能。
4、支持交叉编译生成高效的原生代码,速度比解释器快10-100倍。
5、代码量少,内存占用小,适合运行在MCU和内存小的开发板上。
6、开源许可,免费使用。Shell交互环境为开发测试提供便利。
7、内置I/O驱动支持大量微控制器平台,如ESP8266、ESP32、STM32、micro:bit、掌控板和PyBoard等。有活跃的社区。

MicroPython的应用场景包括:
1、为嵌入式产品快速构建原型和用户交互。
2、制作一些小型的可 programmable 硬件项目。
3、作为教育工具,帮助初学者学习Python和物联网编程。
4、构建智能设备固件,实现高级控制和云连接。
5、各种微控制器应用如物联网、嵌入式智能、机器人等。

使用MicroPython需要注意:
1、内存和Flash空间有限。
2、解释执行效率不如C语言。
3、部分库函数与标准版有差异。
4、针对平台优化语法,订正与标准Python的差异。
5、合理使用内存资源,避免频繁分配大内存块。
6、利用原生代码提升速度关键部位的性能。
7、适当使用抽象来封装底层硬件操作。

总体来说,MicroPython让Python进入了微控制器领域,是一项重要的创新,既降低了编程门槛,又提供了良好的硬件控制能力。非常适合各类物联网和智能硬件的开发。
在这里插入图片描述

MicroPython 是一种适用于微控制器的 Python 语言的精简实现,它可以让开发者使用 Python 语法和标准库来编写嵌入式应用程序。WiPy 是一种基于 ESP32 芯片的无线开发板,它支持运行 MicroPython 固件。MicroPython 特定于 WiPy 的库是一组为 WiPy 设计的模块,它们提供了 WiPy 的特有功能和硬件接口的访问。MicroPython 特定于 WiPy 的库的主要特点如下:

1、它包含了一些与 WiPy 相关的模块,如 machine, network, pycom, uos 等,它们分别提供了 WiPy 的机器级别控制,网络连接,灯光控制,操作系统接口等功能。
2、它还包含了一些通用的 MicroPython 模块,如 binascii, hashlib, math, random, struct, time 等,它们提供了一些常用的数据处理,加密,数学,随机数,数据结构,时间等功能。
3、它遵循了 MicroPython 的设计原则,即简洁,高效,可移植和兼容。

在这里插入图片描述

MicroPython 的 wipy.heartbeat() 是一个用于控制 WiPy 开发板上的心跳 LED 的函数,它可以获取或设置心跳 LED 的状态(开启或关闭)。

wipy.heartbeat() 的主要特点如下:

它是 wipy 模块的一部分,wipy 模块包含了一些 WiPy 特有的功能和硬件接口的访问。
它接受和返回布尔值(True 或 False),表示心跳 LED 的状态。
它可以在任何时候调用,无论 WiPy 是否连接到网络或其他设备。

wipy.heartbeat() 的应用场景如下:

WiPy 开发板上的心跳 LED 是一个用于指示 WiPy 是否正常工作的指示灯,它默认每 5 秒闪烁一次。如果开发者想要关闭心跳 LED,以节省电源或避免干扰,可以使用 wipy.heartbeat(False) 来禁用它。
如果开发者想要自己控制心跳 LED 的颜色和亮度,可以使用 wipy.heartbeat(False) 来禁用它,然后使用 pycom.rgbled(value) 来设置 LED 的值,其中 value 是一个 24 位的 RGB 值。
如果开发者想要根据不同的条件来改变心跳 LED 的状态,可以使用 wipy.heartbeat() 来获取当前的状态,然后根据需要使用 wipy.heartbeat(True) 或 wipy.heartbeat(False) 来开启或关闭它。例如,可以根据网络连接的状态或传感器数据的变化来改变心跳 LED 的状态。

wipy.heartbeat() 的需注意事项如下:

在使用 wipy.heartbeat() 之前,需要先导入 wipy 模块,使用 import wipy 语句。
在使用 wipy.heartbeat() 时,需要注意不要与其他模块或设备冲突,例如如果使用 machine.Pin(‘P25’) 来控制其他设备,就不能同时使用 wipy.heartbeat() 来控制心跳 LED。
在使用 wipy.heartbeat() 时,需要注意心跳 LED 的状态可能会影响 WiPy 开发板的运行和调试,例如如果关闭了心跳 LED,就不能通过它来判断 WiPy 是否正常工作或是否进入了休眠模式。

以下是三个实际运用程序的代码:

案例1:使用 wipy.heartbeat(False) 来关闭心跳 LED。:

# 导入 wipy 模块
import wipy

# 关闭心跳 LED
wipy.heartbeat(False)

案例2:使用 wipy.heartbeat(False) 和 pycom.rgbled(value) 来控制心跳 LED 的颜色和亮度。:

# 导入 wipy 和 pycom 模块
import wipy
import pycom

# 关闭心跳 LED
wipy.heartbeat(False)

# 设置心跳 LED 的颜色为红色
pycom.rgbled(0xff0000)

# 设置心跳 LED 的亮度为低
pycom.rgbled(0x101010)

案例3:使用 wipy.heartbeat() 和 network 模块来根据网络连接的状态来改变心跳 LED 的状态。

# 导入 wipy 和 network 模块
import wipy
import network

# 创建 WLAN 对象并连接到网络
wlan = network.WLAN(mode=network.WLAN.STA)
wlan.connect("your_ssid", auth=(network.WLAN.WPA2, "your_password"))

# 循环检查网络连接的状态并改变心跳 LED 的状态
while True:
    # 如果网络已经连接,则开启心跳 LED
    if wlan.isconnected():
        # 如果心跳 LED 当前是关闭的,则开启它
        if not wipy.heartbeat():
            wipy.heartbeat(True)
    # 如果网络没有连接,则关闭心跳 LED
    else:
        # 如果心跳 LED 当前是开启的,则关闭它
        if wipy.heartbeat():
            wipy.heartbeat(False)

案例4:硬件状态指示灯:

import wipy

# 设置心跳LED引脚
heartbeat_pin = 2

# 配置心跳LED
wipy.heartbeat(pin=heartbeat_pin, frequency=2)

# 其他代码...

在此示例中,我们使用wipy.heartbeat()函数配置一个心跳LED,该LED连接到引脚2。配置中设置了频率为2,表示LED将以每秒2次的频率闪烁。您可以根据需要选择合适的引脚和频率。

案例5:自定义心跳指示::

import wipy
import time

# 自定义心跳指示函数
def custom_heartbeat():
    while True:
        # 打开LED
        wipy.heartbeat(on=True)
        time.sleep(0.5)
        
        # 关闭LED
        wipy.heartbeat(on=False)
        time.sleep(0.5)

# 启动自定义心跳指示
custom_heartbeat()

在这个示例中,我们定义了一个custom_heartbeat()函数来实现自定义的心跳指示。函数中使用wipy.heartbeat()函数分别打开和关闭LED,然后使用time.sleep()函数设置适当的延迟,以控制LED的闪烁频率。通过调用custom_heartbeat()函数,我们可以启动自定义的心跳指示。

案例6:关闭心跳指示::

import wipy

# 关闭心跳指示
wipy.heartbeat(enabled=False)

# 其他代码...

在这个示例中,我们使用wipy.heartbeat()函数的enabled参数将心跳指示功能禁用。通过将enabled设置为False,我们可以关闭心跳指示,这将停止任何与心跳有关的LED闪烁或指示。这些示例展示了如何使用MicroPython的wipy.heartbeat()函数进行硬件状态指示、自定义心跳指示以及关闭心跳指示等实际应用。请根据具体需求进行适当的调整和扩展。

案例7:启用常亮心跳灯:

import wipy

# 启用常亮心跳灯
wipy.heartbeat(True)

这个示例程序展示了如何使用wipy.heartbeat()函数将WiPy开发板的心跳LED指示灯设置为常亮。通过将参数设置为True,心跳灯将一直保持亮起的状态。

案例8:用心跳灯:

import wipy

# 禁用心跳灯
wipy.heartbeat(False)

这个示例程序展示了如何使用wipy.heartbeat()函数禁用WiPy开发板的心跳LED指示灯。通过将参数设置为False,心跳灯将被关闭,不再闪烁或亮起。

案例9:自定义心跳灯模式:

import wipy
import time

# 自定义心跳灯模式
for _ in range(5):
    wipy.heartbeat(True)
    time.sleep(0.5)
    wipy.heartbeat(False)
    time.sleep(0.5)

这个示例程序展示了如何使用wipy.heartbeat()函数自定义WiPy开发板的心跳LED指示灯模式。在这个示例中,循环中的代码段会交替将心跳灯设置为亮和灭状态,并通过time.sleep()函数控制每个状态的持续时间。

这些示例程序展示了如何使用wipy.heartbeat()函数控制WiPy开发板上的心跳LED指示灯的行为。你可以根据实际需求,使用该函数调整心跳灯的状态,或自定义心跳灯的模式。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41659040/article/details/132962481