我的家庭自动化系统。 创建操作系统映像

引言

在Raspberry Pi 2.3上安装系统

我将为初学者描述最简单的方法。

所有操作将在Ubuntu 18.04中进行。

要获得有关命令的帮助,请使用“ man”命令+所需命令。

man ls 

或带--help键的必要命令

 ls --help 


1.在microSD卡上安装Raspbian Stretch Lite操作系统。

MicroSD卡应为10类,容量为8 GB。
将SD卡插入计算机并输入命令:

 lsblk 



在示例中,映射定义为mmcblk0,然后我将使用此名称。

然后,要清除卡上先前记录的信息(然后我们将制作磁盘映像),您需要使用以下命令将其擦除:

 dd if=/dev/zero of=/dev/mmcblk0 

该命令需要超级用户权限,为此,您需要在开头添加关键字“ sudo” 。 此后,我给出不带sudo的命令 。 输入命令时,请使用自动完成(制表键)来控制命令和文件路径的正确输入。 命令运行时,您可以下载操作系统的新发行版。

从这里下载: raspberrypi.org
我们需要Raspbian Stretch Lite。 解压缩下载的zip包,我们需要一个带有img扩展名的文件-这是我们将复制到卡上的磁盘映像。 因此,如果我们有磁盘映像并且dd命令已完成,则继续。

将图像复制到卡上:

 dd if=/path/to/raspbian.img of=/dev/mmcblk0 bs=4M status=progress 

完成后,输入命令:

 sync 

我们取出卡,然后插回去。

在地图的启动磁盘上创建一个空文件:

 touch /media/$USER/boot/ssh 

这是必要的,以便在Raspberry上启动ssh服务器。

该卡必须安全取出,插入Raspberry,连接到有线网络并通电。 如果没有2 apmera电源,则可以从具有USB3的计算机上为其供电。 第一次启动时,系统会将磁盘大小增加到卡的大小,这将需要一些时间。

为了找出我们RPi的IP地址,您可以使用arp-scan实用程序。 如果未安装,请设置:

 apt install arp-scan 

我们找出网卡的名称:

 ip a 



 netstat -i 



我有一个名为wlp1s0的wifi卡。

运行arp-scan:

 arp-scan -I wlp1s0 -l 



我需要一个IP为192.168.0.114的RPi,该地址由DHCP分配,可以是任何东西。

我们通过ssh转到RPi:

 ssh pi@192.168.0.114 

您需要在首次身份验证时输入yes ,然后输入pi- raspberry的密码。

如果我们成功登录到Raspberry,请输入以下命令:

 init 0 

该命令关闭RPi。

您需要将卡再次插入计算机。 现在我们需要“ gparted”程序,如果尚未安装,请设置:

 apt install gparted 

我们从gpart开始,您需要更改磁盘大小mmcblk0p2,最后留出300-500兆字节或卡大小的2-3%的未分配区域,这对于使镜像适合不同制造商的卡是必要的,并且它们的大小可能会有所不同。 结果应该是这样的:



完成gparted的工作后,您可以制作卡的备份副本,以便在以后的实验中遇到问题时,可以得到现成的图像。

 dd if=/dev/mmcblk0 | bzip2 > raspbian.bz2 

现在,我们始终可以使用以下命令还原磁盘:

 bzcat raspbian.bz2 | dd bs=4M of=/dev/mmcblk0 

结果,我们有了一个带有即用型操作系统的microSD卡及其备份副本。

2.配置Raspbian Stretch Lite。

我们通过ssh转到RPi。 要配置有线网络和wifi的静态地址,请将以下设置添加到/etc/dhcpcd.conf文件的末尾:

eth0接口
静态ip_address = 192.168.0.10 / 24
静态路由器= 192.168.0.1
静态domain_name_servers = 8.8.8.8,8.8.4.4
接口wlan0
静态ip_address = 192.168.0.10 / 24
静态路由器= 192.168.0.1
静态domain_name_servers = 8.8.8.8,8.8.4.4

使用这些设置,RPi在有线或wifi网络上将具有相同的IP。

用于配置wifi的文件-/etc/wpa_supplicant/wpa_supplicant.conf
向其中添加以下设置:

网络= {
ssid =“ NAME”
psk =“通过”
}
其中NAME和PASS用户名和密码来自wifi网络。 如果事先不知道在何处使用我们的RPi,则可以稍后输入名称和密码。

将任务添加到cron程序

 crontab -e 

首先,您将需要选择一个文本编辑器nano-最熟悉的。



为了使时间表生效,请添加以下设置:

PATH = / usr / sbin:/ usr / bin:/ sbin:/ bin
外壳= / bin / bash

和任务本身一样,我们将记录每次下载的时间和连续操作的持续时间,这将在将来有用。

重新启动睡眠60 &&日期>> my-reboot.txt
@每周正常运行时间>> my-uptime.txt

要退出,请按组合键Ctrl + x,Y,Enter

通过以下命令设置时区:

 dpkg-reconfigure tzdata 

要增加SD卡的资源,可以停止记录并删除交换文件:

(我认为这应减少操作期间突然关闭RPi时SD卡发生故障或数据损坏的可能性):

 apt update apt purge dphys-swapfile apt autoremove --purge apt install busybox-syslogd dpkg --purge rsyslog 

程序安装:

 apt install mosquitto mosquitto-clients sqlite3 libsqlite3-dev mc htop arp-scan vim supervisor python-pip python3-pip python-virtualenv python-dev 

 pip install psutil paho-mqtt pip3 install psutil paho-mqtt 

对于homekit2mqtt,您需要安装nodejs:

 curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - apt-get install -y nodejs 

检查安装的版本

 node -v nodejs -v 

安装节点红色:

 npm install -g --unsafe-perm node-red 

我们推出:

 node-red 



在浏览器的地址栏中,键入RPi的IP地址192.168.0.10:1880



完成node-red,按Ctrl + c,转到.node-red目录

 cd .node-red 

并安装用于node-red的软件包,它们可能是各种设备的测试,配置和通信所必需的。

 npm i node-red-dashboard node-red-contrib-sonos node-red-contrib-knx node-red-node-serialport node-red-contrib-globalcache node-red-contrib-counter 

我们回到主目录

 cd 

安装homekit2mqtt:

 apt install libavahi-compat-libdnssd-dev npm install -g homekit2mqtt --unsafe-perm 

您可以尝试使用以下命令运行homekit

 homekit2mqtt 



它将以默认设置开始,您可以在iPhone或iPad的Home程序中添加新设备。

密码pi将保留当前密码。

现在已经安装并验证了所有内容,您需要以与以前相同的方式备份我们的SD卡。 现在一切准备就绪,可以安装自动化系统。

Source: https://habr.com/ru/post/zh-CN446190/


All Articles