您现在的位置是:网站首页> 硬件
树莓派技术收集
- 硬件
- 2024-09-25
- 1178人已阅读
树莓派技术收集
树莓派来做电视盒子
KODI安装
树莓派中我们通过apt安装方式,安装如下:
sudo apt update
sudo apt install kodi
使用fswebcam
在实践过程中,树莓派对 USB 摄像头的支持不如 CSI 摄像头完美。偶尔会出现无法使用 USB 摄像头的情况,自带的摄像头操作命令 raspistill、raspivid 也无法使用。
而 fswebcam 这是一款小型摄像头程序(官网),则可以很好地支持 USB 摄像头。使用方法也很简便。
安装 fswebcam
安装 fswebcam,用于访问摄像头、进行拍照。
sudo apt-get install fswebcam
fswebcam 的用法
fswebcam --help Usage: fswebcam [<options>] <filename> [[<options>] <filename> ... ] Options: -?, --help Display this help page and exit. -c, --config <filename> Load configuration from file. -q, --quiet Hides all messages except for errors. -v, --verbose Displays extra messages while capturing --version Displays the version and exits. -l, --loop <seconds> Run in loop mode. -b, --background Run in the background. -o, --output <filename> Output the log to a file. -d, --device <name> Sets the source to use. -i, --input <number/name> Selects the input to use. -t, --tuner <number> Selects the tuner to use. -f, --frequency <number> Selects the frequency use. -p, --palette <name> Selects the palette format to use. -D, --delay <number> Sets the pre-capture delay time. (seconds) -r, --resolution <size> Sets the capture resolution. --fps <framerate> Sets the capture frame rate. -F, --frames <number> Sets the number of frames to capture. -S, --skip <number> Sets the number of frames to skip. --dumpframe <filename> Dump a raw frame to file. -s, --set <name>=<value> Sets a control value. --revert Restores original captured image. --flip <direction> Flips the image. (h, v) --crop <size>[,<offset>] Crop a part of the image. --scale <size> Scales the image. --rotate <angle> Rotates the image in right angles. --deinterlace Reduces interlace artifacts. --invert Inverts the images colours. --greyscale Removes colour from the image. --swapchannels <c1c2> Swap channels c1 and c2. --no-banner Hides the banner. --top-banner Puts the banner at the top. --bottom-banner Puts the banner at the bottom. (Default) --banner-colour <colour> Sets the banner colour. (#AARRGGBB) --line-colour <colour> Sets the banner line colour. --text-colour <colour> Sets the text colour. --font <[name][:size]> Sets the font and/or size. --no-shadow Disables the text shadow. --shadow Enables the text shadow. --title <text> Sets the main title. (top left) --no-title Clears the main title. --subtitle <text> Sets the sub-title. (bottom left) --no-subtitle Clears the sub-title. --timestamp <format> Sets the timestamp format. (top right) --no-timestamp Clears the timestamp. --gmt Use GMT instead of local timezone. --info <text> Sets the info text. (bottom right) --no-info Clears the info text. --underlay <PNG image> Sets the underlay image. --no-underlay Clears the underlay. --overlay <PNG image> Sets the overlay image. --no-overlay Clears the overlay. --jpeg <factor> Outputs a JPEG image. (-1, 0 - 95) --png <factor> Outputs a PNG image. (-1, 0 - 10) --save <filename> Save image to file. --exec <command> Execute a command and wait for it to complete.
使用 fswebcam
命令行下查看 /dev/下有video0 的设备。
运行 lsusb 命令,有相关摄像头的信息。
在终端中运行下面的命令来抓去一张来自摄像头的照片。
fswebcam --no-banner -r 640x480 image.jpg
或者你可以直接用:
fswebcam image.jpg
可以直接拍照,-d 用于指定使用哪个摄像头设备。-r 指定图片的分辨率,最后的是照片保存的路径。
如果拍摄出来的照片是一片漆黑,可能和摄像头启动延迟有关,可以通过加 -S 参数来跳过前面几帧解决。例如使用命令:
fswebcam -S 10 image.jpg
go编译树莓派上运行的程序
go编译树莓派上运行的程序
选编译为:cross-arm6
命令行arm
set GOOS=linux
set GOARCH=arm
set GOARM=6
命令行Windows
set GOOS=windows
set GOARCH=amd64
命令行Mac
set GOOS=darwin
set GOARCH=amd64
GOOS:目标平台的操作系统(darwin、freebsd、linux、windows)
GOARCH:目标平台的体系架构(386、amd64、arm)
交叉编译不支持 CGO 所以要禁用它
禁止用用:
SET CGO_ENABLED=0
树莓派上运行python
准备工作
首先,确保你的树莓派已经正确连接到电源并启动。你还需要连接一个显示器(如果需要),以便查看树莓派的输出。
安装Python
大多数树莓派操作系统都预装了Python解释器,但你可以通过以下命令来确保Python已经正确安装:
python3 --version
```
如果输出显示Python的版本信息,则说明Python已经安装。否则,你可以使用以下命令安装Python:
sudo apt-get update
sudo apt-get install python3
Python创建ftp
安装所需库
在开始编写代码之前,我们需要安装一些Python库来帮助我们实现FTP服务器的功能,打开终端,输入以下命令来安装这些库:
pip install pyftpdlib
编写代码
1、导入库
我们需要导入所需的库:
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
2、设置FTP服务器
接下来,我们需要设置FTP服务器的一些参数,例如端口、用户名和密码等:
设置FTP服务器的端口
port = 2121
设置FTP服务器的用户名和密码
username = "admin"
password = "admin"
创建一个虚拟用户授权器
authorizer = DummyAuthorizer()
添加一个匿名用户,并设置其主目录和权限
authorizer.add_anonymous(maindir="/home/pi", perm="elradfmw")
添加一个具有读写权限的用户
authorizer.add_user(username, password, "/home/pi", perm="elradfmw")
3、启动FTP服务器
我们需要启动FTP服务器:
创建一个FTP处理器
handler = FTPHandler
handler.authorizer = authorizer
创建一个FTP服务器实例,并绑定到指定的端口
server = FTPServer(("0.0.0.0", port), handler)
启动FTP服务器
server.serve_forever()
运行代码
将以上代码保存为一个名为ftp_server.py的文件,然后在终端中运行以下命令来启动FTP服务器:
python ftp_server.py
上一篇:硬件学习及经验总结笔记
下一篇:器件使用常识