OrangePI 2iot
Orange Pi 2G-IoT предназначен для всех, кто хочет начать создавать с помощью технологий, а не просто потреблять их. Это простой, забавный и полезный инструмент, который вы можете использовать, чтобы начать контролировать мир вокруг себя.
Первым делом чтобы начать работать с платой, нам необходимо поставить ОС. На сайте производителя можно почитать про устройство, посмотреть характеристики, а так-же скачать ОС по вкусу.
Как видим, выбор довольно впечатляющий. Для платы Orange Pi PC+ я ставлю Armbian Image, он и качается проще и достаточный для работы.
На сайте разработчика имеется как CLI версия, так и Desktop. Кто не представляет свою жизнь без GUI
Далее приступаем к процессу записи образа ОС на флешку.
Подключаемся через RS232. Если нет GUI.
Наблюдаем процесс загрузки.
Ну и наконец логинимся.
orangepi
orangepi
Настраиваем wifi.
sudo nmcli device wifi list
sudo nmcli device wifi connect 'smm' password '' ifname wlan0
ip addr
Теперь пользователь temproot должен иметь привилегии root:
root:x:0:0:root:/root:/bin/bash
temproot:x:0:0:temproot
Дальше пошел процесс настройки ZigBee CC2531 свистка и всех сопутствующих плюшек. Об этом можно почитать в разделе ZigBee.
После прошивки модема необходимо установить MQTT брокер (если еще не установлен).
Я использую Mosquitto (но чаще использую в DockerЕ), устанавливается так:
sudo apt install -y mosquitto mosquitto-clients
sudo systemctl start mosquitto
sudo systemctl enable mosquitto.service
А если в Docker, то всего то
docker run --restart=always -p 1883:1883 -p 9001:9001 -v /opt/mosquitto/mosquitto.conf:/mosquitto/config/mosquitto.conf -v /mosquitto/data -v /mosquitto/log -d eclipse-mosquitto
Как всегда запускаем PuTTY и обновляемся.
sudo apt update
sudo apt -y upgrade
Все выпуски Node.js являются производными из официального репозитория APT.
Однако это необходимо добавить в вашу систему вручную.
sudo apt update
sudo apt -y install curl dirmngr apt-transport-https lsb-release ca-certificates
sudo curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
apt install npm
apt install -y nodejs git make g++ gcc
npm install typescript -g
sudo git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
sudo chown -R pi:pi /opt/zigbee2mqtt
Установить зависимости
cd /opt/zigbee2mqtt
npm ci
или
npm install
Откройте файл конфигурации:
vi /opt/zigbee2mqtt/data/configuration.yaml
Настраиваем адрес mqtt сервера и порт usb стика СС25хх.
Для базовой конфигурации, вероятно, подходят настройки по умолчанию.
Единственное, что нам нужно изменить, - это URL-адрес сервера MQTT и аутентификацию (если применимо).
# MQTT server URL
server: 'mqtt://10.10.11.18'
# MQTT server authentication, uncomment if required:
# user: my_user
# password: my_password
Так же указываем на каком порту у нас появился стик:
Для raspberry это возможно будут /dev/ttyACM0, /dev/ttyACM1
Для Orange Pi это будут /dev/ttyUSB0, /dev/ttyUSB1
Запуск в качестве демона с systemctl #
Чтобы запустить Zigbee2MQTT как демон (в фоновом режиме) и запускать его автоматически при загрузке, мы запустим Zigbee2MQTT с помощью systemctl.
vi /etc/systemd/system/zigbee2mqtt.service
Добавьте в этот файл следующее:
[Unit]
Description=zigbee2mqtt
After=network.target
[Service]
ExecStart=/usr/bin/npm start
WorkingDirectory=/opt/zigbee2mqtt
StandardOutput=inherit
StandardError=inherit
Restart=always
User=orangepi
[Install]
WantedBy=multi-user.target
Убедитесь, что конфигурация работает:
Запускаем Zigbee2MQTT
sudo systemctl start zigbee2mqtt.service
Проверяем статус
systemctl status zigbee2mqtt.service
Теперь, когда все работает, мы сделаем чтобы systemctl автоматически запускал Zigbee2MQTT при загрузке, это можно сделать, выполнив:
sudo systemctl enable zigbee2mqtt.service
Смотрим лог:
sudo journalctl -u zigbee2mqtt.service -f
Видим, как весело наши zigbee устройства начинают нам кидать приветы.
Только полноправные пользователи могут оставлять комментарии. Аутентифицируйтесь пожалуйста, используя сервисы.