通过网络分享连接树莓派
- 确保一台能上网的主机
- 把已经连接的网络通过想要共享的形式共享出去
- 开启共享前后的本机 ipv4
- 开启共享前后的局域网内 ip 变化
- 我这里之前是连接过了,有缓存记录了,未连接过的情况下,新分配的 ip 就是新连接的设备所属 ip
- 然后通过 SSH 连接树莓派即可
- 树莓派默认用户名 pi , 密码 raspberry
查看树莓派基本信息
pinout
查看针脚等基本硬件信息vcgencmd measure_temp
查看 cpu 温度cat /proc/cpuinfo
查看 cpu 信息lscpu
free -h
查看内存lsblk
查看磁盘df -hT
date
查看时间cat /proc/device-tree/model
查看树莓派型号getconf LONG_BIT
查看树莓派系统位数file /bin/ls
lsusb
查看 usblsmod
查看其他硬件vcgencmd get_config arm_freq
查看 CPU 的时钟频率cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
dmesg | more
查看更多硬件信息ifconfig
查看 ipsudo ifconfig wlan0 down
关闭 wlansudo ifconfig wlan0 up
Windows 远程桌面连接
sudo apt-get purge tightvnc xrdp
先删除之前系统自带的 xrdp 和 tightvncsudo apt-get install tightvncserver xrdp
重新安装sudo apt update && sudo apt upgrade
如果有错误可以执行这个然后 Win+r , 输入 mstsc
- 接着在远程桌面连接窗口输入 树莓派 ip , 账户密码
- 树莓派——xrdp win10远程登录以及蓝屏问题
开启 SSH
已连接树莓派
sudo raspi-config
- interfacing Options
未连接树莓派
- 在内存卡根目录新建 SSH 文件,无后缀
设置 mariadb 远程连接
👉 树莓派4 官方系统 安装mysql
👉 解决MariaDB无法远程连接
开启远程 FTP
sudo apt-get install vsftpd
sudo service vsftpd start
sudo nano /etc/vsftpd.conf
赋予上传权限 “write_enable=YES”sudo /etc/init.d/vsftpd restart
FTP 开放 root 连接
nano /etc/ftpusers
注释 root 即可
树莓派磁盘没有占满整个 SD 卡
df -h
sudo fdisk -l
- 看到了 SD 卡的磁盘空间
sudo fdisk /dev/mmcblk0
sudo reboot
sudo resize2fs /dev/mmcblk0p2
更新硬盘大小df -h
- 上面操作不行的话就切换到管理员用户
sudo su
,再试一次
👉 解决树莓派磁盘没有占满整个sd卡的方法
👉 充分使用树莓派SD卡容量
修正时间
date
sudo dpkg-reconfigure tzdata
选择时区sudo date --s="2019-11-27 14:54:00"
强制手动修正
离线安装 Redis
- 下载 arm 架构的安装包
- ftp 到树莓派里
1
2
3
4
5tar xzf 4.0-rc2.tar.gz
cd redis-4.0-rc2
make
make install
redis-server
设置 Redis 远程连接
- 我这里是修改了 Redis 压缩包解压后的文件里面的 redis.conf
- 进入解压后的 Redis 文件目录下 读取该目录下的配置启动 Redis
redis-server redis.conf
redis 启动后,到本地测试连接- 再用可视化客户端测试一下
👉 redis设置远程连接
Linux 切换用户
sudo su
切换成 rootsu [username]
切换成其他用户,如:sudo pi
- 👉 初次使用树莓派并启用root管理员
sudo passwd root
设置 root 用户密码sudo passwd --unlock root
解锁 root 用户
不同网段问题
- 当前内网的网段为 172
- 而新接入的交换机和树莓派的网段为 192
- 需要在网络连接的以太网 ipv4 里设置 192 网段 , 如 192.168.137.1 来访问树莓派
- 切换回内网需要切换为 172 网段 或者 设置自动获取ip
离线安装 pip 包
pip3 freeze >requirements.txt
在已安装好包的设备上导出依赖列表pip3 download -r requirements.txt -d -d E:\a\
下载到对应目录- 用 FTP 把包传到离线的设备上
pip3 install ./*
进入包目录安装全部或者选择安装
查看 apt-get 已安装的程序
dpkg --get-selections | grep nginx
dpkg -i | grep '^ii'
sudo apt-get install aptitude
或者使用这个工具sudo aptitude
Nginx 无法正常工作相关
- 树莓派上 apt-get 安装的 nginx 的默认配置文件内容很少,从其他设备安装 nginx 然后把配置文件复制过来
- 主要配置就是把通过默认nginx 80 端口的请求转发到自己定义的 upstream 里
添加多个服务,配置权重就可以实现负载均衡,就是请求一个地址,按照权重轮询服务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26upstream hgo {
server 127.0.0.1:5000 weight=10;
server 127.0.0.1:2021 weight=10;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
proxy_pass http://hgo;
}
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}nginx
启动nginx -s reopen
重启nginx -s reload
热加载nginx -t
检查配置文件是否合法nano /etc/nginx/nginx.conf
我的树莓派 nginx 配置文件地址nano /etc/nginx/sites-available/default
这里也有个配置文件Nginx启动报错[emerg] getpwnam(“nginx”) failed
groupadd nginx
useradd -g nginx nginx -s /sbin/nologin
谷歌 chromium 版本更换
- 为了使 chromedriver 和 chromium 版本一致
sudo apt-get install chromium-browser
更新最新chromium-browser --version
- 👉 mirrors.tuna.tsinghua.edu.cn
sudo apt-get install chromium-chromedriver
最终要使两者版本一致
设置静态ip
route -n
找到网关cat /etc/resolv.conf
找到 DNSsudo nano /etc/dhcpcd.conf
在末尾写入1
2
3
4
5interface eth0
inform 192.168.137.200/24
static routers=192.168.137.1
static domain_name_servers=192.168.137.1
noipv6还可以点击桌面右上角的网络连接进去设置
设置 wifi 连接
- Pi 4B - ‘No wireless interfaces found’
- 找不到 wifi 图标
sudo apt-get install wicd
sudo reboot
- 进入桌面设置 wifi 连接
- 👉 Raspberry Pi 3 - WiFi Stopped Working - How to debug and fix without restarting
Docker 安装 mongodb
docker search rpi-mongodb3
docker pull andresvidal/rpi3-mongodb3
mkdir ~/db/mongo
创建数据目录docker run -d --name rpi-mongodb3 -v /home/pi/db/mongo:/data.db -p 27017:27017 andresvidal/rpi3-mongodb3 mongod
- 默认无账户密码
apt-get Sub-process /usr/bin/dpkg returned an error code (1)
1
2
3
4
5
6
7
8cd /var/lib/dpkg/
sudo mv info/ info_bak # 现将info文件夹更名
sudo mkdir info # 再新建一个新的info文件夹
sudo apt-get update # 更新
sudo apt-get -f install # 修复
sudo mv info/* info_bak/ # 执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_bak文件夹下
sudo rm -rf info # 把自己新建的info文件夹删掉
sudo mv info_bak info # 把以前的info文件夹重新改回名
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
sudo gpasswd -a $USER docker
reboot
- docker默认只允许root用户连接,添加当前用户即可
重装 raspberry 系统
换下载源
- 👉 根据架构和版本更换源
cat /etc/debian_version
对应 Debian版本编号1
2
3
4
5
6
7Debian 10(buster)
编辑 `/etc/apt/sources.list` 文件,删除原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
编辑 `/etc/apt/sources.list.d/raspi.list` 文件,删除原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
SSH 认证更新
1 | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
- 到对应目录下把当前 SSH 要访问的地址信息删除,重新连接即可
修改 host
sudo nano /etc/hosts
- 查看域名对应 IP 👉 ipaddress
1
199.232.68.133 raw.githubusercontent.com
Java JDK
Portainer
1 | sudo curl -sSL https://get.docker.com | sh |
- 浏览器输入 ip:9000
- 👉 树莓派上 Docker 的安装和使用
Pi dashboard 树莓派监控页面
sudo apt update
sudo apt install docker
sudo docker run -d --name docker-pi-dashboard -e 'LISTEN=1024' --net=host ecat/docker-pi-dashboard
- 浏览器输入 ip:1024
- 👉 一行命令部署pi dashboard
Netdata
1 | sudo docker run -d --name=netdata \ |
Docker ARM MySQL
docker pull hypriot/rpi-mysql
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=1234 -d -p 12345:3306 hypriot/rpi-mysql
- root,1234 登录
Redis
sudo apt-get install redis-server
sudo vim /etc/redis/redis.conf
- 注释掉
bind 127.0.0.1 ::1
- 设置 protected-mode=no 即可远程连接
- 注释掉
- 找到
requirepass
设置密码, 如requirepass elias
/etc/init.d/redis-server restart
重启 redisredis-cli
进入 redisauth elias
验证密码keys *
成功进入- 👉 树莓派安装redis
- 👉 Another Redis Desktop Manager