覆盆子皮家居报警系统

RPIHomeAlarmSystem的Python项目详细描述


树莓pi报警系统是一个围绕树莓pi计算机构建的diy系统。它提供了正常的家庭报警系统功能以及一些附加功能,如短信通知、通过ssh进行远程配置和管理以及界面上的天气显示。

在当前版本中,它支持基于lcd03显示器的物理用户界面,lcd03显示器也用于扫描3x4键盘。有关如何设置硬件的完整说明,请参阅本项目文档文件夹中的技术文档。

一旦RPIHomeAlarmSystem开始工作,它的工作方式与任何现代报警系统都非常相似:

安装

有关安装的详细过程,请参阅doc目录中的installation.sh文件。

待命顺序

如果报警处于空闲状态(报警系统状态图标显示解锁的锁),则可以通过输入NIP来启用它。当解除武装时,系统立即拍摄传感器的快照,基本上只监视解除武装时关闭的传感器,而忽略其余传感器。这使得即使你想让后门或车库保持打开状态,也可以启动系统。然后,待命序列进入30秒的宽限期(可配置),允许用户离开房间。在此宽限期内,允许传感器在不触发警报的情况下改变状态。宽限计时器显示在LCD上,每秒钟发出一声蜂鸣音。最后五秒钟播放三声蜂鸣声,警告宽限期即将结束。

解除待命顺序

当系统启用时,可以通过再次输入PIN来解除该系统。如果受监控的传感器在待命模式下打开,它将启动30秒的宽限计时器,让用户通过输入PIN解除系统待命。如果用户在30秒前未成功解除系统的防护,则系统将进入警报模式,在该模式下,将播放15分钟的警报器,并向用户发送一条短信,指示触发警报的传感器。当处于报警状态时,锁定的锁定图标将替换为单词alert。请注意,在任何时间点,键盘+LCD单元都可能被拔下或断开,而不会影响报警系统的操作。这可以防止窃贼切断电线时警报系统停止工作。如果在操作中重新连接键盘和LCD,它将重新初始化自身并再次可用。

报警系统配置

此时,您的所有硬件和软件都已安装,剩下的就是配置您的系统,以便将GPIO引脚映射到正确的传感器,通过您的Google日历帐户发送短信,以及选择NIP来防护和解除防护您的系统。所有这些都是通过编辑项目文件夹中的alarm_config.json文件来完成的。文件应该是不言而喻的。确保您的google日历帐户设置为允许事件的短信提醒,因为这是用于发送短信的机制。 天气是通过wunderground.com的web api获取的。确保获得一个免费的api密钥,并将其输入到配置文件中。这将允许您接收免费的天气更新,将显示在您的报警系统的液晶显示器。同时在相应的字段中输入相应的区域,如邮政编码。

ssh监视

系统运行后,您可以通过ssh登录并使用提供的alarmsystem脚本停止、启动、重新启动、启动并获取系统状态来与系统交互。返回的状态实际上是LCD上的内容的副本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javajavax。艾尔。PropertyNotFoundException:   java为什么通过TCP发送的文件比它本身包含的文件包含更多的数据?   java为什么字符开关/案例不起作用?   php到java连接器,在哪里可以找到好的连接器   需要帮助Java简单规则形状面积计算器和if语句吗   macos如何从newstyle Oracle Java OSX捆绑包结构启动帮助页?   java既然所有的类都扩展对象,而对象是一个类,那么对象如何扩展对象呢?   java从JavaPairdd<String,Tuple2<Integer,Integer>>转换为JavaPairdd<String,Integer>   java微调器值未从一个活动传递到另一个活动   参数化类型的java数组   java不提供类。getCanonicalName是否存在性能问题?   java输入键JTextField   为什么我不能在java中调用nextLine()方法两次?   JTextPane中的java JProgressBar   java如何获取Crudepository实例?   用于提取几个<div>标记的java正则表达式   java如何使用JUnit Testrunner生成html图像   Go中Java静态属性的等价性