树莓派集合

须知

  • 架构 armv6l

设置镜像源

安装openrestry

# 建立ssh
ssh -N -f  -R 0.0.0.0:10022:127.0.0.1:22 server_ly2
# 映射网站
ssh -N -f -R 127.0.0.1:8001:127.0.0.1:8001 server_ly2

autossh 内外穿透

命令行连接wifi

安装homebrage系列

sudo apt-get install gcc
curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash - 
sudo apt-get install -y nodejs
sudo apt-get install libavahi-compat-libdnssd-dev
sudo npm install -g --unsafe-perm homebridge
sudo npm install -g --unsafe-perm homebridge-mi-aqara

homebridge-homeassistant

sudo npm install -g homebridge-homeassistant

安装homeassistant

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install python3 python3-venv python3-pip
cd ~
mkdir -p srv/homeassistant
cd srv/homeassistant
python3 -m venv .
source bin/activate
pip3 install homeassistant
hass --open-ui
等待几分钟让后台下载依赖,之后你便可以从局域网内任意终端浏览器访问 http://树莓派的 IP 地址:8123,进入 Home Asssitant

设置systemctl

vim /lib/systemd/system/homeassistant.service
[Unit]
Description=HomeAssistant
After=network-online.target

[Service]
Type=simple
User=%i
ExecStart=/home/pi/srv/homeassistant/bin/hass -c "/home/pi/.homeassistant"
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

设置时区

~/.homeassistant/configuration.yaml中time_zone 设置为 Asia/Shanghai

安装docker

更新

由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书

sudo apt-get update

sudo apt-get install \
     apt-transport-https \
     ca-certificates \
     curl \
     gnupg2 \
     lsb-release \
     software-properties-common

添加GPG

$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/raspbian/gpg | sudo apt-key add -

# 官方源
# $ curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo apt-key add -

source.list添加源

如果失败可以自己再 /etc/apt/souce.list中添加 ,注意 $(lsb_release -cs) 变量要替换

$ sudo add-apt-repository \
    "deb [arch=armhf] https://mirrors.ustc.edu.cn/docker-ce/linux/raspbian \
    $(lsb_release -cs) \
    stable"

# 官方源
# $ sudo add-apt-repository \
#    "deb [arch=armhf] https://download.docker.com/linux/raspbian \
#    $(lsb_release -cs) \
#    stable"

安装

sudo apt-get update

sudo apt-get install docker-ce

产考文章

frp内外穿透

frps是服务端 frpc是客户端

配置服务端

sudo wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz
配置frps.ini
[common]
#frp服务器监听地址,如果是IPV6地址必须用中括号包围
bind_addr = 0.0.0.0
#frp服务器监听端口
bind_port = 7000

#kcp的udp监听端口,如果不设那就不启用
#kcp_bind_port = 7000
#指定使用的协议,默认tcp,可选kcp
#protocol = kcp

#如果要使用vitual host,就必须设置,这个port是访问你域名后面加上的端口号
vhost_http_port = 8123
#vhost_https_port = 443

#Web后台监听端口
dashboard_port = 7500

#Web后台的用户名和密码
dashboard_user = root
dashboard_pwd = root

#Web后台的静态资源目录,调试用的,一般不设
#assets_dir = ./static

#日志输出,可以设置为具体的日志文件或者console
log_file = /var/log/frps.log

#日志记录等级,有trace, debug, info, warn, error
log_level = info
#日志保留时间
log_max_days = 3

#启用特权模式,从v0.10.0版本开始默认启用特权模式,且目前只能使用特权模式
#privilege_mode = true

#特权模式Token,请尽量长点且复杂
privilege_token = 12345678

#特权模式允许分配的端口范围
privilege_allow_ports = 2000-3000,3001,3003,4000-50000

#心跳超时,不用改
#heartbeat_timeout = 90

#每个代理可以设置的连接池上限
#max_pool_count = 5

#认证超时时间,一般不用改
#authentication_timeout = 900

