数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 7046|回复: 27

[Arduino] 基于合宙luatOS ESP32-C3视频投屏显示,双端全部开源

[复制链接]
发表于 2022-6-2 12:57:30 | 显示全部楼层 |阅读模式
在160x80分辨率的屏幕上看部电影是什么感觉,用这个9.9包邮的合宙luatOS开发板+配套TFT板就可以来体验一下项目开源地址:https://github.com/zhuhai-esp/LuatOS-C3-Video-Cast




上位机软件就用Python开发一个吧,上位机的工作只有两件事:
1. 读取视频文件并做相关变换,我采用OpenCV
2. TCP连接单片机并发送视频数据
  1. import socket

  2. import cv2

  3. if __name__ == "__main__":
  4.     print('请保障PC和开发板访问同一个局域网!')
  5.     ip = input('请输入开发板IP地址:')
  6.     cap = cv2.VideoCapture('video.mp4')
  7.     s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  8.     s.connect((ip, 8888))
  9.     encode_param = [int(cv2.IMWRITE_JPEG_QUALITY), 90]
  10.     while cap.isOpened():
  11.         _, frame = cap.read()
  12.         dst = cv2.resize(frame, (160, 80))
  13.         _, jpg = cv2.imencode('.jpg', dst, encode_param)
  14.         ba = bytearray(jpg)
  15.         cv2.imshow('frame', frame)
  16.         s.send(ba)
  17.         if cv2.waitKey(25) & 0xFF == ord('q'):
  18.             break
  19.     cap.release()
  20.     cv2.destroyAllWindows()
  21.     s.close()
复制代码


关于视频数据发送一般有2种方案:

1. 非压缩位图发送,每一帧固定发送160x80x2个字节数据,缺点是数据量过大
2. 采用JPEG压缩,每一帧发送数据不是定长,网络数据得到很大压缩


单片机设备端需要做什么操作呢?
1. 快速配网连接网络,使用smartConfig吧
  1. WiFi.beginSmartConfig();
复制代码


2. 开启TCP服务监听端口:
  1. WiFiServer server(serverPort);
  2. server.begin();
复制代码


3. 读取网络数据,JPEG解码(若位图发送不需要解码):
  1. WiFiClient client = server.available();
  2. int batch = client.read(pRead, capable);
  3. TJpgDec.drawJpg(0, 0, pTail, pFNext - pTail);
复制代码


4. 显示图像(显示依赖于TFT_eSPI库):
  1. tft.pushImage(x, y, w, h, bmp);
复制代码


这样就可以TCP视频投屏就显示出来了


电脑上也会同步显示:


项目开源地址:https://github.com/zhuhai-esp/LuatOS-C3-Video-Cast
嵌入式端采用VSCode打开即可
上位机端可以用PyCharm打开,系统需要安装OpenCV库

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x

打赏

参与人数 4家元 +120 收起 理由
不长叶子的树 + 60
慕名而来 + 20 原創內容
jf201006 + 20 謝謝分享
飞向狙沙 + 20 謝謝分享

查看全部打赏

发表于 2022-6-2 14:13:25 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-6-2 14:42:12 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-6-2 15:18:35 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-6-2 17:07:44 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-6-2 23:41:15 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-6-3 12:11:16 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-6-3 12:12:24 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-3 14:54:30 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-3 14:58:41 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-3 14:59:03 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-6-3 21:04:12 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-6-3 21:35:22 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-6-5 05:32:27 | 显示全部楼层
游客请登录后查看回复内容

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-5 21:21:45 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-6-6 00:10:43 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-6 17:58:43 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-6-6 18:43:17 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-6-6 23:48:50 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-6-7 17:20:07 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2026-4-2 06:53 , Processed in 0.296400 second(s), 14 queries , Gzip On, Redis On.

Powered by Discuz!

© MyDigit.Net Since 2006

快速回复 返回顶部 返回列表