Артём Радин писал(а):
# Копирует пример коллектора на shell
$ zcat /usr/share/doc/avregd/examples/event-collector.gz | \
sudo tee /etc/avreg/scripts/event-collector.sh
# открываем в редакторе скрипт, находим ф-цию on_motion_session и в её самом начале вставляем вызовы клиента MQTT:
$ sudoedit /etc/avreg/scripts/event-collector.sh
on_motion_session() {
...
if [ $1 -eq 13 ]; then
status='started'
$BEEP
mosquitto_pub -h 192.168.1.1 -p 1885 -t topic/subtopic/on -m "motion started"
else
status='finished'
mosquitto_pub -h 192.168.1.1 -p 1885 -t topic/subtopic/off -m "motion finished"
fi
...
}
прим: mosquitto_pub - консольный клиент из пакета mosquitto, ставится также сервер, если не нужен ему нужно запретить (авто)запуск.
как им пользоваться для публикации MQTT см. man или
https://mosquitto.org/man/mosquitto_pub-1.html
# разрешаем event-коллектор скрипт
$ sudoedit /etc/avreg/avreg.conf
avregd {
другие параметры
...
event-collector = "/etc/avreg/scripts/event-collector.sh; respawns=5:2,10:3; log=evtcoll:log:err"
...
другие параметры
}
# В админке аврега для всех или конкретной камеры разрешаем запись событий в файл События->events2pipe=Вкл.
# Рестартуем avregd
$ sudo service avreg restart
# Наблюдаем:
$ sudo tail -F /var/log/daemon.log (Debian)
# или
$ sudo tail -F /var/log/syslog (Ubuntu)
[1]
http://avreg.net/manual_applications_avregd-event-collector.html