使用 ffmpge屏幕录制
ffmpeg -video_size 1024x600 -framerate 20 -f x11grab -i :0.0+115,0 -c:v libx264rgb a.mkv
-f:x11grab设置 FFmpeg 录制屏幕的内容。
-i: 0.0+x,y 录制屏幕开始的xy坐标
使用 RTL8811无线网卡
将网卡插入usb口使用lsmod查看内核模块是否加载
lsmod
Module Size Used by
8821cu 1839104 0
ifconfig 查看wifi节点名为wlx90de80879faa
wlx90de80879faa: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 90:de:80:87:9f:aa txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
开启wifi命令,然后扫描附近wifi节点
sudo nmcli r wifi on
sudo nmcli dev wifi
连接指定wifi
sudo nmcli dev wifi connect "SSID" password "PASSWORD" ifname wlx90de80879faa
这个命令会在/etc/NetworkManager/system-connections/创建连接文件。ifconfig命令查看ip地址与连接情况
ifconfig
wlx90de80879faa: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.43.59 netmask 255.255.255.0 broadcast 192.168.43.255
inet6 fe80::fc96:9749:ddd5:d8ca prefixlen 64 scopeid 0x20<link>
ether 90:de:80:87:9f:aa txqueuelen 1000 (Ethernet)
RX packets 52 bytes 5702 (5.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 16 bytes 2549 (2.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
新建热点
sudo nmcli device wifi hotspot ifname wlan0 con-name MyHostspot ssid MyHostspotSSID password 12345678
sudo nmcli connection modify MyHostspot connection.autoconnect yes
安装screen
sudo apt-get install screen
screen -ls #显示所有的screen
screen -S XX #创建一个名称为XX的screen
screen -r XX #进入名称为XX的screen
Ctrl+a d #退出当前窗口
killall screen #关闭所有screen
screen -dmS XX #创建一个名称为XX的screen不显示
退出当前活动的终端窗口,并结束所有在该窗口中运行的进程
screen -ls | grep [session_id] | cut -d. -f1 | xargs kill
-ls: 列出所有screen
grep: 搜索需要关闭的screen
cut: -d. 已‘.’为分隔符,-f1 取第一端内容,也就是取会话的PID
xargs: 将pid号传递给kill
使用串口安装 pyserial
首先打开串口配置文件,按需加入需要启用的串口号overlays=uart0-m2 uart1-m1 uart3-m0 uart4-m0重启
sudo vim /boot/orangepiEnv.txt
我启用了uart0使用ls查看一下
ls /dev/ttyS*
/dev/ttyS0 /dev/ttyS9
安装serial模块
pip install pyserial
测试一下
import serial
uart = serial.Serial(port="/dev/ttyS0", baudrate=115200)
data = 'hello word'
uart.write(data.encode('utf-8'))
print('now receive data...')
rec = uart.readline()
rec = rec.decode('utf-8')
print('receive data is ',rec)
将当前用户添加到 dialout 组中,该组具有访问串口设备的权限
sudo usermod -a -G dialout $USER
使用i2c安装 smbus2
在/boot/orangepiEnv.txt 中加入下面的配置,然后重启 Linux 系统就
可以同时打开 i2c1、i2c3 和 i2c5,如果只需要打开一个,我打开了i2c5-m3,那么就填写一个即可
sudo vim /boot/orangepiEnv.txt
overlays=i2c1-m2 i2c3-m0 i2c5-m3
我启用了i2c-5,使用ls查看一下
ls /dev/i2c*
/dev/i2c-0 /dev/i2c-2 /dev/i2c-6 /dev/i2c-9
/dev/i2c-10 /dev/i2c-5 /dev/i2c-7
修改i2c权限
sudo chmod 777 /dev/i2c-5
然后使用 i2cdetect -y 5 命令如果能检测到连接的 i2c 设备的地址,就说明 i2c 能正
常使用
pythone使用i2c的库是smbus2,使用下面命令安装
pip install smbus2
安装ADS1115库
pip install ADS1115
执行下面程序就会打四个通道的adc值
import ADS1115
import time
import numpy
volt = [0,0,0,0]
ads = ADS1115.ADS1115() #进入修改self.i2c = smbus2.SMBus(要使用的i2c)
while True:
for i in range(4):
volt[i] = ads.readADCSingleEnded(i)
time.sleep(0.02)
print(volt)
## 安装tkinter
导入tkinter包报错ModuleNotFoundError: No module named 'tkinter',原因是没有安装tkinter包
```python
import tkinter as tk
使用下面命令安装
sudo apt-get install python3-tk
ImageTk模块缺失
从PIL包导入ImageTK模块报错ImportError: cannot import name ‘ImageTk’ from ‘PIL’
from PIL import ImageTk
安装缺失模块
sudo apt-get install python3-pil python3-pil.imagetk
安装mpv播放器
pip直接安装
pip install mpv
打开配置文件将vo=xv 改为vo=x11
vim /etc/mpv/mpv.conf
udp无延时拉流
mpv --profile=low-latency --untimed udp://127.0.0.1:1234
使用gstreamer推流
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=640,height=480,framerate=30/1 ! videoconvert ! video/x-raw,format=NV12 ! mpph264enc ! queue ! udpsink host=10.42.0.1 port=1234