百问网全志D1h开发板投屏功能实现

投屏功能实现

D1系列号称点屏神器,不仅能点屏,还能用于投屏。

源码准备

百问网为 【百问网D1h开发板】提供了投屏功能需要使用的源码,直接git下载即可:

git clone https://github.com/DongshanPI/DongshannezhaSTU_DLNA_ScreenProjection.git

下载后的源码目录如下:
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中:

  • libupnp是UPNP协议的一个轻量实现库。它最早由英特尔开发并开源,是目前Linux平台最流行的UPNP实现库,其集成了HTTP处理、XML处理、HTTP服务器、线程池等功能。
  • tprender是用于实际投屏处理的应用

源码编译

源码分为两部分进行编译,先编译libupnp得到动态调用库,再编译tprender。

  1. libupnp编译
export TOOLCHAIN_ROOT=~/tina-d1-h/prebuilt/gcc/linux-x86/riscv/toolchain-thead-glibc/riscv64-glibc-gcc-thead_20200702
export PATH=$TOOLCHAIN_ROOT/bin:$PATHcd DongshannezhaSTU_DLNA_ScreenProjection/libupnp-1.14.12
./configure --host=riscv64-unknown-linux-gnumake 
mkdir tmp
make install DESTDIR=$(pwd)/tmp/ls -lh tmp/usr/local/lib

编译安装后的结果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. tprender编译
cd DongshannezhaSTU_DLNA_ScreenProjection/tprender# 设置正确的目录
perl -pi -e 's#/home/book/tina-d1-h#/root/tina-d1-h#g' $(grep -rn /home/book/tina-d1-h * | cut -d ':' -f 1 | uniq)
perl -pi -e 's#/home/book/Allwinner/tprender#'$(pwd)'#g' $(grep -rn /home/book/Allwinner/tprender * | cut -d ':' -f 1 | uniq)
perl -pi -e 's#\\/home\\/book\\/Allwinner\\/tprender#'$(pwd | sed -e 's#/#\\\\/#g')'#g' tags
rm -rf CMakeFiles cmake_install.cmake  CMakeCache.txt tags# 拷贝动态调用库
cp ../libupnp-1.14.12/tmp/usr/local/lib/libixml.so.11.1.2 libs/libixml.so
cp ../libupnp-1.14.12/tmp/usr/local/lib/libixml.so.11.1.2 libs/libixml.so.11
cp ../libupnp-1.14.12/tmp/usr/local/lib/libupnp.so.17.1.3 libs/libupnp.so
cp ../libupnp-1.14.12/tmp/usr/local/lib/libupnp.so.17.1.3 libs/libupnp.so.17cmake .
make

需要注意,上面使用perl进行文件内路径替换的操作,需要根据你的实际的文件路径进行处理。

编译结果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在tprender已经准备好了,下面就进行开发板上的操作了。

投屏测试

首先,使用adb或者网络,将tprender上传到开发板:

adb push tprender /root/
adb push libs /root/

然后,到开发板上进行操作,先进行联网:

wifi_connect_ap_test WiFi名称 WiFi密码
udhcpc -i wlan0
ip addr show wlan0

结果要正确显示获取到了IP:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

此时,应在其他电脑上,ping上面的IP,确保可以联通。

再开启tprender提供投屏功能:

cd /root
chmod u+x tprender
./tprender

执行后,输出如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

从上面的输出可以看到,成功启动,等待投屏。

此时,打开手机或者支持投屏播放的电脑,播放一个视频,然后投屏小图标,就能找到 D1-H 投屏设备了:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

点击D1-H,就能在 【百问网D1h开发板】 的屏幕上播放了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/35072.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

平板WPS转换的PDF文件保存位置解析

在日常工作和生活中,我们经常需要将文档转换成PDF格式进行分享,以确保接收者能够无障碍地查看文件内容,不受软件版本或操作系统的限制。WPS作为一款功能强大的办公软件,也提供了文档转换为PDF的功能。然而,有时在转换并…

基于振弦采集仪的工程安全监测技术研究与应用

基于振弦采集仪的工程安全监测技术研究与应用 随着工程规模的不断扩大和复杂性的增加,工程安全监测变得越来越重要。工程安全监测的目的是保证工程的安全运行,预防事故的发生,保护人们的生命财产安全。其中,振弦采集仪作为一种重…

JOSEF约瑟 JOLP(ROS-2D)型两级跑偏开关 精度高,耐振动

​ 品牌 :JOSEF约瑟 型号名称 :JOLP(ROS-2D)型两级跑偏开关 触点容量 :AC380V 10A 触点数量 :常开:2常闭:2 极限角度 :70 复位方式 :自动 动作力 :3kg 防护等级 :IP66 结构特点 1.通用的安装设计可使跑偏检测装置随意安装在输送机纵梁顶!顶部或底部位置 2.封闭、防腐、坚固的铸…

3D数字人视频合成用户指南

数字人开放平台3D互动数字人如何接入_虚拟数字人(DVH)-阿里云帮助中心3D互动数字人(对应开放平台的“智能客服”场景)是虚拟数字人开放平台提供能够支持用户与3D数字人进行实时语音交互的数字人产品能力,需要配合智能对话机器人产品使用。本篇…

徐徐拉开的帷幕:拜登与特朗普的辩论大戏 日元跌破160大关!创1986年以来最低纪录

