MaixPy3 是基于 cpython 的 Python3 工具包,意在通过 Python 编程语言简化在 Linux 边缘设备上开发 AIoT (人工智能物联网) = AI(人工智能) + IoT(物联网)应用。

前言

物联网(Internet of Things,简称 IOT )是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、 连接、互动的物体或过程,采集其声、光、热、电、力学、化 学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。

AI 的介入让 IoT 有了连接的“大脑”。当 AI 、 IoT “一体化”后,“人工智能”逐渐向“应用智能”发展。深度学习需要物联网的传感器收集,物联网的系统,也需要靠人工智能做到正确的辨识、发现异常、预测未来。

而 2021 年 AIoT 边缘设备可能有如下应用场景:

涵盖领域:智能制造、工业物联网、智慧物流、智慧家居、智慧交通、智慧农业、智慧园区、智慧政务、智慧医疗、智慧零售等智能物联网各应用场景。

所以 MaixPy3 会在 Python3 的基础上提供易用的 AI 功能模块,如【物体分类】和【人脸识别】功能。

会优先适配 MaixPy 的物体检测、物体识别、物体分类等。由于芯片差异,部分功能可能不被实现。

以往嵌入式 Linux 设备是如何编程的?

当拿到一台嵌入式 Linux 边缘设备(例如:手机),与一台桌面计算机不同的是无法进行软件编译活动,那么要如何对它编程呢?

  • 准备对应平台的交叉编译链
  • 编写一段经典的 hello world 的 C 代码进行编译
  • 链接各种依赖库
  • 将编译好的程序送到目标设备上进行调试。
#include <stdio.h>
int main()
{printf("Hello, world\n");return 0
}

不出意外的话,你应该要花费不少时间学习如下内容。

  • 学习如何编译程序
  • 学习 C 语言语法
  • 学习调试程序 Bug

那现在呢?

“人生苦短,我用 Python 。”

如果你是下述人群,那么 Python 将会非常适合你。

  • 对编程感兴趣却无从下手的
  • 想轻松入门 AIoT 开发的
  • 不了解,也不关心底层的
  • 想愉快写代码(偷懒)的
  • 想快速验证软硬件功能的

让我们使用 Python 编写一段经典的 hello world 程序吧!

print('hello world')
print('1 + 1 = ?', 1 + 1)

就这?就这???

基于上述事实使用 MaixPy3 会给你带来如下编程体验。

  • 使用 Python3 标准编程环境,而非 MicroPython 解释器。
  • 提供专为 AIoT 应用开发有关的底层拓展模块。
  • 支持不同芯片的 Linux 平台,自底向上的优化 Python 性能。
  • 访问硬件外设的 Python 驱动代码,常见于各类传感器。
  • 在 GitHub 开源的 MaixPy3 仓库。

说了这么多,不妨来看一些示例代码。

在屏幕上显示摄像头捕获的图像。

from maix import display, cameraimage = camera.capture()display.show(image)

访问某个 I2C 外设,读写地址数据。

from maix import i2ci2c_device = '/dev/i2c-2'
device_address = 0x26
data_address = 0x01i2c = i2c.I2CDevice(i2c_device, device_address)i2c.write(data_address, b'\xAA')print(i2c.read(data_address, 1))

加载 AI 模型后输入图像验证结果。

from PIL import Image
from maix import nnm = nn.load({"param": "resnet.param","bin": "resnet.bin"}, opt={"model_type":  "awnn","inputs": {"input0": (224, 224, 3)},"outputs": {"output0": (1, 1, 1000)},"first_layer_conv_no_pad": False,"mean": [127.5, 127.5, 127.5],"norm": [0.00784313725490196, 0.00784313725490196, 0.00784313725490196],
})img = Image.open("input.jpg")
out = m.forward(img, quantize=True)
print(out.shape)
out = nn.F.softmax(out)
print(out.max(), out.argmax())

还想知道更多?

Maixpy3 文档