#如果配置了这个,当你的模式为http或https时,就能设置子域名subdomain
#subdomain_host = frps.com

#是否启用tcp多路复用,默认就是true,不用管
#tcp_mux = true

增加systemctl

sudo vim /lib/systemd/system/frps.service

[Unit]
Description=frps
After=network.target

[Service]
TimeoutStartSec=30
ExecStart=/usr/local/frps/frps -c /usr/local/frps/frps.ini
ExecStop=/bin/kill $MAINPID
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

启动

sudo systemctl daemon-reload
sudo systemctl start frps
sudo systemctl status frps
sudo systemctl enable frps

配置客户端

下载安装
sudo wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_arm.tar.gz

配置文件

[common]
#frp服务器地址
server_addr = 0.0.0.0
#frp服务器端口
server_port = 7000
#特权模式Token
privilege_token = 12345678

#转发Web
#[web]
#type = http
#local_port = 8123
#custom_domains = xxxx
#修改header中的host
#host_header_rewrite = dev.yourdomain.com
#启用简单HTTP认证
#http_user = abc
#http_pwd = abc
#在服务端配置了subdomain_host的情况下用于自定义二级域名
#subdomain = test

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = remote_port

增加systemctl

sudo vim /lib/systemd/system/frpc.service

[Unit]
Description=frpc
After=network.target

[Service]
TimeoutStartSec=30
ExecStart=/usr/local/frpc/frpc -c /usr/local/frpc/frpc.ini
ExecStop=/bin/kill $MAINPID
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

启动

sudo systemctl daemon-reload
sudo systemctl start frpc
sudo systemctl status frpc
sudo systemctl enable frpc

ssh连接

ssh -oPort=remote_port_number pi@your_server_ip

不过我觉得 有两点很不好.. 需要暴露 7000 端口和remore_port端口

参考文章

google二步认证

aria2文件下载器

挂载U盘

为什么不挂载移动硬盘呢,因为读不出来 哈哈哈

检查硬盘(以下是相关命令)

sudo lsusb
sudo mount -l
sudo fdisk -l
sudo df
# 强制解除挂载
sudo umount -l /media/pi/AILUIOY

参考文章

使用shadowsocks代理流量

安装

sudo apt-get install shadowsocks
sudo apt-get install privoxy

shadowsocks-libev

sudo apt install shadowsocks-libev

# Start
sudo systemctl start shadowsocks-libev.service
# Stop
sudo systemctl stop shadowsocks-libev.service
# Restart
sudo systemctl restart shadowsocks-libev.service

启动 shadowsocks

sudo /usr/bin/sslocal -c /etc/shadowsocks/config.json -d start

集成darksky天气

申请apikey

如果请求次数超过1000次的话.他们是要收费的

设置configuration.yaml

sensor:
  - platform: darksky
    api_key: api_key
    # 监测内容,可选
    monitored_conditions:
        - summary    #概述
        - precip_type    #降水类型
        - precip_intensity    #降水强度
        - precip_probability    #降水可能性
        - temperature    #当前温度
        - apparent_temperature    #体感温度
        - dew_point    #露点
        - wind_speed    #风速
        - wind_bearing    #风向
        - cloud_cover    #云量
        - humidity    #湿度
        - pressure    #海平面气压
        - visibility    #能见度
        - ozone    #臭氧浓度
        - minutely_summary    #未来 1 小时概述
        - hourly_summary    #明日概述
        - daily_summary    #未来7日概述
        - temperature_max    #最高温
        - temperature_min    #最低温
        - apparent_temperature_max    #最高体感温度
        - apparent_temperature_min    #最低体感温度
        - precip_intensity_max    #今日预估最大降雨量
        - uv_index    #紫外线强度
    units: auto #单位,可选,默认 auto
    update_interval: 00:02 #数据更新时间间隔,默认 2 分钟

重启服务

  • 这里在安装python-forecastio可能会报503错误.所以这里最好使用代理,能访问国外网络

参考文章