Моя Система Домашней Автоматизации. Создание Образа Операционной Системы

Вводная часть Установка системы на Raspberry Pi 2.3 Опишу самый простой, на мой взгляд, способ для новичков.

Все действия будут происходить в Ubuntu 18.04. Для помощи с командами используйте команду «man» + нужная команда.

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
   

man ls

Или требуемую команду с ключом --help

ls --help

1. Установка операционной системы Raspbian Stretch Lite на карту microSD. Карта microSD должна быть класса 10 и иметь емкость не менее 8 гигабайт. Вставьте SD-карту в компьютер и введите команду:

lsblk



Моя система домашней автоматизации.
</p><p>
 Создание образа операционной системы

В примере карта определена как mmcblk0, дальше я буду использовать это имя.

Затем, чтобы очистить карту от ранее записанной информации (позже мы сделаем образ диска), нужно стереть ее командой:

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

Данная команда требует прав суперпользователя, для этого нужно в начале добавить ключевое слово "судо" .

Здесь и ниже я даю команды без судо .

При вводе команд используйте автодополнение (клавиша Tab) это необходимо для контроля правильности ввода команд и путей к файлам.

Пока команда работает, вы можете скачать последний дистрибутив операционной системы.

Скачать отсюда: 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

Это необходимо для работы ssh-сервера на Raspberry. Карту необходимо безопасно извлечь, вставить в Raspberry, подключить и включить питание.

Если нет блока питания на 2 ампера, то можно запитать от компьютера через USB3. При первой загрузке система увеличит размер дисков до размера карты, это займет некоторое время.

Для того, чтобы узнать IP-адрес нашего RPi, можно воспользоваться утилитой «arp-scan».

Если он не установлен, установите:

apt install arp-scan

Узнаем название нашей сетевой карты:

ip a

или

netstat -i



Моя система домашней автоматизации.
</p><p>
 Создание образа операционной системы

У меня есть карта Wi-Fi с именем wlp1s0. Запустите arp-сканирование:

arp-scan -I wlp1s0 -l



Моя система домашней автоматизации.
</p><p>
 Создание образа операционной системы

Мне нужен RPi с IP 192.168.0.114, адрес назначается по DHCP и может быть любым.

Вход в RPi через ssh:

ssh [email protected]

нужно войти да при первой идентификации, затем введите пароль пользователя pi - малина .

Если нам удалось войти в Raspberry, вводим команду:

init 0

Эта команда отключает RPi. Вам необходимо повторно вставить карту в компьютер.

Теперь вам понадобится программа «gparted»; если он не установлен, установите:

apt install gparted

Запустим gparted, нам нужно изменить размер диска mmcblk0p2, оставить в конце неразмеченную область 300-500 мегабайт или 2-3% от размера карты, это нужно для того, чтобы наш образ поместился на картах разных производителей , и они могут различаться по размеру.

Результат должен выглядеть примерно так:

Моя система домашней автоматизации.
</p><p>
 Создание образа операционной системы

После окончания работы с gparted вы можете сделать резервную копию карты, чтобы в случае проблем в дальнейших экспериментах у вас был готовый образ.



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

Теперь мы всегда можем восстановить наш диск командой:

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

В результате мы имеем карту microSD с готовой к использованию операционной системой и ее резервную копию.

2. Настройка Raspbian Stretch Lite. Войдите в RPi через ssh. Чтобы настроить статические адреса проводной сети и Wi-Fi, вам необходимо добавить следующие настройки в конец файла /etc/dhcpcd.conf: интерфейс eth0 статический ip_адрес=192.168.0.10/24 статические маршрутизаторы = 192.168.0.1 статическое имя_домена_серверы=8.8.8.8, 8.8.4.4 интерфейс wlan0 статический ip_адрес=192.168.0.10/24 статические маршрутизаторы = 192.168.0.1 статическое имя_домена_серверы=8.8.8.8, 8.8.4.4 С этими настройками RPi будет иметь один и тот же IP-адрес в проводной сети или сети Wi-Fi. Файл для настройки wifi — /etc/wpa_supplicant/wpa_supplicant.conf добавьте в него следующие настройки: сеть={ ссид="ИМЯ" пск="ПАСС" } где NAME и PASS — имя и пароль для сети Wi-Fi. Если заранее неизвестно, где будет использоваться наш RPi, то имя и пароль можно будет ввести позже.

Добавляем задачи в программу cron

crontab -e

При первом запуске вам нужно будет выбрать текстовый редактор, наиболее привычным будет nano.

Моя система домашней автоматизации.
</p><p>
 Создание образа операционной системы

Для того, чтобы расписания работали, добавьте следующие настройки: ПУТЬ=/usr/sbin:/usr/bin:/sbin:/bin SHELL=/bin/bash А в самих задачах мы будем фиксировать время каждой загрузки и продолжительность непрерывной работы, это будет полезная информация в дальнейшем.

перезагрузить спать 60 && дата > > my-reboot.txt @еженедельное время работы > > my-uptime.txt Для выхода используется комбинация клавиш Ctrl+x, Y, Enter. Часовой пояс настраивается командой:

dpkg-reconfigure tzdata

Чтобы увеличить ресурс SD-карты, можно прекратить логирование и удалить файл подкачки: (Думаю, это должно снизить вероятность сбоя SD-карты или повреждения данных при внезапном отключении RPi во время работы):

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



Моя система домашней автоматизации.
</p><p>
 Создание образа операционной системы

В адресной строке браузера введите IP-адрес RPi 192.168.0.10:1880.

Моя система домашней автоматизации.
</p><p>
 Создание образа операционной системы

Завершите работу с 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



Моя система домашней автоматизации.
</p><p>
 Создание образа операционной системы

Он запустится с настройками по умолчанию, и вы сможете добавить новое устройство в приложении «Дом» на своем iPhone или iPad. Пользовательский пароль Пи Оставим нынешний.

Теперь, когда все установлено и проверено, нам нужно сделать резервную копию нашей SD-карты так же, как и раньше.

Теперь все готово для установки системы автоматизации.

Теги: #linux #Разработка на Raspberry Pi #Умный дом

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.