什么是Maixpy3相关推荐

  1. K210神经网络的训练以及出现内存不足的情况memory not enough解决方案

    目录 介绍 开始训练 训练完成 memory not enough报错 解决方案一: 解决方案二: 介绍 最近在搞K210神经网络搭建识别数字,在烧入代码的时候就有很多坑,记录一下我的坑,希望能给大家 ...

  2. MaixII-Dock(v831)学习笔记——MaixII-Dock初使用

    文章目录 MaixII-Dock 烧录镜像 Windows系统下烧录镜像 准备工作 格式化TF卡 烧录镜像 Linux系统下烧录镜像 安装MaixPy3 IDE 上电测试 运行程序 配置开机启动脚本 ...

  3. V831体验—烧录系统

    V831体验-烧录系统 使用设备 使用环境 windows 获取烧录工具 系统烧录(非dd版本) 使用dd烧录(dd版本) 新整了一个V831的开发板.据说可以放 Linux 操作系统,我特意搞了一个 ...

  4. Maixll-Dock 使用方法

    Maixll-Dock 使用方法 MaixPy3 IDE 安装MaixPy3 IDE 使用MaixPy3 IDE 串口 使用方法 题外话:如何优雅的提问问题 咳咳,我们上面把镜像系统装好了.问题来了, ...

  5. Maixll-Dock 快速上手

    Maixll-Dock 快速上手 Maixll-Dock 准备工作 安装镜像 下载镜像文件 格式内存卡 系统烧录 开发板测试 开机 文件说明 之前写了一些关于Maixll-Dock (V831)的文章 ...

  6. V831 find_magic(魔方识别)

    V831 find_magic(魔方识别) find_magic 功能 参数说明 实例代码 emmm最好在整实物上测试. find_magic 功能 V831提供find_magic 功能,为识别魔方 ...

  7. K210图像检测(1~8)数字卡片识别

    前言   第一次使用该平台.想先找一个简单的识别,来走走流程.就想到了,前几年的送药小车的数字卡片识别.花了半天收集标记图片.在运行时要注意摄像头与数字卡片的高度.不过也有些不足,可能是收集某个数字的 ...

最新文章

  1. NanoPi NEO Air使用一:介绍
  2. Linux 进程等待队列
  3. 你可以去学python_你是怎么学好Python的?
  4. pyqt5入门教程(四)
  5. 【交通行业】轨迹相似性度量介绍
  6. 软件工程概论 课堂练习【空调维修系统 类图】
  7. jstat的小伙伴:找出system.gc的调用的小工具
  8. MTK 驱动(85)----RPMB key introduction
  9. 【Git】error: RPC
  10. 实例解析:OperaMasks2.0中的DataGrid之一:定义DataGrid
  11. Bailian3255 十进制到六进制【进制】
  12. Mac 系统如何修改python的IDLE默认模块导入路径。
  13. 二路归并排序的C++实现
  14. hadoop+HBase+ZooKeeper+Hive完全分布式集群部署安装
  15. idea output 窗口悬浮
  16. Mysql日志时间与系统时间相差八小时
  17. 计算机任务管理器不能打开,电脑任务管理器打不开详细解决方法 | 专业网吧维护...
  18. 专题导读:大数据可视分析应用
  19. python 去水印复杂问题
  20. 【tio-websocket】4、tio-websocket-server实现自定义集群模式

热门文章

  1. ECShop 需要短信功能的地方
  2. 354. Russian Doll Envelopes刷题笔记
  3. [BZOJ3054] Rainbow的信号(考虑位运算 + DP?)
  4. 处理数码照片的计算机需要配置,不仅要懂PS 浅谈修图电脑配置(基础篇)
  5. 小白学数据 | 除了计算大姨妈周期,时间序列分析还有什么用
  6. 《R语言与数据挖掘》⑥-⑦分类与预测建模【分类算法评价】
  7. 《Windows程序设计》读书笔七 鼠标
  8. js--ECMAScrip
  9. 韩国网站的一些弱口令
  10. 《星际争霸II》AI机器人挑战顶级职业选手,你Pick谁?