MaixVision -- MaixPy Programming IDE + Graphical Block Programming

Introduction

MaixVision is a development tool specifically designed for the Maix ecosystem, supporting MaixPy programming and graphical block programming. It allows for online operation and debugging, real-time image preview, and synchronizing images from device displays, which is convenient for debugging and development.

It also supports packaging and installing applications on devices, allowing users to easily generate and install applications with one click.

In addition, it integrates several handy tools for development, such as file management, threshold editor, QR code generator, and more.

Download

Visit the MaixVision homepage to download.

Using MaixPy Programming and Online Running

Follow the steps in Quick Start to connect your device, and you can easily use MaixPy programming and run it online.

Real-time Image Preview

MaixPy provides a display module that can show images on the screen. Also, when the show method of the display module is called, it sends the image to be displayed on MaixVision, for example:

from maix import display, camera

cam = camera.Camera(640, 480)
disp = display.Display()
while 1:
    disp.show(cam.read())

Here we use the camera to capture an image, then display it on the screen using the disp.show() method, and also send it to MaixVision for display.

When we click the 'pause' button in the top right corner, it will stop sending images to MaixVision.

Code Auto Completion

Code suggestions depend on local Python packages installed on your computer. To enable code suggestions, you need to install Python on your computer and the required Python packages.

  • To install Python, visit the Python official website.
  • To install the required packages, for MaixPy, for instance, you need to install the MaixPy package on your computer using pip install MaixPy. If MaixPy gets updated, you should update it on both your computer and device. On your computer, manually execute pip install MaixPy -U in the terminal. For device updates, update directly in the Settings application.

Users in China can use a local mirror pip install -i https://pypi.tuna.tsinghua.edu.cn/simple MaixPy.

  • Restart MaixVision to see the code suggestions.

If suggestions still do not appear, you can manually set the path to the Python executable in settings and restart.

Note that installing Python packages on your computer is just for code suggestions. The actual code runs on the device (development board), and the device must also have the corresponding packages to run properly.

Additionally, while you have the MaixPy package installed on your computer, due to our limited resources, we cannot guarantee that you can directly use the Maix package in your computer's Python. Please run it on supported devices.

Calculating the Image Histogram

In the previous step, we could see the image in real-time in MaixVision. By selecting an area with the mouse, we can view the histogram for that area at the bottom of the screen, displaying different color channels.

This feature is helpful when finding suitable parameters for some image processing algorithms.

Distinguishing Between Device File System and Computer File System

Here we have an important concept to grasp: distinguish between the Device File System and the Computer File System.

  • Computer File System: Operates on the computer. Opening a file or project in MaixVision accesses files on the computer, and saving is automatically done to the computer's file system.
  • Device File System: The program sends the code to the device for execution, so the files used in the code are read from the device's file system.

A common issue is when students save a file on the computer, such as D:\data\a.jpg, and then use this file on the device with img = image.load("D:\data\a.jpg"). Naturally, the file cannot be found because the device does not have D:\data\a.jpg.

For specifics on how to send files from the computer to the device, refer to the following section.

Transferring Files to the Device

First, connect to the device, then click the button to browse the device file system, as shown below. Then you can upload files to the device or download files to the computer.

maixvision_browser2

maixvision_browser

Alternatively, other tools can be used, click to expand

First, know the device's IP address or name, which MaixVision can find, or see in the device's Settings->System Information, such as maixcam-xxxx.local or 192.168.0.123.
The username and password are root, using the SFTP protocol for file transfer, and the port number is 22.

There are many useful tools available for different systems:

Windows

Use WinSCP or FileZilla to connect to the device and transfer files, choosing the SFTP protocol and entering the device and account information to connect.

Specific instructions can be searched online.

Linux

In the terminal, use the scp command to transfer files to the device, such as:

scp /path/to/your/file.py root@maixcam-xxxx.local:/root

Mac

  • Method 1: In the terminal, use the scp command to transfer files to the device, such as:
scp /path/to/your/file.py root@maixcam-xxxx.local:/root
  • Method 2: Use FileZilla or other tools to connect to the device and transfer files, choosing the SFTP protocol and entering the device and account information to connect.

Using Graphical Block Programming

Under development, please stay tuned.