无线计划¶
因为最近在寝室远程连接电脑进行开发或者文档的编写,需要多台设备连网。但是由于学校"神奇"的网络状况,每个人只能有一个在线设备,且没有有线宽带。
与其找一台pc
连接wifi
再用软件开热点,效果并不好,且稳定性较差。于是想到的解决方案是将树莓派连接wifi,即树莓派的wifi作为wlan口,再将网络数据转发给树莓派的lan口,最后通过路由器做AP将rj45传来的数据做共享wifi。
步骤:
- 配置网桥
sudo apt install bridge-utils #安装网桥管理工具
brctl addbr br-lan
brctl addif br-lan eth0
ifconfig br-lan 192.168.3.1 up #192.168.3.1就是树莓派在整个扩展网络中的地址
ifconfig eth0 0.0.0.0 up
-
配置IP转发
一般的Linux发行版默认都不会开启ip_forward,因为正常的计算机都是作为终端,没有转发数据报的需求,因此需要手动打开。
vim /etc/sysctl.conf + net.ipv4.ip_forward = 1 #或 sysctl net.ipv4.ip_forward = 1
-
配置iptables
想让内网的所有设备共享一个IP,需要在wlan0网口启用nat。
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
-
安装DHCP/DNS服务器
apt install dnsmasq -y vim /etc/dnsmasq.conf +'dhcp-range=192.168.3.50,192.168.3.150,255.255.255.0,12h' >> /etc/dnsmasq.conf #这里IP的网段跟之前配置的需要一致
-
设置开机自启
新建如下脚本:
#!/bin/bash brctl addbr br-lan brctl addif br-lan eth0 ifconfig br-lan 192.168.3.1 up #这里的地址随便,和Wan侧不在一个网段就行 ifconfig eth0 0.0.0.0 up sysctl net.ipv4.ip_forward=1 iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
使用
vim /usr/lib/systemd/system/<自定义>.service
命令创建执行计划[Unit] Description=autostart [Service] Type=oneshot ExecStart=/home/pi/<上一步骤中脚本的名字>.sh [Install] WantedBy=multi-user.target
执行
systemctl enable autostart.service
顺风耳¶
列出所有的录音设备:
arecord -l
列出所有的播放设备:
aplay -l
千里眼¶
针对USB的免驱摄像头,推荐拍照使用fswebcam
,摄像使用luvcview
。
5寸触摸屏¶
硬件连接
- 连接GPIO接口 Raspberry Pi引出了40个GPIO管脚,而屏幕引出了26个管脚,连接时注意对应屏幕管脚和树莓派管脚。
- 连接HDMI接口。把HDMI连接器接入屏幕和主板的HDMI接口。 Raspberry Pi Model B与Raspberry Pi Zero需另配HDMI连接线进行连接。
- 把LCD背后的Backlight拨到“ON”。
在config.txt
文件中添加
max_usb_current=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt 800 480 60 6 0 0 0
hdmi_drive=1
下载驱动程序:
git clone https://github.com/waveshare/LCD-show.git
cd LCD-show/
sudo ./LCD5-show
Barrier¶
安装Barrier:sudo apt install barrier
自启动:在~/.config/autostart/
下新建文件barrier.desktop
,添加如下字段:
[Desktop Entry]
Type=Application
Name=barrier
NoDisplay=false
Exec=/usr/bin/barrier