马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 小伤口 于 2023-1-29 17:49 编辑
小电视-smallTv 1.0.0
简介
简单来说就是通过手机和smallTv连接统一热点,能够将手机屏幕的内容投影在
smallTv 上目前功能已经实现,不过开机动画,app美化等还没做好,电脑端还没有
整合上去
技术选型
Android SDK:
compileSdk 33
minSdk 21
targetSdk 26
C语言java 8
外观
实现效果
https://www.bilibili.com/video/BV1C3411X7vh/?share_source=copy_web&vd_source=ed6061f7f22dff4a142332fc281a884a
原理
上位机:
用MediaProjectionManage申请录屏权限,得到手机录屏权限实时获取录屏帧。然后再用了一个帧监听器,
将帧转换为 jpg 图片存在内存里面另开一个线程里面实现
了udp协议将jpg图片字节数据不断发送到指定端口
esp8266:
<blockquote><b>//导入的包</b>
先连接指定wifi,连接成功之后,创建一个存储jpg字节数据的缓存,接受到数据之后,
解码显示在tft屏幕上,通过不断显示图片就形成了视频
如何复刻
材料清单:
- 一个esp8266(建议买最小开发板)
- 0.96寸的TFT(驱动器最好是ST7735,硬件接口需要时spi接口,商品详情里面都有这些介绍)
- 7根杜邦线
- 总价格:23左右
环境配置
关于ardiuno IDE 配置esp8266环境网上有很多教程
这里我只介绍配置esp8266最简单最快的方法
下载下面的文件
里面是Ardiuno IDE 和一件安装esp8266环境的插件
如果要用这个插件,ardiuno IDE一定要是我文件里面的版本 arduino-1.8.13,你也可以去官网下载,我测了很多个版本,
插件都无法配置成功,目前这个版本可以行的通,貌似是之后版本的文件改变了位置,导致插件安装的位置与之后的版本对
不上,所以失效然后将下面的几个库下好
#include <ESP8266WiFi.h>
#include <TJpg_Decoder.h>
#include "SPI.h"
#include <TFT_eSPI.h> // Hardware-specific library
#include <String.h>
#include <WiFiUdp.h>
配置TFT_eSPI 库的User_Setup.h文件
点击ardiunoIDE左上角文件,再点击下方首选项按钮,将里面的路径复制,在文件中打开,进入TFT_eSPI
文件中找到User_Setup.h文件,打开它
找到这个部分
如果你的驱动器是st7735那么就取消st7735的注释,如果是其他的就取消掉对应的就行
然后就是你的TFT屏幕宽高是多少,就写多少,商品介绍里面会有这些参数的
如果下载好程序之后你的屏幕颜色不对,例如红色变成蓝色等
可以在这两行代码分别尝试一下
接线
按照下面的表接上就行,名称有可能有些不一样,但没关系,那个引脚名称与下表相似就接那个
TFT | ESP8266 | DI(MOSI) | D7 | SC (SCLK、SCK) | D5 | CS | D8 | RST | D4 、RST | RS(DC、A0) | D3 | BLK & VCC | 3.3V | GND | GND |
开源链接
https://gitee.com/xiaoshangkou/small-tv
所有代码我都放在了码云上,有兴趣可以去看看
运行教程
先填入手机的热点名称以及密码
<b>#define AP_SSID "小伤口" //所用WiFi的名字
#define AP_PSW "123456789" //所用WiFi的密码</b>
暂时不支持app更改smallTv连接的wifi,后续版本会推出
填写好wifi之后烧录程序到esp8266里面打开ardiunoIDE的串口,当出现下面的内容时就证明运行成功
进入https://gitee.com/xiaoshangkou/small-tv
找到AndroidApp进入下载文件到手机里面,安装app,将串口显示的ip地址,输入到app的输入框中
点击开始投影即可
|