Skip to content

Commit 99d020a

Browse files
committed
bump version to 4.0.10
1 parent 30e1c2e commit 99d020a

File tree

15 files changed

+145
-55
lines changed

15 files changed

+145
-55
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ Simply use **peripheral** like serial port:
6666
```python
6767
from maix import uart
6868

69-
dvices = uart.list_devices()
69+
devices = uart.list_devices()
7070

7171
serial = uart.UART(devices[0], 115200)
7272
serial.write_str("hello world")

README_ZH.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ Classifier Result video
6666
```python
6767
from maix import uart
6868

69-
dvices = uart.list_devices()
69+
devices = uart.list_devices()
7070

7171
serial = uart.UART(devices[0], 115200)
7272
serial.write_str("hello world")

configs/config_platform_linux.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11

22
# set config opencv compile from source to avoid opencv lib not found error or version not match error
3-
CONFIG_OPENCV_COMPILE_FROM_SOURCE=y
3+
# CONFIG_OPENCV_COMPILE_FROM_SOURCE=y
44

docs/api/README.md

+4
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ MaixPy API documentation, modules:
2727
|[maix.protocol](./maix/protocol.md) | maix.protocol module |
2828
|[maix.example](./maix/example.md) | example module, this will be maix.example module in MaixPy, maix::example namespace in MaixCDK |
2929
|[maix.app](./maix/app.md) | maix.app module |
30+
|[maix.util](./maix/util.md) | maix.util module |
31+
|[maix.network](./maix/network.md) | maix.network module |
3032
|[maix.nn](./maix/nn.md) | maix.nn module |
3133
|[maix.peripheral](./maix/peripheral.md) | Chip's peripheral driver |
34+
|[maix.rtsp](./maix/rtsp.md) | maix.rtsp module |
35+
|[maix.video](./maix/video.md) | maix.video module |
3236
|[maix.touchscreen](./maix/touchscreen.md) | maix.touchscreen module |

docs/api/sidebar.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@ items:
4545
- collapsed: false
4646
file: maix/app.md
4747
label: app
48+
- collapsed: false
49+
file: maix/util.md
50+
label: util
51+
- collapsed: false
52+
file: maix/network.md
53+
label: network
4854
- collapsed: false
4955
file: maix/nn.md
5056
items:
@@ -83,6 +89,12 @@ items:
8389
file: maix/peripheral/adc.md
8490
label: adc
8591
label: peripheral
92+
- collapsed: false
93+
file: maix/rtsp.md
94+
label: rtsp
95+
- collapsed: false
96+
file: maix/video.md
97+
label: video
8698
- collapsed: false
8799
file: maix/touchscreen.md
88100
label: touchscreen

docs/doc/zh/README.md

+80-24
Original file line numberDiff line numberDiff line change
@@ -4,43 +4,91 @@ title: MaixPy 快速开始
44
---
55

66
<div style="font-size: 1.2em;border: 2px solid green; border-color:#c33d45;padding:1em; text-align:center; background: #c33d45; color: white">
7-
MaixPy 唯一官网: <a target="_blank" style="color: white" href="https://wiki.sipeed.com/maixpy">
7+
<div>
8+
<span>MaixPy 唯一官网:</span>
9+
<a target="_blank" style="color: #ffe0e0" href="https://wiki.sipeed.com/maixpy">
810
wiki.sipeed.com/maixpy
911
</a>
1012
<br>
1113
<div style="height:0.4em"></div>
12-
MaixPy 例程和源码: <a target="_blank" style="color: white" href="https://github.com/sipeed/MaixPy">
14+
<span>MaixPy 例程和源码:</span>
15+
<a target="_blank" style="color: #ffe0e0" href="https://github.com/sipeed/MaixPy">
1316
github.com/sipeed/MaixPy
1417
</a>
18+
</div>
19+
<div style="padding: 1em 0 0 0">
20+
<a target="_blank" style="color: white; font-size: 0.9em; border-radius: 0.3em; padding: 0.5em; background-color: #a80202" href="https://item.taobao.com/item.htm?id=784724795837">淘宝</a>
21+
<a target="_blank" style="color: white; font-size: 0.9em; border-radius: 0.3em; padding: 0.5em; background-color: #a80202" href="https://www.aliexpress.com/store/911876460">速卖通</a>
22+
</div>
1523
</div>
1624
<br>
1725

