• 星瞳AI VISION软件内测!可以离线标注,训练,并生成OpenMV的模型。可以替代edge impulse https://forum.singtown.com/topic/8206
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 外接STM32单片机通过串口控制OPENMV拍照并储存到SD卡?



    • 本人初学者,有C语言编程经验,想通过外接STM32单片机为OPENMV供电,通过串口发送指令控制OPENMV拍照并储存到SD卡中。因为外接单片机供电,所以不与电脑连接,也就用不到OPENMV IDE。
      所以,我应该发送什么指令控制其拍照并储存到SD卡中呢?此时,python应该无法使用了吧,我要用C语言编程,是否需要找源码中对应的代码?希望得到一个解决方案。感谢各位大佬!



    • 直接stm32 发送一个OK/r/n,字符串

      然后OpenMV 上用python 编程,当读到OK/r/n字符串的时候,就保存到SD卡。



    • 意思是,在OPENMV IDE中编程完下载运行后,再断电接到32上电后,程序依然在执行是么?



    • OpenMV 可以脱机运行的,上电就运行main.py

      来自星瞳实验室APP: OpenMV脱机运行 https://singtown.com/learn/49976/

      你在调试的时候,完全可以[OpenMV 的USB,STM32 的USB]都连接电脑。



    • 好的,我试试,谢谢你!有问题再问你!



    • @kidswong999
      我按你说的将两个都连到电脑了,为了检验其是否接受到32发送的字符串写了代码如下:
      import time
      from pyb import UART

      uart = UART(3, 9600, timeout_char=1000)

      while(True):
      if uart.any():
      a = uart.readline().decode()
      print(a)
      目的显示其接收到的字符串。单独测试单片机没有问题发送“OK”,但是IDE上不显示。
      接线:32使用USART2发送接收,TX2为PA2,RX2为PA3,OPENMV上串口RX为P0,TX为P1
      所以PA2接P0,PA3接P1,还有一根线共地。接线如图:0_1543923891445_接线图.png
      想问一下,问题出在哪里?与上面UART里的3有关么?



    • UART 3是p4p5口



    • 恩,笨死了,调出来了!
      if a = "OK\r\n"
      sensor.snapshot().save("example1.jpg")
      我又加了一句判断,但是显示语法错误。是不是不能这样判断呀。



    • 新的问题,请单独发帖子。

      附上全部的代码。



    • UART Control

      This example shows how to use the serial port on your OpenMV Cam. Attach pin

      P4 to the serial input of a serial LCD screen to see "Hello World!" printed

      on the serial LCD display.

      import time
      from pyb import UART

      Always pass UART 3 for the UART number for your OpenMV Cam.

      The second argument is the UART baud rate. For a more advanced UART control

      example see the BLE-Shield driver.

      uart = UART(3, 19200, timeout_char=1000)

      while(True):
      if uart.any():
      a = uart.readline()
      if a == "OK\r\n"
      sensor.snapshot().save("example1.jpg")
      查了一下好像不能直接判断,应该如何判断接收的字符串呢?



    • 新的问题,单独发帖子。