如何从树莓派发送推送通知到智能手机
扫描二维码
随时随地手机看文章
如今,家庭安全非常重要,市场上有许多监控系统可以从任何地方监控您的家庭或办公室。但是这些基于IP的安全系统非常昂贵,而且更便宜的系统只能在本地传输数据。
所以在这里,我们正在建立一个简单而有用的家庭安全系统使用树莓派和PIR传感器。该系统将检测到入侵者的存在,并通过向用户的手机发送推送通知来快速提醒用户。树莓派用于控制整个系统,PIR传感器用于检测任何运动。这个系统可以安装在你家或办公室的门附近,如果有人进入你的房子,你可以得到实时通知。
树莓派是最适合物联网项目的微控制器,因为它内置了Wi-Fi,可以轻松连接互联网。要开始使用树莓派,您应该有一个可以使用HDMI电缆连接的显示器,或者您可以使用SSH终端或VNC服务器访问它。在我们之前的项目中,我们通过各种物联网平台控制树莓派GPIO。
什么是推送通知?它是如何工作的?
推送通知就像在智能手机或台式机/笔记本电脑上弹出的即时消息。这些消息由后端服务器推送,其中包含一些与最新优惠,促销,广告,分数等相关的信息。几乎所有的移动平台都支持推送通知,大多数应用程序都以推送消息的形式发送通知,比如Facebook、amazon、chrome等。然而,你可以关闭来自特定应用程序的推送通知。这项服务可以帮助用户在屏幕上弹出重要信息时继续工作。
在Android设备中,推送消息以应用程序图标和状态栏中的消息显示。当用户点击那个图标时,它就会指向那个特定的应用程序。
推送通知是如何工作的?
有一些服务器用于向你的设备发送数据,如Android的GCM (Google Cloud Messaging),微软的MPNS和苹果的APNS。
以下步骤展示了Android设备上的推送通知:
•通过发送发送方ID和应用程序ID,首先在GCM服务器上注册android设备。
•注册成功后,服务器会给android设备颁发一个注册ID。
•然后将接收到的注册ID发送到处理该特定应用程序的服务器。
•应用服务器将在数据库中存储注册ID以供以后使用。
每当需要推送通知时,应用服务器将消息连同设备注册ID发送给GCM服务器。
使用该设备注册ID, GCM服务器将把该消息传递到受尊重的移动设备。
现在需要一个服务器来承载推送通知服务。为此,我们有很多平台,比如Pushetta、Pushsafer、PushBullet等。从所有这些服务中,Pushbullet都很容易免费使用。Pushbullet有预构建的python库,这使得它很容易与树莓派一起使用。
设置Pushbullet帐户
1. 首先在Pushbullet网站上创建一个账户。
2. 现在,我们需要帐户设置中的访问令牌密钥。所以,点击设置,然后点击账户,向下滚动。您将找到创建访问令牌按钮。点击它,就会出现一个键。复制此键,它将在代码中需要。
要显示推送通知,请在android设备上安装Pushbullet应用程序。现在,使用用于获取访问令牌的相同帐户登录。现在推送消息将开始出现在给定的屏幕上。
在树莓派上安装Pushbullet库
运行以下命令安装在Raspberry Pi上使用Pushbullet所需的库。
现在,我们准备编写python代码来检测运动并在有人进入房间时发送推送通知。
组件的要求
•Raspberry Pi,安装Raspbian OS。
•PIR传感器
•跳线
线路图
在这个项目中,只有PIR传感器与树莓派相连。在这里,PIR传感器的信号引脚连接到树莓派的11号引脚,如下图所示。
代码与说明
完整的python代码和工作视频在本项目的末尾给出。
首先导入使用RPi gpios、pushbullet和time所需的所有重要库。
现在,设置连接PIR传感器的GPIO模式和引脚编号。
输入我们在Pushbullet上创建帐户时复制的访问令牌,并打印正在使用您帐户的所有设备。
现在,在while循环检查任何运动检测通过检查PIR输出引脚。
如果有人进入PIR传感器的范围,那么值将是“1”。现在,从Pushbullet应用程序中输入设备名称。设备名称也可以在运行此脚本时找到,如下图所示。然后输入要作为推送通知发送的消息。
现在,最后复制项目末尾给出的完整代码,并以.py扩展名保存该文件。然后使用下面的命令运行这个脚本
确保PIR传感器连接正确。
每当有人靠近PIR传感器时,运动消息将显示在终端上,您将获得推送通知,如下面的快照所示。
本文编译自iotdesignpro