Мне пришло в голову такая альтернатива для защиты доступа к гаражному площади сообщества без необходимости устанавливать физическое разделение. Речь идет о том, чтобы сделать видимым виртуальным барьером, который обнаруживает и уведомляет вторжения.
В этой первой итерации у устройства есть только датчик света для обнаружения прерывания лазерного луча, чтобы предупредить о проходе человека. Позже мы могли включить другие движения, такие как PIR (пассивный инфракрасный датчик). Или соединение - это система записи изображений, например.

Датчик основан на лазерном светодиоде и фотостойкостью, которая считывает аналоговый/цифровой порт преобразования. Программа регулирует пороговые уровни освещения, когда начнется пластина. Таким образом, если свет блокируется, процесс акустического предупреждения и оповещение о Лоре запускаются.
Переходная часть поддерживается тем, что сетевые сети (он же TTN) и IFTTT. Информация, наконец, обрабатывается в потоках программы в рамках узла, которая работает в контейнере Docker на Raspberry Pi 3b+ с операционной системой Raspbian. Фотография этой архитектуры было бы следующим: 
Демонстрация полного процесса: обнаружение и уведомление:



Мы собираемся использовать сервисы TTN, которые будут оборвать сообщение от шлюза о том, что пакет данных в конечную точку , которая будет потреблять приложение, которое предпринимает меры с информацией, содержащейся на графике, дает данные.
Это устройство имеет тип ABP (активация по личности), что означает, что оно будет идентифицировано в сети с возвратом и предварительно настроенным ключевым сеансом . Для этого мы должны завершить регистрацию приложения и устройства. Это шаги, чтобы следовать:
Такие устройства, как этот датчик, связываются с приложением, в котором они были зарегистрированы. Чтобы зарегистрировать устройство, вы должны сначала добавить приложение.

В консоли выберите приложение и нажмите «Добавить приложение» на следующем экране.
Теперь мы будем перенаправлены на страницу с новым добавленным приложением, где вы можете найти приложение EUI и сгенерированные клавиши доступа . 

В TTN устройство (Devide) представляет конфигурацию того, что также вызывает узел (узел), который в конечном итоге является нашей схемой. При доступе к регистрационной форме нам нужно только заполнить идентификатор устройства , который будет уникальным именем этого узла. Предпочтительно нажать значок, отмеченный в изображении, чтобы устройство EUI автоматически генерировалось.

Наконец, мы нажмите «Зарегистрироваться» и нажмите значок с именем нашего нового устройства, чтобы увидеть данные вашего конфигурации. Здесь мы найдем параметры, которые нам нужно быть устройством типа ABP. И что нам придется перейти к файлу настройки . Но формат для ключей отличается. Вы найдете лист Excel (encode_eui.xlsx), который облегчит эту задачу.
// TTN Configuration
// LoRaWAN NwkSKey, network session key provided by TTN Console (https://console.thethingsnetwork.org) in Device settings form:
static const PROGMEM u1_t NWKSKEY[16] = {0x8F,0xDA,......};
// LoRaWAN AppSKey, application session key provided by TTN Console (https://console.thethingsnetwork.org) in Device settings form:
static const u1_t PROGMEM APPSKEY[16] = {0xE5,0x0A,......};
// LoRaWAN end-device address (DevAddr)
static const u4_t DEVADDR = 0x12345678 ; // <-- Change this address for every node!
// Other params
const int update_time_alive = 150000;
const int PhotoCell = 2;
const int Buzzer = 15;

Нам придется вернуться на экран Overbive Application , чтобы сделать последнюю конфигурацию. Нажав на вкладку «Форматы полезной нагрузки» . В нашем случае это формат:

Архитектура, выбранная для задней и фронта, предназначена для минимальных эксплуатационных расходов и масштабируемых. Использование контейнеров позволит нам быстро добавить новые устройства (узлы TTN) с помощью собственного узла мониторинга -Red, выполненного на том же сервере.
Используемый сервер был Raspberry Pi 3b+. В настоящее время это не самая мощная, но достаточная модель для выполнения нескольких контейнеров. Начальные задачи конфигурации для установки операционной системы Raspbian, и MySQL можно легко найти и стандартно найден. Docker и узловые контейнеры со всеми необходимыми аксессуарами, чтобы можно было выполнить полный поток. Я описываю их ниже.
Для этих конфигураций у меня есть на основе документа: простой способ настроить Docker на Raspberry Pi. Здесь я суммирую шаги, чтобы следовать:
sudo groupadd docker
sudo gpasswd -a $USER docker newgrp docker
docker run hello-world
docker run -d -it -p 1881:1880 --name domohome-garage nodered/node-red
Приложение Node -Red не включает по умолчанию узлы, которые нам нужно будет интегрировать с TTN, с MySQL или для отображения пользовательского интерфейса, инструментальной панели . В принципе, все могут быть установлены из опции управления палитрой приложения администрирования, к которой мы должны получить доступ к адресу типа: http: //192.168.1. ????: 1881
Узлы приборной панели
Стандартная установка. В поисках модуля ¨node-Red-Dashboard в установке из параметра Manage Palette Menu приложения.
Интеграция с узлами TTN
Нам нужно будет получить доступ к контейнеру с дополнительной информацией SSH Session здесь
docker exec -it domohome-garage /bin/bash
Теперь мы установим узлы с диспетчера пакетов NPM:
npm install node-red-contrib-ttn
MySQL узлы
Из предыдущего сеанса SSH мы выполняем:
npm install node-red-node-mysql
Чтобы расширить информацию об использовании и примерах, на веб -сайте TTN есть эта страница: https://www.thethingsnetwork.org/docs/applications/nodered/

В потоке узел-графства сообщения, предоставленные службой TTN, обрабатываются и отображаются графически. Полезная нагрузка сообщения содержит два разных значения: ¨Alert¨, когда лазерный луч прерывается и «каждые 10 минут». Кроме того, логика включена, чтобы показать состояние недоступного, когда через 11 минут не было сообщения.
Чтобы импортировать поток, мы должны получить доступ к приложению Node-Red, которое мы разорвали в докере в направлении типа http: //192.168.1. ????: 1881. Мы найдем опцию импорта, нажав кнопку меню типа гамбургера. Самое простое-скопировать в командный обзор содержимого файла Garage-cerberus_flows.json и вставить его на экран: 
После нажатия кнопки «Импорт» у вас будет представление о узлах и потоках. Но есть три из них, которые неправильно настроены.
Откройте свойства TTN Domehome_sensor_garage Узел восходящей линии связи и ищите имена и ключ на консоли TTN в соответствии со следующими соответствиями: 


Интеграция с IFTTT (если это) монтируется с простым вызовом для его конечной точки , используя узлом типа запроса HTTP со следующим форматом.
https://maker.ifttt.com/trigger/domohome_garage_intruder/with/key/???????????

Мы должны собрать всю информацию в цепочке соединений в нашем BBDD MySQL, внешнем по отношению к серверу RPI. Пользователь, пароль, порт, хост ... и заполните конфигурацию базы данных узлов MySQL.

Окончательным результатом является отзывчивый экран, где нам показано последнее событие, историческое и возможность деактивирования уведомлений. Мы получим доступ к тому же URL, что и для администрации, но с суффиксом/UI: http://192.168.1.???:1881/ui
https://blog.squix.org/2021/07/ttgo-lora32-v1-0-with-ttn-v3-and-otaa.html