草庐IT

树莓派配置WiFi热点,远程播放视频小项目手把手教学

我亦无争、天亦美 2023-04-19 原文

1、安装树莓派OS镜像:

Raspberry Pi OS – Raspberry Pihttps://www.raspberrypi.com/software/下载官方镜像32位。一定不能下载最新版,下载最新版会导致后面步骤无法正常进行。我是用的是2020.5.27的稳定版镜像(桌面不带推荐软件)。

准备一张内存卡16G及以上。

读卡器

使用SD Card Formatter格式化内存卡。

 使用Win32DiskImager将下载好的镜像烧录进SD卡中。开机即可。

软件在我的资源库中有,需要直接下载即可。

SDCardFormatterv5_WinEN.zip-OS文档类资源-CSDN文库https://download.csdn.net/download/shi1804134022/85075539?spm=1001.2014.3001.5501win32diskimager-v0.9-binary.zip-Linux文档类资源-CSDN文库https://download.csdn.net/download/shi1804134022/85075536?spm=1001.2014.3001.5501

2、配置树莓派:

安装好树莓派之后,连接HDMI线,跟着弹出的安装步骤进行即可,询问是否更新的时候选择跳过。否则将会浪费你很多时间。连接WIFI,后续过程需要联网。

3、安装OMXplayer:

最新版本的树莓派OS镜像已经不支持OMXplayer了,改为VLC,本人并不是很喜欢VLC。

详情可见:GitHub - popcornmix/omxplayer: omxplayer

换源换源换源!!!Ubuntu源以及下架该软件了,一定要换到国内源。

换源方式参考:

命令行中输入:

sudo apt-get install omxplayer

等待安装完毕即可。

可以使用命令行进行视频播放啦!!!!

举个栗子~:播放/home/pi目录下的test视频文件。 -o hdmi 是让音频从hdmi中输出。 -o local 是从音频输出。-r 是全屏输出。

omxplayer -o hdmi /home/pi/test.mp4
omxplayer -o local test.mp4
omxplayer -r -o local test.mp4

omxplayer相关参数介绍:

omxplayer --help
Usage: omxplayer [OPTIONS] [FILE]
-h  --help                  Print this help
-v  --version               Print version info
-k  --keys                  Print key bindings
-n  --aidx  index           Audio stream index    : e.g. 1
-o  --adev  device          Audio out device      : e.g. hdmi/local/both
-i  --info                  Dump stream format and exit
-I  --with-info             dump stream format before playback
-s  --stats                 Pts and buffer stats
-p  --passthrough           Audio passthrough
-d  --deinterlace           Force deinterlacing
    --nodeinterlace         Force no deinterlacing
    --nativedeinterlace     let display handle interlace
    --anaglyph type         convert 3d to anaglyph
    --advanced              Allow advanced deinterlace for HD videos
-w  --hw                    Hw audio decoding
-3  --3d mode               Switch tv into 3d mode (e.g. SBS/TB)
-M  --allow-mvc             Allow decoding of both views of MVC stereo stream
-y  --hdmiclocksync         Display refresh rate to match video (default)
-z  --nohdmiclocksync       Do not adjust display refresh rate to match video
-t  --sid index             Show subtitle with index
-r  --refresh               Adjust framerate/resolution to video
-g  --genlog                Generate log file
-l  --pos n                 Start position (hh:mm:ss)
-b  --blank                 Set background to black

还可以使用Python脚本等运行代码。

4、使用手机远程进行控制音视频播放。

下载ssh的手机APP,将手机和树莓派处在同一个网络环境下。打开SSH输入树莓派IP即可链接上树莓派

查看树莓派ip:ifconfig

用手机链接上树莓派。使用上述命令即可打开远程视频。

带有ssh的软件:华为云、阿里云等。

5、小项目:

将树莓派放置在视觉追踪的小车上,安装屏幕,即可作为远程播放视频的可移动小车。可以播放宣传片,防疫告示等视频,自动跟随无需人的拖拽,目前功能已实现。(此文不讨论视觉追踪小车)

难点1:该小车在移动过程中,将会脱离局域网,IP变化导致不可控。

解决难点1:

1、手机开热点,固定树莓派IP,即可链接控制。

该方法存在问题,树莓派一次性只能链接一台手机的热点,如果需要另一台手机的介入或移交控制权,需要重新配置WIFI热点链接,麻烦。

2、使用create_ap,将树莓派作为一个移动热点不断发射信号,控制端只需链接相应热点即可通过固定IP进行远程控制。

详见:GitHub - popcornmix/omxplayer: omxplayer

1、下载安装create_ap

git clone https://github.com/oblique/create_ap 
cd create_ap 
make install

2、安装依赖库

sudo apt install util-linux procps hostapd iproute2 iw haveged dnsmasq

3、创建WiFi热点 

sudo create_ap 无线网卡名 有线网卡名 热点名 密码

如果上述命令报错,没有开启的话,有可能是你的wifi已经开启并做了从机,导致开启热点失败;可以先 sudo ifconfig wlan0 down(关闭已打开的wifi),然后再输入上述命令。