北京时间6月27日(本周五)上午9:00,拜登和特朗普将参加2024年总统候选人电视辩论。作为参考,2016年大选辩论期间,美元汇率对辩论结果的反应相对温和,希拉里胜选预期增强在一定程度上支撑了美元。 时间逐渐临…

Java - 程序员面试笔记记录 实现 - Part1

社招又来学习 Java 啦,这次选了何昊老师的程序员面试笔记作为主要资料,记录一下一些学习过程。 1.1 Java 程序初始化 Java 程序初始化遵循规则:静态变量优于动态变量;父类优于子类;成员变量的定义顺序; …

Spring的jar包下载(最新版6.0版本)

1.在Spring官网的projects下面点击spring-framework 2.进入github官网 3.进入github后往下滑,点击Spring Framework Artifacts 4.往下滑找到 点击 5.在左边先点击Artifacts,在右边找到 libs-snapshot,展开libs-snapshot(之前其他…

道路救援入驻派单小程序开源版开发

道路救援入驻派单小程序开源版开发 1、用户立即救援 2、后台收到救援通知,派单救援师傅. 道路救援入驻派单小程序通常会包含一系列功能,旨在方便救援服务提供商、用户和后台管理系统之间的交互。以下是一个可能的功能列表: 用户端功能&…

GPOPS-II教程(4): 多级火箭上升最优控制问题

文章目录 本篇重点问题描述动力学方程约束条件性能指标 GPOPS代码main function1. 初始参数设置2. 边界条件设置3.初值猜测4.设置GPOPS求解器参数5.求解6.画图 continuous function1. 取输入参数2. 计算过程变量3. 写动力学方程4. 给输出 endpoint function坐标转换函数位置-速…

大猫咪守护LoRA:定制你的大猫私人大猫咪宠物写真合影,某音某书流行款

🌹大家好!我是安琪!感谢大家的支持与鼓励。 大猫咪LoRA模型简介 今天应群里同学大猫咪宠物合影写真提议,为大家介绍一款来自作者 沐沐人像合成的主题为大猫咪守护的LoRAl模型:沐沐-大猫咪。这是一款当下在某音、某书…

基于FreeRTOS+STM32CubeMX+LCD1602+MCP3308(SPI接口)的8通道ADC转换器Proteus仿真

一、仿真原理图: 二、仿真效果: 三、STM32CubeMX配置: 1)、时钟配置: 2)、USART配置: 四、软件部分: 1)、主功能函数: 2)、初始化部分: /* USER CODE BEGIN Header */ /** ******************************************************************************

Apache Flink类型及序列化研读生产应用|得物技术

一、背景 序列化是指将数据从内存中的对象序列化为字节流,以便在网络中传输或持久化存储。序列化在Apache Flink中非常重要,因为它涉及到数据传输和状态管理等关键部分。Apache Flink以其独特的方式来处理数据类型以及序列化,这种方式包括它…

vscode使用Black Formatter以及Flake8实现代码格式化

vscode使用Black Formatter以及Flake8实现代码格式化(实现和pycharm相似的效果) 简单介绍一下这两个插件的功能,flake8可以实现对python代码风格的检测,对空格换行等内容都会有提示。 Black Formatter则可以实现在保存时&#x…

kafka 消费者 API 使用总结

前言 应用程序使用KafkaConsumer向Kafka订阅主题,并从订阅的主题中接收消息。不同于从其他消息系统读取数据,从Kafka读取数据涉及一些独特的概念和想法。如果不先理解这些概念,则难以理解如何使用消费者API。本文将先解释这些重要的概念&…

【乐吾乐2D可视化组态编辑器】文件

1 文件 文件:文件的新建、打开、导入、保存、另存为、下载JOSN文件、下载ZIP打包文件、导出为HTML、导出为Vue2组件、导出为Vue3组件、导出为React组件(老版将不再维护)、下载为PNG、下载为SVG 乐吾乐2D可视化组态编辑器demo:ht…

Elasticsearch 聚合查询

Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 💥💥个人主页:奋斗的小羊 💥💥所属专栏:C语言 🚀本系列文章为个人学习…

一、安装VMware16

本篇来源:山海同行 本篇地址:https://shanhaigo.cn/courseDetail/1805875642621952000 本篇资源:以整理到-山海同行 一、VMware虚拟机下载 1. 官网下载 1. 打开官网 打开VMware官网地址:https://www.vmware.com/ 2. 选择下载产…

【研究】两千亿高碳投资:头部资管气候行动观察

在气候语境中,“棕”与“绿”是一组对立色,前者被用来描述与低碳理念不符的行动。近日资管机构的“含棕量”受到了气候倡议者的检视。 正文 国际环保机构绿色和平在与海南成美慈善基金会联合发布《中国资产管理机构气候表现研究报告》(以下简…

Pytorch实战(一):LeNet神经网络

文章目录 一、模型实现1.1数据集的下载1.2加载数据集1.3模型训练1.4模型预测 LeNet神经网络是第一个卷积神经网络(CNN),首次采用了卷积层、池化层这两个全新的神经网络组件,接收灰度图像,并输出其中包含的手写数字&…

告别模糊时代,扫描全能王带来清晰世界

模糊碑文引发的思考 上个月中旬去洛阳拜访了著名的龙门石窟,本就对碑文和文字图画感兴趣的我们,准备好好欣赏一下龙门石窟的历史文化古迹。到了地方之后,我发现石窟的高度和宽度远远超出了想象,正因如此,拍出来的文字…