diff --git a/docs/hardware/zh/maixIII/assets/os04a10.jpg b/docs/hardware/zh/maixIII/assets/os04a10.jpg new file mode 100644 index 00000000..5f2c202e Binary files /dev/null and b/docs/hardware/zh/maixIII/assets/os04a10.jpg differ diff --git a/docs/hardware/zh/maixIII/ax-pi/basic_usage.md b/docs/hardware/zh/maixIII/ax-pi/basic_usage.md index 00de3371..5c37a781 100644 --- a/docs/hardware/zh/maixIII/ax-pi/basic_usage.md +++ b/docs/hardware/zh/maixIII/ax-pi/basic_usage.md @@ -1078,6 +1078,10 @@ for i in range(30): ### GPIO +#### 进入休眠模式:通过按 awake 键唤醒 + +echo mem > /sys/power/state + #### 读取 KEY 按键输入:GPIO2 21 ```bash @@ -1423,7 +1427,6 @@ cat /proc/ax_proc/uid ''' ``` - ## 内置开箱应用 ### IPCDemo @@ -1898,13 +1901,17 @@ git clone https://huggingface.co/marcoyang/sherpa-ncnn-streaming-zipformer-zh-14 ### SENSOR 支持双摄方案 +> (20230529 GC4653 软件上还不行,图中测试可用的是 os04a10) > (20230412 暂时废弃,目前 GC4653 双摄在软件上调不出来,折衷方案可以用 USB 摄像头过度,只验证过 OS04A10 双摄) -目前 AXera-Pi 板卡物理上理论支持 GC4653 实现双摄方案,而 OS04A10 在硬件上不支持使用双摄 2 * 4lane,软件上支持但硬件不支持,属于设计意外。 +目前 AXera-Pi 板卡物理上理论支持 GC4653 及 OS04A10 实现双摄方案,而 GC4653 软件上还不行,图中测试可用的是 OS04A10. - + OS04A10 在硬件上不支持使用双摄 2 * 4lane,软件上支持但硬件不支持,属于设计意外。 -使用双摄方案需替换相关的设备树文件,此处设备树只是配置 I2C 设备与摄像头型号无关,详情资料可参考:[资料包。](https://dl.sipeed.com/shareURL/MaixIII/AXera/11_patch/dual_gc4653_patch) + + +使用双摄方案需替换相关的设备树文件,此处设备树只是配置 I2C 设备与摄像头型号无关。 +详情资料可参考:[资料包。](https://dl.sipeed.com/shareURL/MaixIII/AXera/11_patch/dual_gc4653_patch) ```bash juwan@juwan-n85-dls:~/Downloads/m3axpi_dual_gc4653_notes$ tree . diff --git a/news/MaixPy3/v831_usage/assest/adb.jpg b/news/MaixPy3/v831_usage/assest/adb.jpg new file mode 100644 index 00000000..0045fcd9 Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/adb.jpg differ diff --git a/news/MaixPy3/v831_usage/assest/delete.jpg b/news/MaixPy3/v831_usage/assest/delete.jpg new file mode 100644 index 00000000..4e6e2109 Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/delete.jpg differ diff --git a/news/MaixPy3/v831_usage/assest/fps.jpg b/news/MaixPy3/v831_usage/assest/fps.jpg new file mode 100644 index 00000000..8453bada Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/fps.jpg differ diff --git a/news/MaixPy3/v831_usage/assest/h26x_831.jpg b/news/MaixPy3/v831_usage/assest/h26x_831.jpg new file mode 100644 index 00000000..fa551e43 Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/h26x_831.jpg differ diff --git a/news/MaixPy3/v831_usage/assest/hello.jpg b/news/MaixPy3/v831_usage/assest/hello.jpg new file mode 100644 index 00000000..981c522f Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/hello.jpg differ diff --git a/news/MaixPy3/v831_usage/assest/img.png b/news/MaixPy3/v831_usage/assest/img.png new file mode 100644 index 00000000..8f017f0a Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/img.png differ diff --git a/news/MaixPy3/v831_usage/assest/keep_adb.jpg b/news/MaixPy3/v831_usage/assest/keep_adb.jpg new file mode 100644 index 00000000..e3c98f74 Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/keep_adb.jpg differ diff --git a/news/MaixPy3/v831_usage/assest/libmaix.jpg b/news/MaixPy3/v831_usage/assest/libmaix.jpg new file mode 100644 index 00000000..7a88e021 Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/libmaix.jpg differ diff --git a/news/MaixPy3/v831_usage/assest/logo.jpg b/news/MaixPy3/v831_usage/assest/logo.jpg new file mode 100644 index 00000000..dde1d39f Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/logo.jpg differ diff --git a/news/MaixPy3/v831_usage/assest/maixii.jpg b/news/MaixPy3/v831_usage/assest/maixii.jpg new file mode 100644 index 00000000..e3331ef4 Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/maixii.jpg differ diff --git a/news/MaixPy3/v831_usage/assest/maixpy3_cp38.jpg b/news/MaixPy3/v831_usage/assest/maixpy3_cp38.jpg new file mode 100644 index 00000000..7fd7d09b Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/maixpy3_cp38.jpg differ diff --git a/news/MaixPy3/v831_usage/assest/maxipy3.jpg b/news/MaixPy3/v831_usage/assest/maxipy3.jpg new file mode 100644 index 00000000..773a41c0 Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/maxipy3.jpg differ diff --git a/news/MaixPy3/v831_usage/assest/otg.jpg b/news/MaixPy3/v831_usage/assest/otg.jpg new file mode 100644 index 00000000..c624b442 Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/otg.jpg differ diff --git a/news/MaixPy3/v831_usage/assest/sd.jpg b/news/MaixPy3/v831_usage/assest/sd.jpg new file mode 100644 index 00000000..25dac740 Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/sd.jpg differ diff --git a/news/MaixPy3/v831_usage/assest/sensor.png b/news/MaixPy3/v831_usage/assest/sensor.png new file mode 100644 index 00000000..d878b4fb Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/sensor.png differ diff --git a/news/MaixPy3/v831_usage/assest/steps.png b/news/MaixPy3/v831_usage/assest/steps.png new file mode 100644 index 00000000..6d1b7501 Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/steps.png differ diff --git a/news/MaixPy3/v831_usage/assest/test.jpg b/news/MaixPy3/v831_usage/assest/test.jpg new file mode 100644 index 00000000..8265defe Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/test.jpg differ diff --git a/news/MaixPy3/v831_usage/assest/u_logo.jpg b/news/MaixPy3/v831_usage/assest/u_logo.jpg new file mode 100644 index 00000000..3a2a26ed Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/u_logo.jpg differ diff --git a/news/MaixPy3/v831_usage/assest/usb.jpg b/news/MaixPy3/v831_usage/assest/usb.jpg new file mode 100644 index 00000000..85cf9995 Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/usb.jpg differ diff --git a/news/MaixPy3/v831_usage/assest/wlan.jpg b/news/MaixPy3/v831_usage/assest/wlan.jpg new file mode 100644 index 00000000..19a40eac Binary files /dev/null and b/news/MaixPy3/v831_usage/assest/wlan.jpg differ diff --git a/news/MaixPy3/v831_usage/v831_usage.md b/news/MaixPy3/v831_usage/v831_usage.md new file mode 100644 index 00000000..399a35f4 --- /dev/null +++ b/news/MaixPy3/v831_usage/v831_usage.md @@ -0,0 +1,466 @@ +--- +title: M2DOCK 上手视觉指南 +tags: M2DOCK, V831, 避坑指南, 上手指南 +keywords: V831, 视觉指南,避坑, 上手 +update: + - date: 2023-05-15 + version: v0.1 + author: lyx + content: + - 编写文档 +--- + +## 产品介绍 + +> 铛 ~ 新的 2023 年当然要有新的上手指南辣(虽然已经过去5个月)总有事情要被鸽但能填上就是好坑。 +> 新的上手指南还是旧的目的,希望大家可以借助这篇文章在使用 M2DOCK 时更加顺利一点吧! + + + +本篇文章以 `视觉` 为主题阐述如何在 M2DOCK(V831)从基础的开箱上手再到视觉的衍生(深度开发)的使用全过程,因篇幅的有限这里不再对产品进行详细介绍,想要了解相关产品介绍可点击资料进行查看。 + +- **相关资料及硬件参数:[点击查看](https://wiki.sipeed.com/hardware/zh/maixII/M2/resources.html) 购买链接:[点击前往](https://item.taobao.com/item.htm?id=635874427363)** + + + +## 前情提要 + +**【有基础可跳过】**促使我们做上手指南的原因永远都是以降低用户使用难度为目的,但一些基础知识(Python 语法)我们还是需掌握熟悉的,而大部分的小伙伴是从 `K210(MaixPy)` 换代升级到 `M2DOCK(MaixPy3)` 的,但我们区分这两者之间的不同吗?显然(萌新)小伙伴们是不清楚的。 + +>**我们可以这么来理解**:本质上它们都是专门为 AloT 提供的 Python 开发环境,提供了各类各样的模块。MaixPy 基于 MicroPython 的环境制作和 MCU 无系统的,而后者 MaixPy3 则是基于 Linux Python3 的环境以及 Linux 系统,可点击:[[关于 MaixPy 与 MaixPy3 的区别]](https://wiki.sipeed.com/news/MaixPy3/difference.html) 查看更多。 + +根据下文的链接自行学习相关的 Python 基础语法及知识: + +- [什么是 Python ?](https://wiki.sipeed.com/soft/maixpy3/zh/origin/python.html?highlight=python) +- [国内 Python 基础教程](https://wiki.sipeed.com/soft/maixpy3/zh/origin/video.html) +- [【适合有一定基础】大佬鼠の嵌入式 Python 入门教程[1]](https://wiki.sipeed.com/soft/maixpy3/zh/origin/hello_world.html) +- [【适合有一定基础】大佬鼠の嵌入式 Python 入门教程[2]](https://wiki.sipeed.com/soft/maixpy3/zh/origin/loop_python.html) + +## 准备工作(必看) + +充足的准备能让后续的上手旅程更事半功倍(为了不掉坑里~)文档以 `M2DOCK` 的全功能套餐来演示,我们收到后会有一套 M2DOCK 板卡、Type-C 线 以及 SD 镜像卡,但还需准备一个 USB 3.0 读卡器以作备用。 + + + +### 上手流程图 + +上手指南搭配流程图一起食用更佳~ + + + +### 烧录镜像系统 + +准备完相关的硬件工具后就是开启软件类的的相关准备操作,我们先进行烧录 M2DOCK 相关的适配系统。 + +> 文档示例环境:**Windows10** +> 镜像版本:**v831-m2dock-maixpy3-0.5.4-20230505** +> 1. 在官方淘宝店购买过(预烧录好)镜像 SD 卡的小伙伴可跳过进入下一步。 +> 2. 如果没有购入官方相关镜像卡,建议用户购买正规正版(防止出现烧录失败现象)的镜像卡。 +> 3. 非必要的情况下不建议多次且随意进行镜像烧录。 + +- **镜像文件命名说明** + +对于 V831 的镜像文件名字是有对应的规则,以后大家可以根据自己的需求来进行下载。 +就以 `v831-m2dock-maixhub-0.5.1-20220701.zip`和 ` v831-m2dock-maixpy3-0.5.1-20220701.zip` 来对比说明 + +| 名称 | 含义 | +| ------------- | ----------------------------------------------------------------------------------------------------------------- | +| maixpy3-0.5.1 | 此镜像是给 [MaixPy3](https://wiki.sipeed.com/maixpy3) 专用,并内置了`0.5.1`的版本,但其中 **无** 内置 maixhub app | +| maixhub-0.5.1 | 此镜像是给 [MaixPy3](https://wiki.sipeed.com/maixpy3) 专用,并内置了`0.5.1`的版本,但其中 内置 maixhub app | +| m2dock | 可使用 MaixII-Dock 开发板平台 | +| 20220701 | 镜像更新日期 | + +> 上述镜像均为开源版,只适用于 TF 卡烧录启动 + +- **获取相关的镜像包及工具** + +1. V831 系统镜像下载站 [SDK_MaixII/release](https://dl.sipeed.com/shareURL/MaixII/MaixII-Dock/SDK/release) +2. V831 系统镜像百度云 [点我 提取码:v831](https://pan.baidu.com/e/verify?surl=Yrqpk26BL3sOCm4P1cMpBQ) +3. 烧录工具 [PhoenixCard](https://dl.sipeed.com/shareURL/MaixII/MaixII-Dock/SDK/tools) +4. 内存卡格式化工具 [SD Card Formatter](https://www.sdcard.org/downloads/formatter/eula_windows/SDCardFormatterv5_WinEN.zip) + +- **开始进行烧录工作** + +**第一步**:先使用读卡器将镜像卡接入 USB 端,使用格式化工具 `SD Card Formatter` 进行格式化操作。 +**第二步**:格式化完成后,再使用 `PhoenixCard` 烧录工具进行烧录。 +**烧录流程示例**:可前往 [Windows/Linux M2dock 系统烧录](https://wiki.sipeed.com/hardware/zh/maixII/M2/flash.html) 查看相关示例,下图显示绿色代表烧录成功。 + + + +### 安装 MaixPy3 IDE + +`MaixPy3 IDE` 是基于 `Jupyter` 实现的 `Python3` 集成开发环境,运行界面可视化的操作降低使用难度,支持电脑端(支持跨平台)编辑或运行 Python 代码并实时显示效果,故而对无相关基础的用户们较友好。 + + + +> `注意事项(超重要!)`:**下载时确保我们安装的软件包版本(大于 0.5.0)且在安装过程中会弹出安装驱动程序的提示,请根据提示安装驱动并确保安装完成才能进行下一步操作。** + + + +接下来根据 `注意事项` 来自行下载安装包并安装好驱动及软件,根据示例文档熟悉界面的基础用法。 + +- **软件包下载链接:** + +MaixPy3 IDE 下载站:[点击](https://dl.sipeed.com/shareURL/MaixII/MaixPy3-IDE) +MaixPy3 IDE 百度云:[点击](https://eyun.baidu.com/s/3htTXfaG#sharelink/path=%2F%E4%B8%8B%E8%BD%BD%E7%AB%99%E6%96%87%E4%BB%B6%2FMaixII%2FMaixPy3-IDE&parent_path=%2F%E6%B7%B1%E5%9C%B3%E7%9F%BD%E9%80%9F%E7%A7%91%E6%8A%80%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8) + +- **示例文档:** + +多平台安装 MaixPy3 IDE 方法:[Windows/Macos/Linux MaixPy3 IDE](https://wiki.sipeed.com/soft/maixpy3/zh/tools/MaixPy3_IDE.html) +软件使用文档:[MaixPy3 IDE 界面介绍](https://wiki.sipeed.com/soft/maixpy3/zh/tools/MaixPy3_IDE.html#MaixPy3-IDE-%E7%95%8C%E9%9D%A2%E4%BB%8B%E7%BB%8D) + +> 一起搭配我们的【M2DOCK 开箱大放送】视频食用更佳噢~ + + +### 上电接线方式 + +准备好相关的软件以及基础工作我们开始学习如何正确接线并上电。 + +**第一步**:USB Type-C 数据线【需自行准备的话】请准备质量可靠或者是手机附赠的数据线,质量差的数据线会因电压问题造成开发板处于非正常工作状态导致后续影响使用,有些 Type-C 线只能供电。 + + + +**第二步**:把我们准备的镜像卡插入 M2DOCK 的卡槽内,并确定烧录的版本(大于 0.5.1)即可。 + + + +**第三步**:将 `M2DOCK` 与电脑通过 OTG 标识的 USB 口连接,确认设备通电亮起(power)电源**红灯**,请看下图红圈别接错 USB 口的位置,OTG 标识的丝印在板子背面。 + + + +**第四步**:确认屏幕出现 logo 或二维码(wiki)表示系统启动开始工作,同时电脑会弹出 U 盘标识(意味着板卡系统已准备就绪)即可进行下一环开始使用! + + + +> **如果出现异常情况**:通电后无法弹出 U 盘标识(常见于 Windows 平台)根据第五步卸载相关驱动即可。 + +**衍生第五步**:打开设备管理器后,根据示例图找到相关的 `Android ADB Interface` 手机驱动(常见于 XX 手机助手)右键进行卸载设备。 + + + +然后勾选卸载驱动(重要!!一定要勾选)进行卸载即可,U 盘自动弹出也代表底层硬件正常可用。 + + + +> 如果 U 盘还是没有如上述步骤出现,可以重烧系统或重启设备或考虑换台电脑操作,有可能是个别系统驱动不兼容导致的,实在是解决不了请找官方的淘宝客服。 + +## 上手运行程序 + +> 这里后不再重复任何基础操作知识,默认大家会操作 [Jupyter](https://wiki.sipeed.com/soft/maixpy3/zh/tools/0.MaixII-Dock.html#%E9%80%89%E6%8B%A9-RPyc-Python-%E6%A0%B8%E5%BF%83%E8%A1%A8%E7%A4%BA%E5%9C%A8%E6%9D%BF%E5%AD%90%E4%B8%8A%E8%BF%90%E8%A1%8C-Python-%E7%A8%8B%E5%BA%8F) 相关运行界面及方法。 + +开始体验运行代码前,我们先了解 M2DOCK 支持多种编程方式,分别是 Linux shell(adb)命令行、Jupyter notebook(Python)开发、U 盘编辑运行(Python)等。Linux shell 更多的是专业开发者或是熟悉 Linux 终端的同学进行使用,而如果是无基础的萌新更推荐其余两种方式。 + +>下文全以适配软件 MaixPy3 IDE 的使用来示例。 + +- **先熟悉相关的运行环境** + +IDE 软件启动时会附带一个 `keep_adb.exe` 命令行终端的程序提供给熟悉 linux 终端操作开发板的同学,软件版本 0.4.2 后 keep_adb 服务会自动调用 adb 配置映射(forward)端口(22,18811,18812)与板子连接的 ide 服务是否工作。 + +**如何进行判断**:可以在交互终端输入 ps | grep mjpg 查看是否存在下图红框所指示的服务。 + + + +> 如果发现不存在 ide 服务(`python -c 'from maix import mjpg;mjpg.start();`)我们可以手动运行相关服务,并把现象汇报到社群,目前发现该现象主要出现在 Windows 11 系统之间的差异上。 + +最后确认系统防火墙是否阻止了软件底层所需要 `TCP 18811 18812` 的端口号(主用于运行程序和图像传输) +**了解更多**:可以点此查看关于 [MaixPy3](https://wiki.sipeed.com/soft/maixpy3/zh/tools/MaixPy3_IDE.html) IDE 的更加详细的介绍,此处不再赘述。 + +> **启动 MaixPy3 IDE 时会弹出 Jupyter 的编辑网页,我们先来测试板卡的连接以及外设是否正常可用。** + +### 测试板卡连接 + +复制下列代码块,再点击上方菜单栏中的运行,测试板子连接是否正常。 + +```python3 +import platform +print(platform.platform()) + +import time +print(time.asctime()) +``` + + + +**由运行后打印出的结果我们可知以下信息:** + +1. 运行这段代码的时间是 [ rpyc-kernel ]( running at Wed Jul 13 15:20:20 2022 ) +2. 运行这段代码的平台是 Linux-4.9.118-armv7l-with-libc +3. 运行这段代码时:板子系统时间是 Thu Jan 1 04:04:55 1970。 + +当代码运行的时间为当前时间,并打印出以上代码,说明开发板已经连接上并可以正常的使用。 + +> 关于更详细或报错的话请查看 [如何运行代码](https://wiki.sipeed.com/soft/maixpy3/zh/tools/0.MaixII-Dock.html#%E5%A6%82%E4%BD%95%E8%BF%90%E8%A1%8C%E4%BB%A3%E7%A0%81) 进行排查或了解。 + +### 测试屏幕及摄像头 + +> 当确定板卡的连接状态正常后,我们来测试屏幕以及摄像头的功能是否正常。 + +运行以下程序后可在代码下方看见摄像头实时获取的图像。 + +```python3 +from maix import camera, display, image #引入python模块包 + +while True: + img = camera.capture() #从摄像头中获取一张图像 + display.show(img) #将图像显示出来 +``` + + + +图中我们看见运行程序后可实时看到摄像头捕捉的画面,正面我们的屏幕以及摄像头都是正常可用的。 + +>更多的图像处理基础用法:[查看](https://wiki.sipeed.com/soft/maixpy3/zh/usage/vision/maixpy3-example.html#%E4%BB%8E%E6%91%84%E5%83%8F%E5%A4%B4%E8%8E%B7%E5%8F%96%E5%9B%BE%E5%83%8F%E5%B9%B6%E6%98%BE%E7%A4%BA) + +### 测试拍照功能 + +```python +from maix import camera, display, image +display.show(camera.capture()) +``` + +

+
+
+
+
+