Открыть ворота но номеру машины

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
bombeiro
Сообщения: 2
Зарегистрирован: Пн сен 28, 2020 3:13 pm
Благодарил (а): 0
Поблагодарили: 0

Открыть ворота но номеру машины

Сообщение bombeiro » Чт ноя 14, 2024 2:23 am

Доброй ночи всем. Нужна помощь програмистов.
Есть камера возле ворот и прога, которая определяет номера машин и отправляет по mqtt в мажордомо.
Нужен скрипт ( сценарий...) не знаю, я не програмист, который по изменению переменной сравнивает со списком из файла с номерами, и если совпало, отправляет сигнал на реле отрыть ворота.
Спасибо
Аватара пользователя
Vitich
Сообщения: 16
Зарегистрирован: Вс мар 14, 2021 6:05 am
Откуда: Донбасс
Благодарил (а): 0
Поблагодарили: 2 раза
Контактная информация:

Re: Открыть ворота но номеру машины

Сообщение Vitich » Пн дек 02, 2024 5:48 pm

Если машин не много, проще прописать в скрипте.

/*********************************************************/
// Список номеров
$nom_a = "263-675";
$nom_b = "34-45";
$nom_c = "567-889";

// Данные с MQTT
$nomer = gg("obect1.svoystvo1"); // подставить свой объект и свойство

if (($nomer == $nom_a)||($nomer == $nom_b)||($nomer == $nom_c)){
echo "<br>" ."Соответствие найдено.";
$vorota = 1;
} else {
echo "<br>" ."Соответствие не найдено.";
$vorota = 0;
}
// Отправка команды
sg("obect2.svoystvo2", $vorota);
/*********************************************************/

Ещё надо смотреть какие данные висят в MQTT когда нет машин.
Нужно согласовать с ручным управлением, придумать условие для запуска
скрипта сравнения.
Всякая работа требует больше времени, чем было запланировано.
bombeiro
Сообщения: 2
Зарегистрирован: Пн сен 28, 2020 3:13 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Открыть ворота но номеру машины

Сообщение bombeiro » Вт дек 17, 2024 9:25 pm

Мой вариант скрипта, если кому будет нужен

<?php
$result = "Plate: 11AA11"; //(gg(Html01.data);
$cli = substr($result, 5);
$file = array("lh6543","16HG38", "11AA11","ghyt44","DD11FF");
echo $cli."\n";

foreach ($file as $value) {
$line = trim($value, PHP_EOL);
if (strpos($cli, $line) !== false) {
echo "Данный клиент ($line) имеется в списке\n";
// Отправка команды
sg("obect2.svoystvo2", $vorota);
}
}
Ответить