Skip to content

Commit

Permalink
bump version to 4.0.10
Browse files Browse the repository at this point in the history
  • Loading branch information
Neutree committed Apr 22, 2024
1 parent 30e1c2e commit 99d020a
Show file tree
Hide file tree
Showing 15 changed files with 145 additions and 55 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ Simply use **peripheral** like serial port:
```python
from maix import uart

dvices = uart.list_devices()
devices = uart.list_devices()

serial = uart.UART(devices[0], 115200)
serial.write_str("hello world")
Expand Down
2 changes: 1 addition & 1 deletion README_ZH.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ Classifier Result video
```python
from maix import uart

dvices = uart.list_devices()
devices = uart.list_devices()

serial = uart.UART(devices[0], 115200)
serial.write_str("hello world")
Expand Down
2 changes: 1 addition & 1 deletion configs/config_platform_linux.mk
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@

# set config opencv compile from source to avoid opencv lib not found error or version not match error
CONFIG_OPENCV_COMPILE_FROM_SOURCE=y
# CONFIG_OPENCV_COMPILE_FROM_SOURCE=y

4 changes: 4 additions & 0 deletions docs/api/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ MaixPy API documentation, modules:
|[maix.protocol](./maix/protocol.md) | maix.protocol module |
|[maix.example](./maix/example.md) | example module, this will be maix.example module in MaixPy, maix::example namespace in MaixCDK |
|[maix.app](./maix/app.md) | maix.app module |
|[maix.util](./maix/util.md) | maix.util module |
|[maix.network](./maix/network.md) | maix.network module |
|[maix.nn](./maix/nn.md) | maix.nn module |
|[maix.peripheral](./maix/peripheral.md) | Chip's peripheral driver |
|[maix.rtsp](./maix/rtsp.md) | maix.rtsp module |
|[maix.video](./maix/video.md) | maix.video module |
|[maix.touchscreen](./maix/touchscreen.md) | maix.touchscreen module |
12 changes: 12 additions & 0 deletions docs/api/sidebar.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,12 @@ items:
- collapsed: false
file: maix/app.md
label: app
- collapsed: false
file: maix/util.md
label: util
- collapsed: false
file: maix/network.md
label: network
- collapsed: false
file: maix/nn.md
items:
Expand Down Expand Up @@ -83,6 +89,12 @@ items:
file: maix/peripheral/adc.md
label: adc
label: peripheral
- collapsed: false
file: maix/rtsp.md
label: rtsp
- collapsed: false
file: maix/video.md
label: video
- collapsed: false
file: maix/touchscreen.md
label: touchscreen
Expand Down
104 changes: 80 additions & 24 deletions docs/doc/zh/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,43 +4,91 @@ title: MaixPy 快速开始
---

<div style="font-size: 1.2em;border: 2px solid green; border-color:#c33d45;padding:1em; text-align:center; background: #c33d45; color: white">
MaixPy 唯一官网: <a target="_blank" style="color: white" href="https://wiki.sipeed.com/maixpy">
<div>
<span>MaixPy 唯一官网:</span>
<a target="_blank" style="color: #ffe0e0" href="https://wiki.sipeed.com/maixpy">
wiki.sipeed.com/maixpy
</a>
<br>
<div style="height:0.4em"></div>
MaixPy 例程和源码: <a target="_blank" style="color: white" href="https://github.com/sipeed/MaixPy">
<span>MaixPy 例程和源码:</span>
<a target="_blank" style="color: #ffe0e0" href="https://github.com/sipeed/MaixPy">
github.com/sipeed/MaixPy
</a>
</div>
<div style="padding: 1em 0 0 0">
<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>
<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>
</div>
</div>
<br>

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

