Seeed-Studio / SSCMA-Micro

A cross-platform framework that deploys and applies SSCMA models to microcontrol devices
https://seeed-studio.github.io/SSCMA-Micro/
MIT License
24 stars 13 forks source link

Support Raspberry Pi camera module V3 #71

Open hatrinh-sj opened 3 months ago

hatrinh-sj commented 3 months ago

Hi @Pillar1989,

(Moved from https://github.com/Seeed-Studio/Seeed_Arduino_GroveAI/issues/10)

You mentioned that Vision AI V2 does support IM708. But when plugging the IM708 camera, I don't see any image in https://seeed-studio.github.io/SenseCraft-Web-Toolkit/#/setup/process.

I compiled a sample application from https://github.com/HimaxWiseEyePlus/Seeed_Grove_Vision_AI_Module_V2, it works fine. I admit that I don't know if the autofocus function is working. But, I do see images from the camera.

hatrinh-sj commented 3 months ago

This is the output from the serial console:

1st BL Modem Build DATE=Nov 30 2023, 0x0002000b
Please input any key to enter X-Modem mode in 100 ms
waiting input key...
slot flash_offset 0x00000000
New MemDesp himax_sec_SB_image_process PASS
set_memory_s_ns
bl_status = 0x800000, HX_DSP_FLAG 1
bl_status = 0x800000
jump_addr=0x10000000
Compiler Version: ARM GNU, 13.2.1 20231009
Build date: May 24 2024 04:11:43
                                dw_iic_write err_state:2
dw_iic_write err_code:-60
[hx_drv_i2cm_write_restart_read]-L:844, Fail:-60
dw_iic_write err_state:2
dw_iic_write err_code:-60
[hx_drv_i2cm_write_restart_read]-L:844, Fail:-60
sensor_type: 15
g_cursensorstream: 0
{"type": 0, "name": "INIT@STAT?", "code": 0, "data": {"boot_count": 29, "is_ready": 1}}
hatrinh-sj commented 3 months ago

Hi @LynnL4! Is this the correct repo for the question about the Seeed Studio Vision AI V2 factory firmware? Please redirect me if I am wrong. I have a problem using Raspberry Pi camera module V3 with Vision AI V2. Please take a look at the details in the above posts.

iChizer0 commented 3 months ago

Hi @hatrinh-sj, sorry for the late response. We tested the IMX708 on our Grove Vision AI V2 and the firmware is consistent with May 24 2024 04:11:43 in your logs, it works fine and outputs images as expected.

image

From the logs you provided, it looks like the device's IIC is not interacting properly with the IMX708, please also double check that the camera connection is correct and reliable.

Also, if you are using Chrome under Linux, you may not be able to establish a proper connection with the device under some Linux distributions, you can try https://github.com/Seeed-Studio/python-sscma or test under Windows.

Hope this solves your problem.

hatrinh-sj commented 3 months ago

Thank you for looking into the issue. Weirdly, I tried all 2 cables I have with the same problem. But, when I upload the compiled sample application from https://github.com/HimaxWiseEyePlus/Seeed_Grove_Vision_AI_Module_V2, it works immediately. I found a supplier of OV5647 with autofocus. I hope I don't have to use IMX708.

iChizer0 commented 2 months ago

Hi @hatrinh-sj, we are sorry that it does not help, we will continue to follow up on your problem, if it is convenient, you can perform the following actions and submit the logs to us, thanks.

  1. Use the serial debugging tool to establish a connection with the device, baud rate 921600
  2. Keep the device and the camera normally connected
  3. Enter the AT command AT+RST\r\n to reboot the device
  4. Enter the AT command AT+SENSOR=1,1,0\r\n to initialize the camera
  5. Enter the AT command AT+SAMPLE=2\r\n to capture some images
hatrinh-sj commented 2 months ago

Hi @iChizer0, I am sorry for the delay. The camera was not with me last week. Now, I was able to test with several cables. During the test, I got the picture only once. When I clicked "Disconnect" and "Connect" again, the picture no longer showed. I repeated the steps multiple times but could not get it works. I tested with the Chrome browser. Here is the serial debug as you requested:

VisionAI2_MX708

iChizer0 commented 2 months ago

From the logs you provided, it appears that the acquisition timeout occurs when capturing images from the camera, which may be caused by an unstable connection or a loose or oxidized interface.

When the timeout error occurs, the device will not automatically re-initialize the camera, you may need to manually reboot the device or run a command to re-initialize the camera.