无线计划¶
因为最近在寝室远程连接电脑进行开发或者文档的编写,需要多台设备连网。但是由于学校"神奇"的网络状况,每个人只能有一个在线设备,且没有有线宽带。
与其找一台pc连接wifi再用软件开热点,效果并不好,且稳定性较差。于是想到的解决方案是将树莓派连接wifi,即树莓派的wifi作为wlan口,再将网络数据转发给树莓派的lan口,最后通过路由器做AP将rj45传来的数据做共享wifi。
步骤:
- 配置网桥
1 | sudo apt install bridge-utils #安装网桥管理工具 |
-
配置IP转发
一般的Linux发行版默认都不会开启ip_forward,因为正常的计算机都是作为终端,没有转发数据报的需求,因此需要手动打开。
1
2
3
4vim /etc/sysctl.conf
+ net.ipv4.ip_forward = 1
或
sysctl net.ipv4.ip_forward = 1 -
配置iptables
想让内网的所有设备共享一个IP,需要在wlan0网口启用nat。
1
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
-
安装DHCP/DNS服务器
1
2
3apt 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的网段跟之前配置的需要一致 -
设置开机自启
新建如下脚本:
1
2
3
4
5
6
7!/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命令创建执行计划1
2
3
4
5
6
7[Unit]
Description=autostart
[Service]
Type=oneshot
ExecStart=/home/pi/<上一步骤中脚本的名字>.sh
[Install]
WantedBy=multi-user.target执行
systemctl enable autostart.service
顺风耳¶
列出所有的录音设备:
1 | arecord -l |
列出所有的播放设备:
1 | 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文件中添加
1 | max_usb_current=1 |
下载驱动程序:
1 | git clone https://github.com/waveshare/LCD-show.git |
Barrier¶
安装Barrier:sudo apt install barrier
自启动:在~/.config/autostart/下新建文件barrier.desktop,添加如下字段:
1 | [Desktop Entry] |