MaixPy 是将 Micropython 移植到 K210(一款 64 位双核带硬件 FPU、卷积加速器、FFT、Sha256 的 RISC-V CPU ) 的一个项目; MaixPy 不但支持 MCU 常规操作, 还集成了硬件加速的 AI 机器视觉和麦克风阵列相关的算法。相应的高达 1TOPS 算力核心模块却不到¥50, 凭借着快速开发和较低成本与其较小的体积很适合 AIOT 领域智能应用
MicroPython 是基于 Python3 的语法做的一款解析器,包含了 Python3 的大多数基础语法, 主要运行在性能和内存有限的嵌入式芯片上。(注意 Micropython 不包含 Python3 的所有语法)
MaixPy 让我们在 K210 上编程更加简单快捷, 我们也将源代码开源在 github 点我跳转 上
使用 MaixPy 可以做很多有趣的事情, 具体可以 看这里
比如我们需要扫描 I2C 总线上的设备,不需要复杂的开发环境和工程,只需要通过串口发送如下代码即可实现:
from machine import I2C # 导入内置库 i2c = I2C(I2C.I2C0, freq=100000, scl=28, sda=29) # 定义一个I2C对象, 使用I2C0, 频率100kHz,SCL引脚是IO28, SDA 引脚是IO29 devices = i2c.scan() # 调用函数扫描设备 print(devices) # 打印设备
同样,我们需要实现一个呼吸灯,只需要如下代码:
board_info 与板卡相关,不同板卡配置不同,使用前需要手动配置。
from machine import Timer,PWM from board import board_info import time tim = Timer(Timer.TIMER0, Timer.CHANNEL0, mode=Timer.MODE_PWM) ch = PWM(tim, freq=500000, duty=50, pin=board_info.LED_G) duty=0 dir = True while True: if dir: duty += 10 else: duty -= 10 if duty>100: duty = 100 dir = False elif duty<0: duty = 0 dir = True time.sleep(0.05) ch.duty(duty)
实时拍照:
import sensor import image import lcd lcd.init() sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.run(1) while True: img=sensor.snapshot() lcd.display(img)
AI 物体检测:
import KPU as kpu import sensor sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.set_windowing((224, 224)) model = kpu.load("/sd/mobilenet.kmodel") # load model while(True): img = sensor.snapshot() # take picture by camera out = kpu.forward(task, img)[:] # inference, get one-hot output print(max(out)) # print max probability object ID
欧姆定律是指在同一电路中,通过某段导体的电流跟这段导体两端的电压成正比,跟这段导体的电阻成反比。该定律是由德国物理学家乔治·西蒙·欧姆1826年4月发表的《金属导电定律的测定》论文提出的。
相信很多人都有把绿植给养死的经历,可能是浇水过多、忘记浇水、较长时间不在家不能浇水等,本文介绍一种可以灵活定制的智能浇花方案。
MicroPython 在 ESP32 上支持线程(Thread)功能,通过_thread模块实现。线程允许程序并发执行多个任务,适合处理需要同时运行的场景,例如传感器数据采集和网络通信。
使用了 MicroPython 库,通过 定时器(Timer) 和 ADC(模数转换器) 功能来实时读取传感器数据。使用定时器可以实现高精度、非阻塞、低资源消耗的周期性任务,保证实时性和可靠性,特别适用于嵌入式系统中的多任务处理和低功耗场景。
machine.pwm是MicroPython中用于控制PWM输出的模块之一,它提供了一些方法和属性,用于设置和控制PWM输出的频率、占空比等参数,从而实现对各种应用场景的控制。
Pin 类是 machine 模块下面的一个硬件类,用于对引脚的配置和控制,提供对 GPIO 的操作方法。
本文学习如何使用ESP32开发板来进行多线程的开发。
MicroPython的SPI是一个用于进行串行外设接口总线协议的类。
本文以一个简单的例程帮助大家在 MicroPython 下使用 I2C
binascii模块实现了相应 CPython 模块的一个子集。
Thonny是一款免费的、开源的、易于使用的编程语言,旨在为初学者提供简单易用的编程环境。 Thonny的语法简洁易懂,同时还支持自动补全和语法高亮,使得编程变得更加便捷。