数码之家

 找回密码
 立即注册
搜索
查看: 4308|回复: 27

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

[复制链接]
发表于 2022-6-2 12:57:30 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

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

x
在160x80分辨率的屏幕上看部电影是什么感觉,用这个9.9包邮的合宙luatOS开发板+配套TFT板就可以来体验一下项目开源地址:https://github.com/zhuhai-esp/LuatOS-C3-Video-Cast
3251e8680d0b54a167aee57b5677f54.jpg



上位机软件就用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压缩,每一帧发送数据不是定长,网络数据得到很大压缩
483b7c87a8db36f8948d2f61f0b24db.jpg

单片机设备端需要做什么操作呢?
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视频投屏就显示出来了
oa.gif

电脑上也会同步显示:
7ceda5bae213b614c02eeb38d7cf6cd.jpg

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

LuatOS-C3-Video-Cast-main.zip

2.49 MB, 下载次数: 2, 下载积分: 家元 -55

打赏

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

查看全部打赏

发表于 2022-6-2 14:13:25 来自手机浏览器 | 显示全部楼层
多谢lz分享
回复 支持 反对

使用道具 举报

发表于 2022-6-2 14:42:12 | 显示全部楼层
仓库地址404打不开了。。
回复 支持 反对

使用道具 举报

发表于 2022-6-2 15:18:35 来自手机浏览器 | 显示全部楼层
这个有点玩头
回复 支持 反对

使用道具 举报

发表于 2022-6-2 17:07:44 | 显示全部楼层
这个分辨率有些低,好玩吗?
回复 支持 反对

使用道具 举报

发表于 2022-6-2 23:41:15 | 显示全部楼层
刚好19.8元买了,看来有玩头了!多谢楼主的分享,不明觉厉,看下能不能抄着刷入看看。
回复 支持 反对

使用道具 举报

发表于 2022-6-3 12:11:16 | 显示全部楼层
仓库地址404打不开了。。
回复 支持 反对

使用道具 举报

发表于 2022-6-3 12:12:24 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-3 14:54:30 | 显示全部楼层
网络孤客 发表于 2022-6-3 12:11
仓库地址404打不开了。。

唉,上个github也是太难了,用这个镜像试试吧
https://hub.fastgit.xyz/zhuhai-esp/ESP32-C3-LuatOS
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-3 14:58:41 | 显示全部楼层
网络孤客 发表于 2022-6-3 12:11
仓库地址404打不开了。。

现在应该可以了,我的问题
https://hub.fastgit.xyz/zhuhai-esp/LuatOS-C3-Video-Cast
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-3 14:59:03 | 显示全部楼层
jpdd521 发表于 2022-6-2 14:42
仓库地址404打不开了。。

可以了,这个也行
https://hub.fastgit.xyz/zhuhai-esp/LuatOS-C3-Video-Cast
回复 支持 反对

使用道具 举报

发表于 2022-6-3 21:04:12 | 显示全部楼层
这个有点意思,超级小电影
回复 支持 反对

使用道具 举报

发表于 2022-6-3 21:35:22 | 显示全部楼层
求教各位大大,为什么我总是不成功呢?这个也和楼主那个网络时钟报一样的错误
  1. [  1358][E][WiFiSTA.cpp:322] begin(): connect failed! 0x300a
复制代码
回复 支持 反对

使用道具 举报

发表于 2022-6-5 05:32:27 | 显示全部楼层
jpdd521 发表于 2022-6-2 14:42
仓库地址404打不开了。。

可以打开
撒.jpg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-5 21:21:45 | 显示全部楼层
apnic 发表于 2022-6-3 21:35
求教各位大大,为什么我总是不成功呢?这个也和楼主那个网络时钟报一样的错误
...

这个是配网的吧,手机上要下载个esptouch帮板子练一次网
回复 支持 反对

使用道具 举报

发表于 2022-6-6 00:10:43 | 显示全部楼层
hzy3774 发表于 2022-6-5 21:21
这个是配网的吧,手机上要下载个esptouch帮板子练一次网

下过了,对照视频试了几遍就是配网不成功。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-6 17:58:43 | 显示全部楼层
apnic 发表于 2022-6-6 00:10
下过了,对照视频试了几遍就是配网不成功。

https://search.bilibili.com/all?keyword=smartconfig
还不行也没办法了,这smartconfig底层我也没仔细看
回复 支持 反对

使用道具 举报

发表于 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, 2024-3-29 08:23 , Processed in 0.140400 second(s), 13 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

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