树梅派应用47:用树莓派给智能手机发送推送通知

本文介绍如何利用树莓派、电磁感应门和Instapush服务创建一个智能家居报警系统,当门被打开时,树莓派通过Python程序发送推送通知至iOS和Android设备。项目涉及电磁感应门的连接、pycurl库的安装以及推送服务的配置和测试。
摘要由CSDN通过智能技术生成

20141214221731256-0

本项目说明了如何从树莓派发送推送通知给iOS和Android设备,只需要用到一个免费的推送app即可。这里的主要思想就是利用一个电磁感应门来触发推送信息的事件。当电磁门打开时,树莓派就发送消息。在这个项目中,电磁感应门可以很容易替换成其他类型的告警设备,比如PIR运动传感器,红外引信等。

作者声明:我不是个Python专家,也不是树莓派的专家。虽然我有过很多软件开发的经验,而且也曾是个全职的开发者,但这是我的第一个树莓派项目和Python应用。因此,我写的Python代码很可能不是最简洁的,而且也可能会有其他更好的方式来配置树莓派。我个人很乐意接受建设性的批评和建议。如果有任何改进的建议,请在评论栏中告诉我。

配置树莓派发送推送消息

下面各项就是我们需要完成的:

  1. 在Instapush上建立推送服务,并安装移动app
  2. 将电磁感应门连接到树莓派上
  3. 安装pycurl库
  4. 加载python代码
  5. 运行python应用
  6. 测试,获取推送通知

在Instapush上建立推送服务,并安装移动app

要处理推送通知,我使用了一个名为Instapush的免费推送服务。Instapush在iOS和Android上有免费的app,而且这个平台上也有一个易于使用的REST API供软件开发者使用。

  1. 首先,在https://instapush.im/注册并登陆。
  2. 下载移动app(iOS版Android版
  3. 登陆到app上,使用你在网站上注册的账户即可
  4. 在app上登陆后,你会发现控制面板中已经显示你的设备已连接到Instapush的账户上了。去这里查看https://instapush.im/dashboard.
  5. 然后点击设备标签。我有两台设备都连接到了Instapush的账户上,见下图。
    20141214221731930
  6. 接下来,点击app标签。然后选择添加应用。
  7. 为你的应用选择一个名称,然后点击Add。我把应用命名为“Door Push”
  8. 添加了你的应用之后,你会进入事件界面。点击添加事件
  9. 为你的时间选择一个标题。我建议在事件名中不要加入任何空格。我用的是“DoorAlert”
  10. 你需要添加至少一个tracker。这基本上就是一个用在推送通知中的变量。我给它命名为“message”
  11. 最后,输入你想要推送的消息内容。我的Python代码将变量{message}传给Instapush服务,因此我建议你只把{message}添加到Message字段即可。
    20141214221731728
    点击添加事件
  12. 点击Basic Info标签,记下Application ID和Application Secret fields这两个字段的内容。在编写Python代码时需要用到这些。可以参考下图中的示例。当然,我把我的ID做了些处理。20141214221731561

将电磁感应门连接到树莓派上

我使用了一个面包板套件来让这个过程变得简单些。我使用GPIO的第23号管脚以及接地管脚来连接电磁感应门。哪条线接GPIO,哪条线接地无关紧要。下面是示意图:

20141214221731860-0

安装pycurl库

我们的Python程序需要使用一个称为pycurl的库来发送API请求给InstaPush服务。在树莓派上运行下面的命令来安装这个Python库。

1
sudo apt-get install python-pycurl

 Python代码

下面就是我编写的Python代码了。代码中的注释应该能很好的解释我在做什么。将程序命名为doorSensor.py。你可以在这里下载源代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值