[Sipeed 淘宝](https://sipeed.taobao.com) 或者 [Sipeed 速卖通](https://sipeed.aliexpress.com) 店铺购买 <a href="https://wiki.sipeed.com/maixcam" target="_blank">MaixCAM</a> 开发板。
[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> 开发板。

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

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

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

## 上手体验
## 上手配置

### 准备 TF 镜像卡和插入到设备

如果你买的套餐里面有 TF 卡,里面已经有出厂镜像了,需要先小心打开外壳(注意里面有排线连接不要扯断了),然后插入 TF 卡。

如果没买 TF 卡,则需要将系统烧录进自备的 TF 卡中,烧录方法请看[升级和烧录系统](./basic/os.md),然后再安装到板子。

### 上电开机

使用 `Type-C` 数据线连接 `MaixCAM` 设备给设备供电,等待设备开机,开机会进入功能选择界面。

![maixcam](/static/image/maixcam_font.png)

插入套餐里面的 TF 卡,使用 `Type-C` 数据线连接 `MaixCAM` 设备给设备供电,等待设备开机,开机会进入功能选择界面。
> 如果屏幕没有显示,请确认购买了配套的 TF 卡,如果确认有 TF 卡,可以尝试[更新系统](./basic/os.md)
> 如果你没有购买 TF 卡套餐,你需要按照[升级和烧录系统](./basic/os.md)的方法烧录最新的系统到 TF 卡。
开机后可以看到功能选择界面,在设置中可以切换语言,可以自行尝试内置的各种应用和功能。
### 联网

首次运行需要连接网络,后面会激活设备和使用 IDE 会用到。

* 设备上点击 `设置`(`Settings`),选择`WiFi`,点击 `扫描` 按钮开始扫描周围 `WiFi`, 可以多次点击刷新列表。
* 找到你的 WiFi 热点,如果没有路由器可以用手机开一个热点。
* 输入密码点击`连接`按钮进行连接。
* 等待获取到 `IP` 地址,这可能需要 `10``30` 秒,如果界面没有刷新可以退出`WiFi`功能重新进入查看,或者在`设置` -> `设备信息` 中也可以看到 `IP` 信息。


### 升级运行库

**这一步很重要 !!!** 这一步如果不做好,其它应用和功能可能无法运行(比如闪退等)。

* 首先保证上一步连接 WiFi 已经完成,并且获取到 IP 地址能访问公网。
* 设备上点击 `设置`(`Settings`),选择`安装运行库`
* 安装完成后可以看到更新到了最新版本,然后退出即可。


### 使用内置应用

内置了很多应用,比如 找色块,AI 检测器,巡线等等,找色块举例:

<video playsinline controls autoplay loop muted preload class="pl-6 pb-4 self-end" src="/static/video/find_blobs.mp4" type="video/mp4">
Classifier Result video
</video>

其它的请自行摸索,以后还会更新更多应用,之后会在 [MaixHub 应用商店](https://maixhub.com/app) 更新。


## 作为串口模块使用

内置的各种应用可以直接当成串口模块使用,比如`找色块``找人脸``找二维码`等等,
> 如果是想把设备当成主控使用(或者你还不懂什么是串口模块)可以跳过这一步。
内置的各种应用可以直接当成串口模块使用,比如`找色块``找人脸``找二维码`等等,

使用方法:
* 硬件连接: 可以给设备接上`Type-C一转二小板`,这样我们就能将设备通过串口连接到你的主控上了,比如`Arduino``树莓派``STM32`等等。
* 打开你想用的应用,比如二维码识别,当设备扫描到二维码就会通过串口把结果发送给你的主控了。
Expand All @@ -49,27 +97,32 @@ title: MaixPy 快速开始
## 准备连接电脑和设备

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

方案二在不同电脑系统中有不同设置方法:
* **Linux**: 无需额外设置,插上 USB 线即可, 使用 `ifconfig` 或者 `ip addr` 查看到 `usb0` 网卡
* **Windows**: 可以先确认`网络适配器`里面是否多了一个 RNDIS 设备,如果有就直接能用。否则需要手动安装 RNDIS 网卡驱动:
* 打开电脑的`设备管理器`
* 然后在`其它设备`里面找个一个带问号的 RNDIS 设备,右键选择`更新驱动程序`
* 选择`浏览计算机以查找驱动程序`,然后选择`让我从计算机上的可用驱动程序列表中选择`
* 选择`网络适配器`,然后点击`下一步`
* 左边选择`Microsoft`,右边选择`远程 NDIS 兼容设备`,然后点击`下一步`, 选择``
* 装好后的效果
![RNDIS](../../static/image/rndis_windows.jpg)
* **MacOS**: 无需额外设置,插上 USB 线即可, 使用 `ifconfig` 或者 `ip addr` 查看到 `usb0` 网卡
> 方案二因为要用 USB 和驱动,可能会遇到一些问题,所以推荐直接用 WiFi 开始,可以在 [FAQ](./faq.md) 中找常见问题。

.. details::方案二在不同电脑系统中有不同设置方法,点击展开
* **Linux**: 无需额外设置,插上 USB 线即可, 使用 `ifconfig` 或者 `ip addr` 查看到 `usb0` 网卡,**注意** 这里看到的 ip 比如 `10.131.167.100` 是电脑的 ip, 设备的 ip 是最后一位改为`1``10.131.167.1`
* **Windows**: 可以先确认`网络适配器`里面是否多了一个 RNDIS 设备,如果有就直接能用。否则需要手动安装 RNDIS 网卡驱动:
* 打开电脑的`设备管理器`
* 然后在`其它设备`里面找个一个带问号的 RNDIS 设备,右键选择`更新驱动程序`
* 选择`浏览计算机以查找驱动程序`,然后选择`让我从计算机上的可用驱动程序列表中选择`
* 选择`网络适配器`,然后点击`下一步`
* 左边选择`Microsoft`,右边选择`远程 NDIS 兼容设备`,然后点击`下一步`, 选择``
* 装好后的效果
![RNDIS](../../static/image/rndis_windows.jpg)
* **MacOS**: 无需额外设置,插上 USB 线即可, 使用 `ifconfig` 或者 `ip addr` 查看到 `usb0` 网卡,**注意** 这里看到的 ip 比如 `10.131.167.100` 是电脑的 ip, 设备的 ip 是最后一位改为`1``10.131.167.1`

## 开发环境准备

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

如果没有扫描到设备,你也可以在设备的 `设置 -> 设备信息` 中查看设备的 IP 地址手动输入。
如果**没有扫描到设备**,你也可以在**设备**`设置 -> 设备信息` 中查看设备的 IP 地址手动输入, 也可以在 [FAQ](./faq.md) 中找到解决方法。

**连接成功后,设备的功能选择界面会消失,屏幕会黑屏,释放了所有硬件资源,如果仍然有画面显示,可以断开连接重连。**

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

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

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

其它例程可以自行尝试。

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

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

2 changes: 1 addition & 1 deletion docs/doc/zh/basic/os.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ title: 升级和烧录系统
## 如何确认系统是否需要升级

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

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

## MaixVision 无法搜索到设备?

先确认连接方式是 WiFi 还是 USB 线,
**WiFi**:
* 确认 WiFi 是否正确连接上并且获取到 IP 地址, 可以在 `设置->设备信息` 或者`设置->WiFi` 里面看到 `ip`

**USB线**:
* 确保设备通过 Type-C 数据线连接到电脑,设备处于开机状态并且进入了功能选择界面。
* 确保设备驱动已经安装:
* Windows 下可以在`设备管理器`中查看是否有 USB 虚拟网卡设备,如果有感叹号则是去动没有安装好,按照[快速开始](./README.md) 中的方法安装驱动即可。
* Linux 下可以通过`ifconfig`或者`ip addr`查看是否有`usb0`设备或者`lsusb`查看所有 USB 设备。 Linux 已经自带去动,所以识别不到检查硬件连接,设备系统是否是最新,以及设备是否已经正常启动即可。
* Mac OS 同 Linux 方法。
* 另外 检查 USB 线缆的质量,换一个高质量的线缆。
* 另外 检查电脑 USB 口的质量,比如实测某些小主机 USB 口 EMI 设计太糟糕,外接一个质量好点的 USB HUB 反而可以使用了,也可以换 USB 口 或者直接换台电脑。

## MaixVision 运行摄像头例程显示图像卡顿

默认配的 GC4653 摄像头最高帧率为 30 帧,摄像头例程正常情况下 MaixVision 的显示肉眼不会有卡顿感,如果卡顿,首先考虑传输问题:
* 检查网络连接质量,比如 WiFi。
* 如果用的 USB 连接,检查 USB 线质量, 电脑 USB 口质量,可以尝试换台电脑或者 USB 口 或者 USB 线缆尝试对比。


## MaixPy v4 和 v1 v3 有什么区别?

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

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

## MaixVision 无法搜索到设备?

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




2 changes: 1 addition & 1 deletion docs/doc/zh/vision/display.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ MaixPy 提供了`display`模块,可以将图像显示到屏幕上,同时,

## API 文档

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


## 使用屏幕
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/index/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ Classifier Result video
```python
from maix import uart

dvices = uart.list_devices()
devices = uart.list_devices()

serial = uart.UART(devices[0], 115200)
serial.write_str("hello world")
Expand Down
Binary file modified docs/static/image/maixcam.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/static/image/maixcam_back.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/static/image/maixcam_font.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
36 changes: 20 additions & 16 deletions maix/__init__.py
Original file line number Diff line number Diff line change
@@ -1,29 +1,33 @@
from .version import __version__

# import all _maix module's members to maix, e.g. maix._maix.err -> maix.err
from ._maix import *
from ._maix.peripheral import *
from ._maix.peripheral.key import add_default_listener
from . import _maix

add_default_listener()

del add_default_listener

import inspect

new_members = {}
members = inspect.getmembers(_maix)
for m in members:
if m[0].startswith("__"):
continue
new_members["maix." + m[0]] = m[1]

members = inspect.getmembers(_maix.peripheral)
for m in members:
if m[0].startswith("__"):
continue
new_members["maix." + m[0]] = m[1]

# clear all temp vars
del m, members, inspect

import sys
new_members = []
# find all maix._maix members
for k in sys.modules:
if k.startswith('maix._maix.'):
# add all maix._maix members to maix, then we can use `from maix import err`
new_members.append(("maix" + k[10:], sys.modules[k]))
# add all maix._maix.peripheral members to maix, then we can use `from maix import adc`
if k.startswith('maix._maix.peripheral.'):
v = ('maix' + k[21:], sys.modules[k])
new_members.append(v)

# add all new members to maix
for k, v in new_members:
for k, v in new_members.items():
sys.modules[k] = v

# clear all temp vars
del k, v, new_members
2 changes: 1 addition & 1 deletion maix/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@

version_major = 4
version_minor = 0
version_patch = 7
version_patch = 10

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

0 comments on commit 99d020a

Please sign in to comment.