-
Notifications
You must be signed in to change notification settings - Fork 42
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
15 changed files
with
145 additions
and
55 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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`等等。 | ||
* 打开你想用的应用,比如二维码识别,当设备扫描到二维码就会通过串口把结果发送给你的主控了。 | ||
|
@@ -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 的使用示例视频: | ||
|
||
|
@@ -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 | ||
|
@@ -95,6 +148,8 @@ while not app.need_exit(): # 一直循环,直到程序退出(可以 | |
|
||
其它例程可以自行尝试。 | ||
|
||
> 如果你使用相机例程遇到了图像显示卡顿,可能是网络不通畅,或者 USB 线质量或者主机 USB 质量太差造成,可以更换连接方式或者更换线缆、主机 USB 口或者电脑等。 | ||
## 安装应用到设备 | ||
|
||
上面是在设备中运行代码,`MaixVision` 断开后代码就会停止运行,如果想让代码出现在开机菜单中,可以打包成应用安装到设备上。 | ||
|
@@ -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] 。 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters