RaspberryPi_麻雀虽小(持续更新)

awesome-raspberry-pi

RaspberryPi 官网文档 圣经

Catalog

1.关于系统
2.关于硬件
3.正确打开方式,树莓派的功能

关于系统

PiKISS 带菜单的脚本,帮你安装软件,让你的生活更轻松

RaspberryPi 4B 参数

linux下烧写与备份系统

镜像烧写:
df -h 查找哪个设备是SD卡
为了避免其它设备操作内存卡,先卸载设备
umount /dev/sdb1
烧写系统:
sudo dd bs=4M if=2018-10-09-raspbian-stretch.img of=/dev/sdb

bs代表一次写入多大的块,是blocksize的缩写,4M一般都没问题,如果不行,试试改成1M,if参数为下载的镜像的路径(应该是input file缩写),of后参数为设备地址(应该是output file的缩写,linux上一切都是文件)

镜像备份:
sudo dd if=/dev/sdb | gzip>/home/ubuntu/raspi/raspberry_v1.0.gz
这个命令可以在复制镜像的时候同时进行压缩。

镜像恢复:
首先使用fdisk命令对SD卡进行格式化
sudo fdisk /dev/sdb, 里面的commond 选p
dd命令写入前面备份过的镜像
sudo gzip -dc /home/ubuntu/raspi/raspberry_v1.0.gz | sudo dd of=/dev/sdb

换源

https://mirror.tuna.tsinghua.edu.cn/help/raspbian/

1
2
3
4
5
6
# 编辑 `/etc/apt/sources.list` 文件,删除原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib

# 编辑 `/etc/apt/sources.list.d/raspi.list` 文件,删除原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

注意:网址末尾的raspbian重复两次是必须的。因为Raspbian的仓库中除了APT软件源还包含其他代码。APT软件源不在仓库的根目录,而在raspbian/子目录下。

连接WIFI

sudo iwlist wlan0 scan扫描wifi

wpa_supplicant.conf配置文件连接 WiFi 设备

https://shumeipai.nxez.com/2017/09/13/raspberry-pi-network-configuration-before-boot.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid="WiFi-A"
psk="12345678"
key_mgmt=WPA-PSK
priority=1
}

network={
ssid="WiFi-B"
psk="12345678"
key_mgmt=WPA-PSK
priority=2
scan_ssid=1
}

说明以及不同安全性的 WiFi 配置示例:
ssid: 网络的 ssid
psk: 密码
priority: 连接优先级,数字越大优先级越高(不可以是负数)
scan_ssid: 连接隐藏WiFi时需要指定该值为1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 如果你的 WiFi 没有密码
network={
ssid="你的无线网络名称(ssid)"
key_mgmt=NONE
}
# 如果你的 WiFi 使用WEP加密
network={
ssid="你的无线网络名称(ssid)"
key_mgmt=NONE
wep_key0="你的wifi密码"
}
# 如果你的 WiFi 使用WPA/WPA2加密
network={
ssid="你的无线网络名称(ssid)"
key_mgmt=WPA-PSK
psk="你的wifi密码"
}

mac 备份树莓派镜像

列出连接到小派上的卡
sudo fdisk -l
或者
sudo diskutil list
备份img
sudo dd if=/dev/disk2 of=raspi_20200117.img

烧录img
需要卸载Disk2,再烧录
sudo diskutil umountDisk /dev/disk2
sudo dd bs=4m if=raspi_20200117.img of=/dev/disk2

多虚拟域名

sudo vi /etc/hosts

然后新建一个网站

VirtualHost80

sudo cp /etc/apache/site-avaliable/000-default.conf /etc/apache/site-avaliable/ctf.conf
配置ctf.conf
sudo a2ensite ctf.conf激活站点配置(其实是建立一个软连接)

a2ensite可以激活apache文件夹下sites-available里包含配置文件的站点,a2dissite的作用正好相反。

重新加载apache配置文件
sudo /etc/init.d/apache2 reload

android 连接 raspberryPi 工具

raspberry-pi-os 树莓派与操作系统(自制树莓派操作系统)

自制桌面快捷方式

1
2
3
4
5
6
7
➜  Desktop cat hamclock.desktop 
[Desktop Entry]
Name=HamClock
Exec=/bin/sh -c 'sleep 2; /usr/local/bin/hamclock'
Icon=/home/pi/.hamclock/hamclock.png
Terminal=false
Type=Application

AP

无线接入点

无线接入点(桥接模式)

web service

apache2 & php7.3

直接看官方文档

nginx & php7.3

参考这篇

中间的配置部分改成这个:

1
2
3
4
5
6
7
8
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}

关于硬件

显示器关闭和开启

请务必使用 vcgencmd 命令

1
2
3
4
➜  ~ vcgencmd display_power 0 7	# 关闭
display_power=0
➜ ~ vcgencmd display_power 1 7 # 开启
display_power=1

tvservice 命令关闭显示器会破坏帧缓冲区,导致空白屏幕: https://www.raspberrypi.com/documentation/computers/os.html#tvservice

防止显示器睡眠

DDC 显示器控制

ddcutil 使用的是这个工具

ddcutil 无法与 vcgencmd 和 tvservice 一起使用

教程:

树莓派4B遇到了问题

引脚焊接

  • UART (白)通用异步接收器和发送器接口(与其他设备的通信接口)
  • ADC(黄) 数模转换接口
  • SPI (深蓝)三线式串行外设接口(高速的,全双工,同步的通信接口)
  • I2C (无)两线式串行接口

参考:

SPI、I2C、UART(即串口)三种串行总线详解

SPI UART区别是什么

