我想到了保护进入社区车库广场的替代方案,而无需安装物理分离。这是关于使可见的虚拟障碍物检测并通知入侵。
在第一次迭代中,该设备只有一个光传感器来检测激光束的中断,以便警告一个人的通道。后来,我们可以包括其他运动,例如PIR(被动红外传感器)。或连接是图像记录系统。

该传感器基于激光LED和读取模拟/数字转换端口的照相抗性。板启动时,该程序会调整阈值光级别。因此,如果灯被遮挡,则触发声音警告过程和警报消息。
退出部分由Networs(又称TTN)和IFTTT的东西支持。该信息最终以节点rred的程序的流量进行处理,该程序在Raspberry Pi 3b+的Docker容器中运行,并使用Raspbian操作系统进行处理。此架构的照片就是这样: 
完整过程的演示:检测和通知:



我们将使用TTN服务,将数据包到端点的网关中,该服务将消耗采取操作的应用程序,该应用程序使用图中包含的信息采取行动。
该设备为ABP类型(通过人格激活),这意味着它将在网络上以返回和预配置的密钥会话进行标识。为此,我们必须完成应用程序和设备的注册。这些是要遵循的步骤:
该传感器之类的设备与已注册的应用程序进行通信。为您注册设备,必须首先添加一个应用程序。

在控制台中,选择应用程序,然后单击以下屏幕上的添加应用程序。
现在,我们将使用新添加的应用程序将我们重定向到页面,您可以在其中找到EUI应用程序和生成的访问密钥。 

在TTN中,设备(devide)表示最终是我们电路的节点(节点)的配置。访问注册表格时,我们只需要填写将作为该节点的唯一名称的设备ID即可。最好按图像中标记的图标,以便自动生成EUI设备。

最后,我们将按寄存器按寄存器,然后按照新设备的名称按图标,以查看您的配置数据。在这里,我们将找到我们需要是ABP类型设备的参数。并且我们将不得不移动到设置。H配置文件将在Arduino IDE的草图中加载。但是键的格式不同。您会找到一个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;

我们将不得不返回到应用程序overbiew屏幕以进行最后一个配置。按下有效载荷格式选项卡,我们访问允许脚本解码LORA消息的数据图的表单。在我们的情况下,这是格式:

为背面和前部选择的架构设计为最低的运营成本和可扩展的架构。容器的使用将使我们能够在同一服务器上使用自己的仪表板节点-RED快速添加新设备(TTN节点)。
使用的服务器是Raspberry Pi 3B+。目前,它不是执行多个容器的最强大但足够的模型。可以轻松找到和标准的初始配置任务,以安装Raspbian操作系统和MySQL。 Docker和Node -red容器及其所有必要的配件,以便可以执行完整的流程。我在下面描述它们。
对于这些配置,我基于文档:在Raspberry Pi上设置Docker的简便方法。在这里,我总结了以下步骤:
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
默认情况下,节点-RED应用程序不包括我们将需要与TTN,与MySQL集成或显示用户界面仪表板的节点。原则上,可以从管理应用程序的管理调色板选项中安装所有内容,我们应该在类型地址中访问:http://192.168.1。 ????:1881
仪表板节点
标准安装。从应用程序的管理调色板菜单选项中,在安装中查找模块`node-red-dashboard'。
与TTN节点集成
我们需要在此处使用更多信息SSH会话访问容器
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/

在节点 - rred的流程中,TTN服务传递的消息进行处理并以图形方式显示。消息有效载荷包含两个不同的值:````'''当激光束被中断和每10分钟时“ ALEVER”时。此外,还包括一个逻辑,以显示11分钟内没有消息传来的情况。
要导入流量,我们必须访问我们在Docker中沿http://192.168.1类型的方向撕裂的节点红色应用程序。 ????:1881。我们将通过按汉堡类型菜单按钮来找到导入选项。最简单的是,将cerberus_flows.json文件的内容复制到团队剪贴板上,然后将其粘贴到屏幕上: 
按下“导入”按钮后,您将拥有节点和流的视图。但是其中有三个未正确配置。
打开ttn domehome_sensor_garage uplink节点的属性,并根据以下对应关系查找TTN控制台上的名称和键: 


与IFTTT(如果为此)集成使用简单的调用,则使用以下格式使用HTTP请求类型节点对其端点休息进行集成。
https://maker.ifttt.com/trigger/domohome_garage_intruder/with/key/???????????

我们必须将有关连接链的所有信息收集到RPI服务器外部的BBDD MySQL。用户,密码,端口,主机...并完成MySQL节点数据库的配置。

最终结果是一个响应屏幕,在其中向我们展示了最后一个事件,历史和停用通知的可能性。我们将访问与政府相同的URL,但使用后缀/UI:http://192.168.1.???:::1881/ui
https://blog.squix.org/2021/07/ttgo-lora32-v1-0-with-with-ttn-v3-and-otaa.html