Web server for NooLite.
Project description
# NooLite MQTT Web Server
Веб интерфейс для работы с noolite устройсвами через MQTT протокол
## Установка
Для установки проекта нужен Python 3.5+ и pip
### Из репозитория
В системе должны быть установлены:
- pip для третий версии python
- git
```bash
$ pip3 install git+https://bitbucket.org/AlekseevAV/noolite-mqtt-web-server
```
К примеру установка проекта на ArchLinux будет выглядеть следующим образом:
```bash
# Устанавливаем необходимые пакеты
$ pacman -S python python-pip git
# Устанавливаем noolite_api
$ pip3 install git+https://bitbucket.org/AlekseevAV/noolite-mqtt-web-server
```
### Из исходников
```bash
# Клонируем репозиторий
$ git clone https://bitbucket.org/AlekseevAV/noolite-mqtt-web-server
# Заходим в созданную папку репозитория
$ cd noolite-mqtt-web-server
# Устанавливаем сервер
$ python setup.py install
```
### Настройка MQTT плагина для Homebridge
```bash
# Устанавливаем MQTT плагин для homebridge
https://www.npmjs.com/package/homebridge-mqtt
# Добавляем в конфиг файл homebridge (config.json) параметры для подключения к MQTT
{
"platform": "mqtt",
"name": "mqtt",
"url": "mqtt://127.0.0.1",
"topic_type": "multiple",
"topic_prefix": "homebridge",
"username": "foo",
"password": "bar"
}
# Устанавливаем MQTT брокер mosquitto. в дальнейшем запускать не от админа
$ pacman -Sy
$ pacman -S mosquitto
# Настраиваем конфигурационный файл (mosquitto.conf)
nano /etc/mosquitto/mosquitto.conf
Добавляем строки
pid_file /var/run/mosquitto.pid
user alarm
# Добавляем кастомные характеристики
$ nano /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/gen/HomeKitTypes.js
$ cp HomeKitTypes-NooLite.js /usr/lib/node_modules/homebridge/node_modules/
```
## Характеристики NooLite для homebridge
1. Скопировать файл HomeKitTypes-NooLite.js из корня репозитория в /<путь до корня homebridge>/node_modules/hap-nodejs/lib/gen/
Например `cp HomeKitTypes-NooLite.js /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/gen/`
2. Добавить строчку `var HomeKitTypesCustom = require('./HomeKitTypes-NooLite');` в конец файла /<путь до корня homebridge>/node_modules/hap-nodejs/lib/gen/HomeKitTypes.js
Может быть здесь `nano /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/gen/HomeKitTypes.js `
## Запуск
```
$ noolite_web_server
```
## Автозапуск
Создаем `autorun.sh` файл:
```bash
cat <<end > /home/alarm/autorun.sh
#!/bin/sh -
avahi-daemon &
sleep 10
nohup mosquitto -c /etc/mosquitto/mosquitto.conf -d &>> /home/alarm/mosquitto_log&
sleep 15
nohup homebridge &>> /home/alarm/homebridge_log &
sleep 15
nohup noolite_serve &>> /home/alarm/http-api-server_log &
end
```
Добавляем в `autorun.sh` в автозапуск:
```bash
cat <<end > /etc/systemd/system/autorun@root.service
[Unit]
Description=Homebridge
After=network.target
After=avahi-daemon.service
[Service]
Type=forking
User=%i
ExecStart=/home/alarm/autorun.sh
[Install]
WantedBy=multi-user.target
end
```
## Работа
Веб-интерфейс находится по адресу <ip_устройства>:8080
### Структура
Страница | Описание
---------- | --------
`/` | Страница для наглядного приема-передачи команд на силовые блоки
`/api.htm` | Параметры GET запроса по этому адресу будут переданы на USB-адаптер
Команды к USB-адаптеру можно выполнять либо самостоятельно формируя GET запросы на `/api.htm` с необходимыми параметрами, передваемыми в URL,
либо используя форму отправки запроса на `/` (_данная форма формирует и выполняет GET запросы на `/api.htm` с указанными в ней параметрами_)
Веб интерфейс для работы с noolite устройсвами через MQTT протокол
## Установка
Для установки проекта нужен Python 3.5+ и pip
### Из репозитория
В системе должны быть установлены:
- pip для третий версии python
- git
```bash
$ pip3 install git+https://bitbucket.org/AlekseevAV/noolite-mqtt-web-server
```
К примеру установка проекта на ArchLinux будет выглядеть следующим образом:
```bash
# Устанавливаем необходимые пакеты
$ pacman -S python python-pip git
# Устанавливаем noolite_api
$ pip3 install git+https://bitbucket.org/AlekseevAV/noolite-mqtt-web-server
```
### Из исходников
```bash
# Клонируем репозиторий
$ git clone https://bitbucket.org/AlekseevAV/noolite-mqtt-web-server
# Заходим в созданную папку репозитория
$ cd noolite-mqtt-web-server
# Устанавливаем сервер
$ python setup.py install
```
### Настройка MQTT плагина для Homebridge
```bash
# Устанавливаем MQTT плагин для homebridge
https://www.npmjs.com/package/homebridge-mqtt
# Добавляем в конфиг файл homebridge (config.json) параметры для подключения к MQTT
{
"platform": "mqtt",
"name": "mqtt",
"url": "mqtt://127.0.0.1",
"topic_type": "multiple",
"topic_prefix": "homebridge",
"username": "foo",
"password": "bar"
}
# Устанавливаем MQTT брокер mosquitto. в дальнейшем запускать не от админа
$ pacman -Sy
$ pacman -S mosquitto
# Настраиваем конфигурационный файл (mosquitto.conf)
nano /etc/mosquitto/mosquitto.conf
Добавляем строки
pid_file /var/run/mosquitto.pid
user alarm
# Добавляем кастомные характеристики
$ nano /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/gen/HomeKitTypes.js
$ cp HomeKitTypes-NooLite.js /usr/lib/node_modules/homebridge/node_modules/
```
## Характеристики NooLite для homebridge
1. Скопировать файл HomeKitTypes-NooLite.js из корня репозитория в /<путь до корня homebridge>/node_modules/hap-nodejs/lib/gen/
Например `cp HomeKitTypes-NooLite.js /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/gen/`
2. Добавить строчку `var HomeKitTypesCustom = require('./HomeKitTypes-NooLite');` в конец файла /<путь до корня homebridge>/node_modules/hap-nodejs/lib/gen/HomeKitTypes.js
Может быть здесь `nano /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/gen/HomeKitTypes.js `
## Запуск
```
$ noolite_web_server
```
## Автозапуск
Создаем `autorun.sh` файл:
```bash
cat <<end > /home/alarm/autorun.sh
#!/bin/sh -
avahi-daemon &
sleep 10
nohup mosquitto -c /etc/mosquitto/mosquitto.conf -d &>> /home/alarm/mosquitto_log&
sleep 15
nohup homebridge &>> /home/alarm/homebridge_log &
sleep 15
nohup noolite_serve &>> /home/alarm/http-api-server_log &
end
```
Добавляем в `autorun.sh` в автозапуск:
```bash
cat <<end > /etc/systemd/system/autorun@root.service
[Unit]
Description=Homebridge
After=network.target
After=avahi-daemon.service
[Service]
Type=forking
User=%i
ExecStart=/home/alarm/autorun.sh
[Install]
WantedBy=multi-user.target
end
```
## Работа
Веб-интерфейс находится по адресу <ip_устройства>:8080
### Структура
Страница | Описание
---------- | --------
`/` | Страница для наглядного приема-передачи команд на силовые блоки
`/api.htm` | Параметры GET запроса по этому адресу будут переданы на USB-адаптер
Команды к USB-адаптеру можно выполнять либо самостоятельно формируя GET запросы на `/api.htm` с необходимыми параметрами, передваемыми в URL,
либо используя форму отправки запроса на `/` (_данная форма формирует и выполняет GET запросы на `/api.htm` с указанными в ней параметрами_)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
noolite-mqtt-webserver-0.1.2.tar.gz
(504.5 kB
view details)
File details
Details for the file noolite-mqtt-webserver-0.1.2.tar.gz
.
File metadata
- Download URL: noolite-mqtt-webserver-0.1.2.tar.gz
- Upload date:
- Size: 504.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d320ce5b51d3ca57f9ba793625ada3966d8cb5e194b0e1298725a5822e313b95 |
|
MD5 | e614c7335c4ec4aa86a28fbc54b83e16 |
|
BLAKE2b-256 | 02f8eb5ab93aecf7d82b3f89989fe38a786f9eba60c093844e62f1992997f44b |