Linux

Как настроить BIND9 в качестве вторичного DNS-сервера в Ubuntu/Debian

Как настроить виртуальные хосты Nginx в Ubuntu/Debian

Как настроить BIND9 в качестве основного DNS-сервера в Ubuntu/Debian

Как установить OpenVPN Server на Ubuntu/Debian

Настройка OpenVPN в Ubuntu/Debian

Как установить сертификат SSL на Nginx для Ubuntu/Debian

Как настроить DNS-сервер BIND9 в Ubuntu/Debian

Как настроить HTTP / 2 в Nginx на Ubuntu/Debian

VPN-сервер с OpenVPN и Stunnel

Настройка веб-сервера

Установка статического IP на сервере

Как из серого IP сделать белый IP?

Переносим Armbian на внешний HDD на Orange Pi PC (Plus)

Настройка Медиа в Majordomo. Orange Pi PC (Plus). Armbian

Установка и настройка Windows терминала

Перенос сайта

Настройка сервера (Rev1)

Установка ssh сервера на Ubuntu/Debian

Установка MajorDoMo на OrangePi

Установка MajorDoMo

Установка phpMyAdmin Ubuntu 20.04

Настройка системы умного дома на базе ESP8266

Установка MAJORDOMO Rev1

Установка сервера MQTT

Установка и настройка сервера на Ubuntu/Debian

Настройка Linux на Orange Pi

Монтирование разделов в Linux

Репозитории Linux

Установка и настройка Orange_CNC

Установка и настройка Armbian и DLNA на Orange Pi PC в картинках

Простой VPN с WireGuard

Nagios – современный и популярный инструмент для мониторинга компьютерных систем и сетей.

Перенос системы на EMMC

Настройки Linux

Удаленный рабочий стол RDP в Linux Armbian

Установка Аndroid OS на Orange Pi Plus

Установка локального сервера BLYNK на любой другой одноплатник с OC Armbian

Настройка системы умного дома на базе ESP8266

 Статья еще редактируется 

SSH В boot разделе создаем файл с именем ssh 

 


# mkdir /mnt/boot_partition
# mount /dev/sdf1 /mnt/boot_partition
# touch /mnt/boot_partition/ssh
# umount /dev/sdf1

 

 Теперь при первом запуске у нас будет возможность подключиться к системе по ssh.

 Wi-Fi

Если необходимо подключение к локальной сети посредством wifi, создаем в boot разделе файл wpa_supplicant.conf  

# mkdir /mnt/boot_partition
# mount /dev/sdf1 /mnt/boot_partition
# nano /mnt/boot_partition/wpa_supplicant.conf
# umount /dev/sdf1

 

 Содержимое файла wpa_supplicant.conf


ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=RU
network={
 ssid="your_ssid"
 psk="your_wifi_password"
}

 

 доступ по ssh.

сканирование сети посредством пингования всех ip адресов подсети.

# nmap -sn 192.168.0.1/24

 

Попробуем подключиться. Стандартная пара логин/пароль

# ssh Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.

 

успешно вошли по ssh на raspberry pi и теперь можем приступать к дальнейшей настройке системы. 

Установка Domoticz установим domoticz на наш одноплатник. Установка максимально простая

sudo curl -L install.domoticz.com | sudo bash

 

появится псевдографический диалог установки, в котором будет возможно выбрать порты и протоколы для веб интерфейса, директорию для установки. Лично я оставил исключительно HTTP на 80 порту проверяем, что демон domoticz поднялся:  

sudo service domoticz status

 

проверим, что web интерфейс доступен: http://192.168.0.120/ 

sudo service domoticz status

Watchdog 

Чтобы поднимать его автоматически, напишу watchdog с помощью cron.

#!/bin/sh
# /etc/scripts/check_domoticz_online.sh
# check domoticz
status=`curl -s -i -H "Accept: application/json" "http://localhost:8080/json.htm?type=devices&rid=1" | grep "status"| awk -F: '{print $2}'|sed 's/,//'| sed 's/\"//g'`
if [ $status ]
then
    echo "Domoticz has already been started"
else
    /home/pi/domoticz/domoticz.sh restart   
fi

 

 

sudo crontab -e -u root

 

каждые 5 минут будет запускаться скрипт, который проверит, работает ли Domoticz и перезапустит его, если это необходимо Настройка domoticz для работы с устройствами Теперь, когда система работает и готова к продолжению конфигурирования, можно настроить какие нибудь устройства. IP-камера Самое простое, что можно настроить в Domoticz - это камера. Для этого зайдем в web-интерфейсе в Setup -> More options -> Cameras -> Add camera. Вводим данные о своей камере. У меня возникли сложности с определением picture url, но они решились вот этим сервисом. После того, как мы сохранили новую камеру, у нас появилась строка в таблице с кнопками, чтобы посмотреть изображение или видео. https://skjm.com/icam/mjpeg_test.php MQTT-брокер собираюсь использовать Arduino с подключением к локальной сети. В рамках данной сети общепринятым стандартом общения между устройствами является MQTT - протокол, ориентированный для обмена сообщениями по принципу издатель-подписчик. Для передачи сообщений посредством данного протокола нам необходим MQTT-брокер - своеобразный хаб для сообщений. Domoticz и IoT устройства выступят в качестве клиентов сети, подключившись к брокеру. Установим свободный MQTT-брокер Mosquitto.

 

sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key  
pi@raspberrypi:~ $ sudo apt-key add mosquitto-repo.gpg.key  
pi@raspberrypi:~ $ cd /etc/apt/sources.list.d/  
pi@raspberrypi:/etc/apt/sources.list.d/ $ sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list
pi@raspberrypi:/etc/apt/sources.list.d/ $ cd
pi@raspberrypi:~ $ sudo apt-get install mosquitto mosquitto-clients
pi@raspberrypi:~ $ rm mosquitto-repo.gpg.key

 

Теперь Mosquitto установлен и работает. Мы можем подключиться к нему без аутентификации по адресу 0.0.0.0:1883. Таких настроек нам хватит на первое время. Domoticz - MQTT клиент Подключим domoticz к MQTT-брокеру. В web-интерфейсе Domoticz - Setup -> Hardware. Type - MQTT Client Gateway with LAN interface. Remote address - localhost Port - 1883 Data Timeout - disabled Username и password - оставляем пустыми до лучших времен Prevent loop - в большинстве случаев эту настройку следует оставить включенной, но в нашем случае мы собираемся подключать собственные устройства по MQTT и управлять ими внешними методами, поэтому мы выключим prevent loop и domoticz будет пересылать все обновления статусов устройств из domoticz/in в domoticz/out. Это нужно, тк внешнее управление осуществляется посредством публикаций в domoticz/in, а наши устройства слушают domoticz/out, и если domoticz не будет пересылать сообщения из in в out, то устройства не смогут узнать об обновлениях их статусов. Publish topic - топик, куда domoticz будет публиковать все обновления статусов. Для себя я оставил стандартно - out, и domoticz публикует в топик domoticz/out. После нажатия на Add у нас добавился новый hardware. Если все хорошо, то в таблице, в колонке Enabled мы увидим Yes. Dummy switch Хотелось бы быстро проверить работу нашей системы. Для этого есть виртуальные устройства - не имеющие физических воплощений(по крайней мере, пока мы их не сделаем), но имеющие статус в системе domoticz и управляемые из нее. Добавим Dummy hardware. В web-интерфейсе Domoticz - Setup -> Hardware Type - Dummy (Does nothing, use for virtual switches only) Добавляем. В таблице появилась еще одна запись. Можно увидеть, что в таблице рядом с Type есть кнопка Create virtual sensors. Нажимаем ее, вводим параметры Name - lamp Sensor type - Switch Сохраняем и переходим в меню Switches. Теперь здесь можно увидеть новый переключатель: Теперь мы можем посмотреть, как изменение переключателя отражается в топике MQTT.

 

 

pi@raspberrypi:~ $ mosquitto_sub -h localhost -v -t "domoticz/out"

 

 Мы использовали клиент MQTT, который установили вместе с брокером, и подписались на топик, куда domoticz публикует свои обновления. Нажмем на лампочку в веб-интерфейсе Смотрим в терминал и видим сообщение из топика:

 

domoticz/out {
    "Battery" : 255,
    "RSSI" : 12,
    "description" : "",
    "dtype" : "Light/Switch",
    "hwid" : "4",
    "id" : "00014052",
    "idx" : 2,
    "name" : "lamp",
    "nvalue" : 1,
    "stype" : "Switch",
    "svalue1" : "0",
    "switchType" : "On/Off",
    "unit" : 1
}

 

В подобных сообщениях Domoticz сообщает нам об изменении своего состояния. Формат тела сообщения - JSON. В поле name видим название, которое мы ранее установили для switch'а в domoticz. Новое состояние свитча мы можем увидеть в поле nvalue. Программируем собственные IoT устройства на базе Arduino-like контроллеров. Теперь, когда MQTT-брокер доступен из сети и Domoticz публикует туда сообщение каждый раз, когда мы переключаем switch, можно заняться программированием микроконтроллера. Задача: подключиться к сети, подключиться к брокеру MQTT, подписаться на нужный топик и парсить сообщения от Domoticz, выделяя те, поле name которых совпадает с названием, захардкоженым в программу, и выполняя переключения встроенного светодиода в зависимости от нового состояния из сообщения. Впоследствии переключаться будет не встроенный светодиод, а реле, управляя каким-либо процессом.

https://m.habr.com/ru/post/535838/ 

pi@raspberrypi:~ $ mosquitto_sub -h localhost -v -t "domoticz/out"

 

 

 

 

 

 

Вверх