4、修改create_ap服务启动(自定义热点名称和密码)

要把wpa_supplicant给禁掉,即不要让wifi开机即开启从机,搜索网络联网。

sudo nano /etc/dhcpcd.conf

在文件开头写入 :

nohook wpa_supplicant

即和 ifconfig wlan0 down 是一样的效果。 

然后要修改create_ap的默认设置,即

sudo nano /etc/create_ap.conf

主要修改 “SSID=热点名称”,“PASSPHRASE=密码”。

其他保持默认就行。

开机启动:

systemctl enable create_ap

 5、恢复WiFi功能:

如果要关闭wifi热点,恢复正常wifi,要注释掉 nohook wpa_supplicant 语句

sudo systemctl disable create_ap

 难点2:开机后直接进入桌面,需要自启视频。

解决难点2:

1、新建开机自启项:新建一个脚本文件:test.sh 在/home/pi目录下。输入以下内容:

#!/bin/sh

omxplayer -o hdmi test.mp4

保存后给该文件添加可执行权限:(或直接右键文件添加可执行权限)

chmod 777 test.sh

双击运行该脚本测试是否可以正常运行。

正常状况可以打开视频在hdmi中播放。

2、将文件设置成开机自启:

首先打开rc.local 文件

sudo nano /etc/rc.local

然后在exit 0 前面添加如下代码:

"/home/pi/test.sh"

 最后不要添加 & 符号,否则默认在后台运行!

"/home/pi/test.sh" &

3、添加logo图片作为桌面背景,将任务栏缩小,其他图标隐藏即可。

过程略

最后即可完成该项目啦。

有关树莓派配置WiFi热点,远程播放视频小项目手把手教学的更多相关文章

  1. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  2. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  3. 电脑0x0000001A蓝屏错误怎么U盘重装系统教学 - 2

      电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。  准备工作:  1、U盘一个(尽量使用8G以上的U盘)。  2、一台正常联网可使用的电脑。  3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。  4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。  U盘启动盘制作步骤:  注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注

  4. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  5. Unity 3D 制作开关门动画,旋转门制作,推拉门制作,门把手动画制作 - 2

    Unity自动旋转动画1.开门需要门把手先动,门再动2.关门需要门先动,门把手再动3.中途播放过程中不可以再次进行操作觉得太复杂?查看我的文章开关门简易进阶版效果:如果这个门可以直接打开的话,就不需要放置"门把手"如果门把手还有钥匙需要旋转,那就可以把钥匙放在门把手的"门把手",理论上是可以无限套娃的可调整参数有:角度,反向,轴向,速度运行时点击Test进行测试自己写的代码比较垃圾,命名与结构比较拉,高手轻点喷,新手有类似的需求可以拿去做参考上代码usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;u

  6. 神州数码无线产品(AC+AP)配置 - 2

    注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配

  7. hadoop安装之保姆级教程(二)之YARN的配置 - 2

    1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模

  8. Ruby 默认将 IRB 配置为 Pretty_Inspect - 2

    我是ruby​​的新手,正在配置IRB。我喜欢pretty-print(需要'pp'),但总是输入pp来漂亮地打印它似乎很麻烦。我想做的是默认情况下让它漂亮地打印出来,所以如果我有一个var,比如说,'myvar',然后键入myvar,它会自动调用pretty_inspect而不是常规检查。我从哪里开始?理想情况下,我将能够向我的.irbrc文件添加一个自动调用的方法。有什么想法吗?谢谢! 最佳答案 irb中默认pretty-print对象正是hirb被迫去做。Theseposts解释hirb如何将几乎所有内容转换为ascii表。虽

  9. ruby - 是否可以将 IRB 提示配置为动态更改? - 2

    我想在IRB中浏览文件系统并让提示更改以反射(reflect)当前工作目录,但我不知道如何在每个命令后进行提示更新。最终,我想在日常工作中更多地使用IRB,让bash溜走。我在我的.irbrc中试过这个:require'fileutils'includeFileUtilsIRB.conf[:PROMPT][:CUSTOM]={:PROMPT_N=>"\e[1m:\e[m",:PROMPT_I=>"\e[1m#{pwd}>\e[m",:PROMPT_S=>"FOO",:PROMPT_C=>"\e[1m#{pwd}>\e[m",:RETURN=>""}IRB.conf[:PROMPT_MO

  10. ruby - 如何配置 Ruby Mechanize 代理以通过 Charles Web 代理工作? - 2

    我正在使用Ruby/Mechanize编写一个“自动填写表格”应用程序。它几乎可以工作。我可以使用精彩CharlesWeb代理以查看服务器和我的Firefox浏览器之间的交换。现在我想使用Charles查看服务器和我的应用程序之间的交换。Charles在端口8888上代理。假设服务器位于https://my.host.com。.一件不起作用的事情是:@agent||=Mechanize.newdo|agent|agent.set_proxy("my.host.com",8888)end这会导致Net::HTTP::Persistent::Error:...lib/net/http/pe

随机推荐