Maix CAM如何打包以及删除应用

前言

近期购买了一个Maix CAM试试效果,总体体验上来说比较不错,然后近期的核心是自己将代码进行打包并将其开机自启。

一、打包以及开机自启流程

1.1 编写代码

这边就直接使用了官网的uart例程代码并加入启动摄像头以及屏幕

from maix import uart,image, camera, display, app, time
cam = camera.Camera(512, 320)   # Manually set resolution, default is too large
disp = display.Display()        # MaixCAM default is 522x368
devices = uart.list_devices()

serial = uart.UART(devices[0], 115200)
while 1:
    serial.write_str("hello ltq")
    img = cam.read()
    disp.show(img)
    print("received:", serial.read(timeout = 2000))
    time.sleep_ms(10) # sleep 1ms to make CPU free

1.2 打包

在MaixVision软件中可以直接进行打包,较为方便,如图左下角所示,点击即可

 然后输入一些应用信息,方便后期的使用以及更改,之后就点确认即可

1.3 代码运行

断开连接后,可以发现屏幕多出了一个uart的应用,点击即可运行代码

效果在串口助手中可以看到

1.4 开机自启

开机自启也可以使用较为方便的过程, 直接在屏幕的初始界面中点击设置,拉到最底下有一个“开机自启”到里面点击想要的app即可在下次开机时自动启动此app。

二、删除打包以及开机自启流程

2.1 删除开机自启

在MaixVision软件中点击设备文件管理器,然后找到/maixapp/auto_start.txt,直接删除即可

2.2 删除打包

找到/maixapp/apps,然后找到刚才打包下载的uart,直接删除即可

三、问题解决及优化

3.1 无法回到初始界面

上述代码无法通过屏幕回到初始界面,这样程序只能在Maix Vision软件呢中进行更改,有点麻烦,

通过查询,发现官方仍有例程,可以通过设置一个exit的按键,直接退出程序,但是在与上述代码合并时,出现了显示摄像头的图像但是不显示按键的问题,代码还是有点问题。

from maix import touchscreen, app, time, display, image

ts = touchscreen.TouchScreen()
disp = display.Display()

img = image.Image(disp.width(), disp.height())

# draw exit button
exit_label = "< Exit"
size = image.string_size(exit_label)
exit_btn_pos = [0, 0, 8*2 + size.width(), 12 * 2 + size.height()]
img.draw_string(8, 12, exit_label, image.COLOR_WHITE)
img.draw_rect(exit_btn_pos[0], exit_btn_pos[1], exit_btn_pos[2], exit_btn_pos[3],  image.COLOR_WHITE, 2)

def is_in_button(x, y, btn_pos):
    return x > btn_pos[0] and x < btn_pos[0] + btn_pos[2] and y > btn_pos[1] and y < btn_pos[1] + btn_pos[3]

while not app.need_exit():
    x, y, pressed = ts.read()
    if is_in_button(x, y, exit_btn_pos):
        app.set_exit_flag(True)
    img.draw_circle(x, y, 1, image.Color.from_rgb(255, 255, 255), 2)
    disp.show(img)

上述问题后续已经得到解决,直接在while里面添加以下代码即可

img.draw_string(8, 12, exit_label, image.COLOR_WHITE)
img.draw_rect(exit_btn_pos[0], exit_btn_pos[1], exit_btn_pos[2], exit_btn_pos[3],  image.COLOR_WHITE, 2)

为了方便,直接将此代码与uart结合的代码奉上

from maix import uart,image, camera, display, app, time,touchscreen

cam = camera.Camera(512, 320)   # Manually set resolution, default is too large

ts = touchscreen.TouchScreen()
disp = display.Display()        # MaixCAM default is 522x368

devices = uart.list_devices()
serial = uart.UART(devices[0], 115200)