4B 安装 wiringPi

1
2
3
4
cd /tmp
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v

Python中控制树莓派引脚的模块

1
2
3
4
5
6
7
8
9
10
11
12
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(2,GPIO.OUT)
while True:
print('1')
GPIO.output(2,GPIO.HIGH)
print('2')
time.sleep(5)
print('3')
GPIO.output(2,GPIO.LOW)
time.sleep(5)

我的内网转发项目有树莓派版本里面加入了几个控制引脚使不同的灯亮的操作。可随时观察到项目是否正常运行😎。

解除电流设置

https://blog.csdn.net/huayucong/article/details/49338831

如果原系统没有解除USB电流限制,当USB供电设备过多时,可能会导致USB供电不足。

此时只需在/boot/config.txt文件中增加以下代码以解除USB电流限制即可:

1
max_usb_current=1

DHT11

https://github.com/szazo/DHT11_Python

2047573-20200609113309227-215222550

1
2
3
4
5
6
7
8
➜  ~ python3 test.py
Last valid input: 2022-04-23 16:44:04.920417
Temperature: 26.8 C
Humidity: 76.0 %
Last valid input: 2022-04-23 16:44:11.003934
Temperature: 26.8 C
Humidity: 76.0 %
^CCleanup

正确打开方式,树莓派的功能实施

Ubuntu树莓派

安装好后图形界面是会不兼容的,网上有修改系统的教程,我比较懒😅反正也不需要用图形界面。
初始安装
初始配置
虽然教程里出现了国内的源,不过我当时换的时候失败了。树莓派用其他系统换源一直是一个问题。

默认的登录账号密码是ubuntu/ubuntu(吐了每次都是这样,初始密码不知道)

树莓派网络存储(NAS),使用OpenMediaVault构建您自己的NAS

OpenMediaVault,是一个开源的基于 Debian Linux 的下一代网络附加存储(NAS)解决方案。它包含众多服务,如 SSH、(S)FTP、SMB / CIFS、DAAP 媒体服务器、RSync、BitTorrent 客户机等。并具有通过插件可增强的模块化设计框架特性。

下载地址(不知道为什么我在2020/02/16日再去看的时候没有找到适用于树莓派的img)
教程

安装好后

1
2
用户名:admin
密 码:openmediavault

修改密码的问题

post-bg-nas

Raspberry Pi 3 能够接受最高 5V,2.5A的功率,除去自身的功耗,能提供给USB设备的大概只有 5V,0.5A左右。
实测中,外接1个2.5寸移动硬盘没有问题,但是2个以上就拖不动了,想要多加硬盘,需要额外买一个提供电源的USB Hub。

树莓派智能家居

Home Assistant manual installation on a Raspberry Pi

官网的方法一直会出七七八八很奇怪的问题,这里有一个大神写的安装一键脚本。大神是真的牛逼,我成功了。

天猫精灵接入技能接官方通知,天猫精灵APP将于近期进行改版,改版后将按品牌进行技能展示。因为Home Assistant(下简称HASS)为开源平台,并非智能设备品牌,故使用论坛原创硬件品牌“HASSMART”来作为技能名称。同时由于服务对象为HASS用户,并非所有用户都使用HASSMART设备,故Logo仍沿用HASS官方Logo。

我还get到了一个汉化的Home Assistant安卓客户端安装包,有需要的可以私聊我。项目最后的成果(人一生不就图一成果❤️,手动滑稽)就是可直接唤醒天猫精灵打开智能设备或者通过手机Home Assistant Client客户端控制。我就不演示了,直接在B站里去搜“树莓派智能家居”一大堆视频。

树莓派魔镜

https://magicmirror.builders/

Toggle navigation MagicMirror ² Donate Repository Modules Forum Discord Blog MagicMirror ² The open source modular smart mirror platform. Open Source MagicMirror² is Open Source, free and maintained by a big group of enthusiasts. Got a nice idea? Send us a pull request and become a part of the big list of contributors. Go to the Repository » Modular The core of MagicMirror² contains a strong API which allows 3rd party developers to build additional modules. Modules you can use. Modules you can develop. Check out the Modules »

将Raspberry Pi用作无线访问点

https://thepi.io/how-to-use-your-raspberry-pi-as-a-wireless-access-point/

建立 Tor 路由

https://learn.adafruit.com/onion-pi/install-tor

Docker

Raspi Docker 安装教程: https://phoenixnap.com/kb/docker-on-raspberry-pi

注意: ARM 平台不能使用 x86 镜像,查看 Raspberry Pi OS 可使用镜像请访问 arm32v7 或者 arm64v8

PWN风扇

C 语言脚本

python 脚本

python 脚本2

SDR

软件无线电(监听)

https://www.zhihu.com/search?type=content&q=%E6%A0%91%E8%8E%93%E6%B4%BEsdr

PiFmAdv

发射 FM 频道(私人架设电台是违法行为,不能发射大功率的信号干扰正常的 FM 频段)

https://github.com/miegl/PiFmAdv

RPiPlay

树莓派 airplay

自动安装脚本:https://github.com/kirschem/install-rpiplay

docker:https://github.com/jhfdevelop/rpiplay_docker

流媒体服务器

https://github.com/balenalabs/balena-sound/

家庭服务器方案

  • 云盘
    • KodBox
  • 云笔记
    • Joplin
  • 视频储存
    • miniDLNA
  • 云相册
    • Piwigo

Link

树莓派全版本换源(多环境测试无误版)https://blog.csdn.net/Archger/article/details/104753113/
https://blog.csdn.net/zz531987464/article/details/83051955

Raspberry Pi台灣樹莓派