【点灯鼠教程】[Maixpy]+[vofa+]实现K210串口图传【反向图传】

 

前言:

对于k210,实际使用时,由于kpu的存在,我们很少会将图片传送到上位机进行解析(单纯拍图片的话,esp32cam不香吗/滑稽)。由于跑模型对内存有要求,停用K210的senor,而使用其他设备拍照传输到K210上进行处理,能更高效的发挥K210的性能(比如来块新出的 Grove ,搭载上树莓派,开启Kpu Trubo)

V7%7DWRAG%7BN_%40IYUGMYI8O4OG.png

正文开始!

通过上个帖子,我们已经学会的to _bytes的使用。对于MAIXPY,也提供了 from_bytes 的代码。

从内存读取(或者网络读取)
可以先将文件读取到内存, 具体是从哪里读取的看你的应用了, 比如网络,或者串口 SPI 等等,
构造一个 bytes对象

import image  
jpeg_buff = b'\xFF' # jpeg buffer  
img = image.Image(jpeg_buff, from_bytes = True)  
print(img)  

由于串口接收到的为bytes格式数据,我们可以直接对串口接收到的数据进行操作。这里直接提供代码:

img=uart_A.read()  
if img!= None:#如果串口buffer读取到了数据  
#print(img)  
back = image.Image(img, from_bytes = True)#转为img  

这里有两点需要注意:一是图片数据不能过大,经过测试,当图片大小大于100k时,会报MermoryError

8D_S~~J%5D18~X8CKJRZ2LC%60U.png

二是波特率不能过高,经过测试,当波特率为1382400时,会报ValueError: format not supported。

KBTS%24SDM61_%24G_G0LH%40B6JQ.png

1152000能正常使用,推测是过高的波特率导致了数据损坏。
设置好读取的参数口,打开vofa+,协议选择rawdata(也就是正常串口助手,你也可以使用其他的),发送图片。
成功点亮lcd!

43(D39NSY8VADRD%24KB6ZSQ9.png

 


文章来源于Sipeed点灯鼠,原文链接:https://bbs.sipeed.com/thread/527

搬运请注明原文地址


完整代码如下:

# Untitled - By: Lithromantic - 周日 2月 7 2021  
#注意,复用uart后,ide将无法使用  
from fpioa_manager import fm  
fm.register(9, fm.fpioa.UART1_TX, force=True)  
fm.register(10, fm.fpioa.UART1_RX, force=True)  
from machine import UART  
import sensor, image, time,lcd  
lcd.init(freq=15000000)  
uart_A = UART(UART.UART1, 1152000, 8, 1, 0, timeout=1000, read_buf_len=4096)  
img = []  
clock = time.clock()  
while(True):  
clock.tick()  
img=uart_A.read()  
if img!= None:  
#print(img)  
back = image.Image(img, from_bytes = True)  
uart_A.write("success")  
print(back)  
lcd.rotation(1)  
lcd.display(back)  
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值