img = image.Image(disp.width(), disp.height())
# draw exit button
exit_label = "< Exit"
size = image.string_size(exit_label)
exit_btn_pos = [0, 0, 8*2 + size.width(), 12 * 2 + size.height()]
img.draw_string(8, 12, exit_label, image.COLOR_WHITE)
img.draw_rect(exit_btn_pos[0], exit_btn_pos[1], exit_btn_pos[2], exit_btn_pos[3],  image.COLOR_WHITE, 2)

def is_in_button(x, y, btn_pos):
    return x > btn_pos[0] and x < btn_pos[0] + btn_pos[2] and y > btn_pos[1] and y < btn_pos[1] + btn_pos[3]

while not app.need_exit():
    x, y, pressed = ts.read()
    img = cam.read()
     # 绘制退出按钮
    img.draw_string(8, 12, exit_label, image.COLOR_WHITE)
    img.draw_rect(exit_btn_pos[0], exit_btn_pos[1], exit_btn_pos[2], exit_btn_pos[3],  image.COLOR_WHITE, 2)
    if is_in_button(x, y, exit_btn_pos):
        app.set_exit_flag(True)
    img.draw_circle(x, y, 1, image.Color.from_rgb(255, 255, 255), 2)
    serial.write_str("hello world")
   
    disp.show(img)
    print("received:", serial.read(timeout = 2000))
    time.sleep_ms(10) # sleep 1ms to make CPU free

基本上问题都已经解决,后续还有优化的话会进行更改。

3.2 问题待填充

注:有任何问题欢迎评论区交流讨论或者私信!后续有问题的话会进行更新!

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: maix bit c 是一款基于人工智能的开发板,由多个模块组成,包括主控模块、图像模块、音频模块等。该开发板采用了低功耗处理器,并且内置了丰富的函数库,方便开发者进行快速开发和应用。 首先,maix bit c 主控模块采用了K210芯片,这是一款具备先进AI功能的芯片,支持多种人工智能算法。此外,该芯片还集成了双核处理器,运行速度快,能够满足多种应用的需求。 其次,maix bit c 的图像模块具备强大的图像处理功能,支持图像传感器、人脸识别等功能。同时,图像模块还可以通过WiFi实现无线传输,方便远程监控和控制。 另外,maix bit c 的音频模块则提供了丰富的音频输入输出接口,支持录音、播放等功能。开发者可以利用音频模块实现语音交互、音频播放等应用。 总之,maix bit c 是一款功能强大、易于开发的人工智能开发板,适用于多种应用场景,如智能家居、智能机器人、人脸识别等。它的出现为开发者提供了一个快速、便捷的开发平台,可以加快人工智能应用的推广和普及。 ### 回答2: Maix Bit C 是一款基于 RISC-V 架构的人工智能开发板。它采用了搭载 Kendryte K210 芯片的设计,该芯片支持双核心 Cortex-M AI 处理器,工作频率高达使100MHz。Maix Bit C 内置有专门的 AI 处理器,可以实现图像识别、语音识别和机器视觉等人工智能任务,并且可以通过 TensorFlow Lite、K210 SDK 等 AI 框架进行开发。 Maix Bit C 可以通过各种传感器实现丰富的功能,支持 Wi-Fi 和蓝牙连接。此外,它还具有丰富的接口,包括 I2C、UART、SPI、GPIO 等,可以方便地与其他设备进行通信和数据交换。开发者可以使用 MicroPython 或者 C/C++ 等编程语言对 Maix Bit C 进行编程与开发。 Maix Bit C 的设计小巧精致,携带便捷,适合在教育、嵌入式系统、物联网和机器人等领域进行开发和应用。它可以用于智能摄像头、智能家居、智能玩具等多种场景,为用户带来便利和创新的体验。 总之,Maix Bit C 是一款功能强大、易于使用的人工智能开发板,具备高性能的处理能力和丰富的接口功能,可以实现多种人工智能应用。它在教育和行业应用中有很大的潜力,值得开发者和用户深入研究和应用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值