1826
> 关于 MaixPy 介绍请看 [MaixPy 官网首页](../../README.md)
1927
2028
## 获得 MaixCAM 设备
2129

22-
[Sipeed 淘宝](https://sipeed.taobao.com) 或者 [Sipeed 速卖通](https://sipeed.aliexpress.com) 店铺购买 <a href="https://wiki.sipeed.com/maixcam" target="_blank">MaixCAM</a> 开发板。
30+
[Sipeed 淘宝](https://item.taobao.com/item.htm?id=784724795837) 或者 [Sipeed 速卖通](https://www.aliexpress.com/store/911876460) 店铺购买 <a href="https://wiki.sipeed.com/maixcam" target="_blank">MaixCAM</a> 开发板。
2331

24-
**建议购买带 `TF 卡``摄像头``2.3寸触摸屏``外壳``Type-C一转二小板``4P串口座子+线`的套餐**,方便后续使用和开发,**后面的教程都默认你已经有了这些配件**(包括屏幕)。
32+
**建议购买带 `TF 卡``摄像头``2.3寸触摸屏``外壳``Type-C 数据线``Type-C一转二小板``4P串口座子+线`的套餐**,方便后续使用和开发,**后面的教程都默认你已经有了这些配件**(包括屏幕)。
2533

26-
另外需要准备一根 `Type-C` 数据线,尽量买质量好点的防止供电和连接不稳定
34+
如果你没有购买 TF 卡,则你需要**自备**一个 **TF 读卡器**用来烧录系统
2735

2836
>! 注意,目前只支持 MaixCAM 开发板,其它同型号芯片的开发板均不支持,包括 Sipeed 的同型号芯片开发板,请注意不要买错造成不必要的时间和金钱浪费。
2937
3038

31-
## 上手体验
39+
## 上手配置
40+
41+
### 准备 TF 镜像卡和插入到设备
42+
43+
如果你买的套餐里面有 TF 卡,里面已经有出厂镜像了,需要先小心打开外壳(注意里面有排线连接不要扯断了),然后插入 TF 卡。
44+
45+
如果没买 TF 卡,则需要将系统烧录进自备的 TF 卡中,烧录方法请看[升级和烧录系统](./basic/os.md),然后再安装到板子。
46+
47+
### 上电开机
48+
49+
使用 `Type-C` 数据线连接 `MaixCAM` 设备给设备供电,等待设备开机,开机会进入功能选择界面。
50+
51+
![maixcam](/static/image/maixcam_font.png)
3252

33-
插入套餐里面的 TF 卡,使用 `Type-C` 数据线连接 `MaixCAM` 设备给设备供电,等待设备开机,开机会进入功能选择界面。
3453
> 如果屏幕没有显示,请确认购买了配套的 TF 卡,如果确认有 TF 卡,可以尝试[更新系统](./basic/os.md)
3554
> 如果你没有购买 TF 卡套餐,你需要按照[升级和烧录系统](./basic/os.md)的方法烧录最新的系统到 TF 卡。
3655
37-
开机后可以看到功能选择界面,在设置中可以切换语言,可以自行尝试内置的各种应用和功能。
56+
### 联网
57+
58+
首次运行需要连接网络,后面会激活设备和使用 IDE 会用到。
59+
60+
* 设备上点击 `设置`(`Settings`),选择`WiFi`,点击 `扫描` 按钮开始扫描周围 `WiFi`, 可以多次点击刷新列表。
61+
* 找到你的 WiFi 热点,如果没有路由器可以用手机开一个热点。
62+
* 输入密码点击`连接`按钮进行连接。
63+
* 等待获取到 `IP` 地址,这可能需要 `10``30` 秒,如果界面没有刷新可以退出`WiFi`功能重新进入查看,或者在`设置` -> `设备信息` 中也可以看到 `IP` 信息。
64+
65+
66+
### 升级运行库
67+
68+
**这一步很重要 !!!** 这一步如果不做好,其它应用和功能可能无法运行(比如闪退等)。
69+
70+
* 首先保证上一步连接 WiFi 已经完成,并且获取到 IP 地址能访问公网。
71+
* 设备上点击 `设置`(`Settings`),选择`安装运行库`
72+
* 安装完成后可以看到更新到了最新版本,然后退出即可。
73+
74+
75+
### 使用内置应用
76+
77+
内置了很多应用,比如 找色块,AI 检测器,巡线等等,找色块举例:
78+
79+
<video playsinline controls autoplay loop muted preload class="pl-6 pb-4 self-end" src="/static/video/find_blobs.mp4" type="video/mp4">
80+
Classifier Result video
81+
</video>
82+
83+
其它的请自行摸索,以后还会更新更多应用,之后会在 [MaixHub 应用商店](https://maixhub.com/app) 更新。
84+
3885

3986
## 作为串口模块使用
4087

41-
内置的各种应用可以直接当成串口模块使用,比如`找色块``找人脸``找二维码`等等,
4288
> 如果是想把设备当成主控使用(或者你还不懂什么是串口模块)可以跳过这一步。
4389
90+
内置的各种应用可以直接当成串口模块使用,比如`找色块``找人脸``找二维码`等等,
91+
4492
使用方法:
4593
* 硬件连接: 可以给设备接上`Type-C一转二小板`,这样我们就能将设备通过串口连接到你的主控上了,比如`Arduino``树莓派``STM32`等等。
4694
* 打开你想用的应用,比如二维码识别,当设备扫描到二维码就会通过串口把结果发送给你的主控了。
@@ -49,27 +97,32 @@ title: MaixPy 快速开始
4997
## 准备连接电脑和设备
5098

5199
为了后面电脑(PC)能和 设备(MaixCAM)通信,我们要让它们在同一个局域网内,提供了两种方式:
52-
* **方法一**:无线连接, 设备使用 WiFi 连接到电脑连接的同一个路由器或者 WiFi 热点下: 在设备的`设置 -> WiFi 设置`中连接到你的 WiFi 即可。
100+
* **方法一 (强烈推荐)**:无线连接, 设备使用 WiFi 连接到电脑连接的同一个路由器或者 WiFi 热点下: 在设备的`设置 -> WiFi 设置`中连接到你的 WiFi 即可。
53101
* **方法二**:有线连接, 设备通过 USB 线连接到电脑,设备会虚拟成一个 USB 网卡,这样和电脑就通过 USB 在同一局域网了。
54102

55-
方案二在不同电脑系统中有不同设置方法:
56-
* **Linux**: 无需额外设置,插上 USB 线即可, 使用 `ifconfig` 或者 `ip addr` 查看到 `usb0` 网卡
57-
* **Windows**: 可以先确认`网络适配器`里面是否多了一个 RNDIS 设备,如果有就直接能用。否则需要手动安装 RNDIS 网卡驱动:
58-
* 打开电脑的`设备管理器`
59-
* 然后在`其它设备`里面找个一个带问号的 RNDIS 设备,右键选择`更新驱动程序`
60-
* 选择`浏览计算机以查找驱动程序`,然后选择`让我从计算机上的可用驱动程序列表中选择`
61-
* 选择`网络适配器`,然后点击`下一步`
62-
* 左边选择`Microsoft`,右边选择`远程 NDIS 兼容设备`,然后点击`下一步`, 选择``
63-
* 装好后的效果
64-
![RNDIS](../../static/image/rndis_windows.jpg)
65-
* **MacOS**: 无需额外设置,插上 USB 线即可, 使用 `ifconfig` 或者 `ip addr` 查看到 `usb0` 网卡
103+
> 方案二因为要用 USB 和驱动,可能会遇到一些问题,所以推荐直接用 WiFi 开始,可以在 [FAQ](./faq.md) 中找常见问题。
104+
105+
106+
.. details::方案二在不同电脑系统中有不同设置方法,点击展开
107+
* **Linux**: 无需额外设置,插上 USB 线即可, 使用 `ifconfig` 或者 `ip addr` 查看到 `usb0` 网卡,**注意** 这里看到的 ip 比如 `10.131.167.100` 是电脑的 ip, 设备的 ip 是最后一位改为`1``10.131.167.1`
108+
* **Windows**: 可以先确认`网络适配器`里面是否多了一个 RNDIS 设备,如果有就直接能用。否则需要手动安装 RNDIS 网卡驱动:
109+
* 打开电脑的`设备管理器`
110+
* 然后在`其它设备`里面找个一个带问号的 RNDIS 设备,右键选择`更新驱动程序`
111+
* 选择`浏览计算机以查找驱动程序`,然后选择`让我从计算机上的可用驱动程序列表中选择`
112+
* 选择`网络适配器`,然后点击`下一步`
113+
* 左边选择`Microsoft`,右边选择`远程 NDIS 兼容设备`,然后点击`下一步`, 选择``
114+
* 装好后的效果
115+
![RNDIS](../../static/image/rndis_windows.jpg)
116+
* **MacOS**: 无需额外设置,插上 USB 线即可, 使用 `ifconfig` 或者 `ip addr` 查看到 `usb0` 网卡,**注意** 这里看到的 ip 比如 `10.131.167.100` 是电脑的 ip, 设备的 ip 是最后一位改为`1``10.131.167.1`
66117

67118
## 开发环境准备
68119

69120
* 下载 [MaixVision](https://wiki.sipeed.com/maixvision) 并安装。
70121
* 使用 Type-C 连接设备和电脑,打开 MaixVision,点击左下角的`“连接”`按钮,会自动搜索设备,稍等一下就能看到设备,点击设备有点的连接按钮以连接设备。
71122

72-
如果没有扫描到设备,你也可以在设备的 `设置 -> 设备信息` 中查看设备的 IP 地址手动输入。
123+
如果**没有扫描到设备**,你也可以在**设备**`设置 -> 设备信息` 中查看设备的 IP 地址手动输入, 也可以在 [FAQ](./faq.md) 中找到解决方法。
124+
125+
**连接成功后,设备的功能选择界面会消失,屏幕会黑屏,释放了所有硬件资源,如果仍然有画面显示,可以断开连接重连。**
73126

74127
这里有 MaixVision 的使用示例视频:
75128

@@ -80,7 +133,7 @@ title: MaixPy 快速开始
80133
点击 MaixVision 左侧的`示例代码`,选择一个例程,点击左下角`运行`按钮将代码发送到设备上运行。
81134

82135
比如:
83-
* `hello.py`,点击`运行`按钮,就能看到 MaixVision 终端有来自设备打印的`Hello MaixPy!`
136+
* `hello_maix.py`,点击`运行`按钮,就能看到 MaixVision 终端有来自设备打印的消息,以及右上角出现了图像
84137
* `camera_display.py`,这个例程会打开摄像头并在屏幕上显示摄像头的画面。
85138
```python
86139
from maix import camera, display, app
@@ -95,6 +148,8 @@ while not app.need_exit(): # 一直循环,直到程序退出(可以
95148

96149
其它例程可以自行尝试。
97150

151+
> 如果你使用相机例程遇到了图像显示卡顿,可能是网络不通畅,或者 USB 线质量或者主机 USB 质量太差造成,可以更换连接方式或者更换线缆、主机 USB 口或者电脑等。
152+
98153
## 安装应用到设备
99154

100155
上面是在设备中运行代码,`MaixVision` 断开后代码就会停止运行,如果想让代码出现在开机菜单中,可以打包成应用安装到设备上。
@@ -124,6 +179,7 @@ while not app.need_exit(): # 一直循环,直到程序退出(可以
124179
* [MaixPy 官方论坛](https://maixhub.com/discussion/maixpy)(提问和交流)
125180
* QQ 群: (建议在 QQ 群提问前先发个帖,方便群友快速了解你需要了什么问题,复现过程是怎样的)
126181
* MaixPy (v4) AI 视觉交流大群: 862340358
127-
* Telegram: [MaixPy](https://t.me/maixpy)
182+
* Telegram: [MaixPy](https://t.me/maixpy)
183+
* MaixPy 源码问题: [MaixPy issue](https://github.com/sipeed/MaixPy/issues)
128184
* 商业合作或批量购买请联系 [email protected]
129185

docs/doc/zh/basic/os.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ title: 升级和烧录系统
1212
## 如何确认系统是否需要升级
1313

1414
* 在开机后的功能选择界面,点击`设置`,然后点击`设备信息`,可以看到系统的版本号。
15-
*[系统发布历史页面]()查看最新系统的版本号以及更新日志,如果在你的版本后有重要更新,建议升级。
15+
*[MaixPy 发布历史页面](https://github.com/sipeed/MaixPy/releases)查看更新日志,里面有 MaixPy 固件和系统镜像的更新说明,如果在你的版本后有重要更新,建议升级。
1616
> 如果最新系统和当前系统对比只是 MaixPy 固件的常规更新,也可以不升级,在 `设置` 中的 `更新 MaixPy` 中单独更新 `MaixPy` 即可。
1717
1818

docs/doc/zh/faq.md

+22-8
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,28 @@ title: MaixPy FAQ(常见问题)
55
此页面列出了 MaixPy 相关的常见问题和解决方案,如果你遇到了问题,请先在这里找寻答案。
66
如果这个页面找不到答案,可以到 [MaixHub 讨论版块](https://maixhub.com/discussion) 将问题的详细步骤发贴提问。
77

8+
## MaixVision 无法搜索到设备?
9+
10+
先确认连接方式是 WiFi 还是 USB 线,
11+
**WiFi**:
12+
* 确认 WiFi 是否正确连接上并且获取到 IP 地址, 可以在 `设置->设备信息` 或者`设置->WiFi` 里面看到 `ip`
13+
14+
**USB线**:
15+
* 确保设备通过 Type-C 数据线连接到电脑,设备处于开机状态并且进入了功能选择界面。
16+
* 确保设备驱动已经安装:
17+
* Windows 下可以在`设备管理器`中查看是否有 USB 虚拟网卡设备,如果有感叹号则是去动没有安装好,按照[快速开始](./README.md) 中的方法安装驱动即可。
18+
* Linux 下可以通过`ifconfig`或者`ip addr`查看是否有`usb0`设备或者`lsusb`查看所有 USB 设备。 Linux 已经自带去动,所以识别不到检查硬件连接,设备系统是否是最新,以及设备是否已经正常启动即可。
19+
* Mac OS 同 Linux 方法。
20+
* 另外 检查 USB 线缆的质量,换一个高质量的线缆。
21+
* 另外 检查电脑 USB 口的质量,比如实测某些小主机 USB 口 EMI 设计太糟糕,外接一个质量好点的 USB HUB 反而可以使用了,也可以换 USB 口 或者直接换台电脑。
22+
23+
## MaixVision 运行摄像头例程显示图像卡顿
24+
25+
默认配的 GC4653 摄像头最高帧率为 30 帧,摄像头例程正常情况下 MaixVision 的显示肉眼不会有卡顿感,如果卡顿,首先考虑传输问题:
26+
* 检查网络连接质量,比如 WiFi。
27+
* 如果用的 USB 连接,检查 USB 线质量, 电脑 USB 口质量,可以尝试换台电脑或者 USB 口 或者 USB 线缆尝试对比。
28+
29+
830
## MaixPy v4 和 v1 v3 有什么区别?
931

1032
* MaixPy v4 使用 Python 语言,是吸取了 v1 v3 经验的集大成之作,有更好的配套软件和生态,更多的功能,更简单的使用方式和更完善的文档;硬件有很大提升的同时加个和另外两者的硬件价格想当甚至更便宜;另外也做了兼容 K210 的使用体验和 API,方便用户从 v1 快速迁移到 v4。
@@ -25,14 +47,6 @@ MaixPy 目前仅支持 MaixCAM 系列板子,其它同款芯片的板子也不
2547

2648
当然,如果你是大佬,我们也欢迎你提交 PR!
2749

28-
## MaixVision 无法搜索到设备?
29-
30-
* 确保设备通过 Type-C 数据线连接到电脑,设备处于开机状态并且进入了功能选择界面。
31-
* 确保设备驱动已经安装:
32-
* Windows 下可以在`设备管理器`中查看是否有 USB 虚拟网卡设备,如果有感叹号则是去动没有安装好,按照[快速开始](./README.md) 中的方法安装驱动即可。
33-
* Linux 下可以通过`ifconfig`或者`ip addr`查看是否有`usb0`设备或者`lsusb`查看所有 USB 设备。 Linux 已经自带去动,所以识别不到检查硬件连接,设备系统是否是最新,以及设备是否已经正常启动即可。
34-
* Mac OS 同 Linux 方法。
35-
3650

3751

3852

docs/doc/zh/vision/display.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ MaixPy 提供了`display`模块,可以将图像显示到屏幕上,同时,
1414

1515
## API 文档
1616

17-
本文介绍常用方法,更多 API 请看 API 文档的 [display](/api/maix/display.md) 部分。
17+
本文介绍常用方法,更多 API 请看 API 文档的 [display](/api/maix/display.html) 部分。
1818

1919

2020
## 使用屏幕

docs/pages/index/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ Classifier Result video
174174
```python
175175
from maix import uart
176176

177-
dvices = uart.list_devices()
177+
devices = uart.list_devices()
178178

179179
serial = uart.UART(devices[0], 115200)
180180
serial.write_str("hello world")

docs/static/image/maixcam.png

-1.25 KB
Loading

docs/static/image/maixcam_back.png

258 KB
Loading

docs/static/image/maixcam_font.png

66.9 KB
Loading

maix/__init__.py

+20-16
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,33 @@
11
from .version import __version__
22

33
# import all _maix module's members to maix, e.g. maix._maix.err -> maix.err
4-
from ._maix import *
5-
from ._maix.peripheral import *
64
from ._maix.peripheral.key import add_default_listener
5+
from . import _maix
76

87
add_default_listener()
98

109
del add_default_listener
1110

11+
import inspect
12+
13+
new_members = {}
14+
members = inspect.getmembers(_maix)
15+
for m in members:
16+
if m[0].startswith("__"):
17+
continue
18+
new_members["maix." + m[0]] = m[1]
19+
20+
members = inspect.getmembers(_maix.peripheral)
21+
for m in members:
22+
if m[0].startswith("__"):
23+
continue
24+
new_members["maix." + m[0]] = m[1]
25+
26+
# clear all temp vars
27+
del m, members, inspect
28+
1229
import sys
13-
new_members = []
14-
# find all maix._maix members
15-
for k in sys.modules:
16-
if k.startswith('maix._maix.'):
17-
# add all maix._maix members to maix, then we can use `from maix import err`
18-
new_members.append(("maix" + k[10:], sys.modules[k]))
19-
# add all maix._maix.peripheral members to maix, then we can use `from maix import adc`
20-
if k.startswith('maix._maix.peripheral.'):
21-
v = ('maix' + k[21:], sys.modules[k])
22-
new_members.append(v)
23-
24-
# add all new members to maix
25-
for k, v in new_members:
30+
for k, v in new_members.items():
2631
sys.modules[k] = v
2732

28-
# clear all temp vars
2933
del k, v, new_members

maix/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33

44
version_major = 4
55
version_minor = 0
6-
version_patch = 7
6+
version_patch = 10
77

88
__version__ = "{}.{}.{}".format(version_major, version_minor, version_patch)

0 commit comments

Comments
 (0)