自己制作紧急呼叫按钮

━━━━━

我年迈的母亲搬到了附近一个退休社区后,我劝她戴上可穿戴警报手环。比如,如果她摔倒了站不起来,又够不到电话,这个手环将帮她求救。她签了退休社区提供的合同后,收到了一个类似设备,但像金枪鱼罐头一样笨重。她从来没戴过,我也不怨她。

实际上,现在有许多具备这种紧急呼叫功能的设备,随着人口老龄化的趋势,这个功能变得越来越重要。其中,许多设备都有一个依附于陆上通信线的基站。还有一些设备则内置GPS和蜂窝连接,在家以外的地方也能工作。问题在于这些设备捆绑了一些比较昂贵的服务——一般每月30美元甚至更多。当然,我亲爱的妈妈的健康值这个钱,但我发现我可以用价格更为低廉的设备实现这个功能,所以就没必要再花这么多钱了。

为此,我留意到一款现在已不那么流行但依旧非常适合实现这个功能的产品:耐克+iPod运动套件。我可不是想让我92岁高龄的母亲穿上一双跑鞋,戴上耳机。这组运动套件包括一个小型射频发射器和一个可插入第二代及更新版iPodTouch的配套接收器。一般情况下,发射器连接在跑鞋鞋带上,每跑一步都会发射出一个信号,这样,iPod就能报告运动数据了。

我打算换一种方式使用这组套件:把小型发射器藏在妈妈戴的项链里,接收器连入互联网,这样,如果她在紧急情况下触发项链里的发射器,我就能收到通知了。持续按压耐克+iPod发射器上的凹陷按钮几秒钟,就能关闭该设备。短按同一个按钮就能重新激活。这样妈妈就能在发射器不激活的状态下戴着它了。需要发送警报时,只需短按一下按钮,让发射器震动一下即可。

━━━━━

虽然发射器完全不需要破解(不像上次我在另一个“动手”项目里用的套件),但连接接收器还是费了些功夫。我起初的想法是采用SparkFun电子公司生产的一块接口板,这样就能连接接收器适配器并提取串行数据了。可惜的是,SparkFun已经不再生产那种接口板了。

另一个办法是制作一块简单的印刷电路板,通过OSH Park制作起来并不贵。自己设计接口板还让我有机会根据树莓派对它进行调整。

由于苹果公司在其产品中使用的是更小的Lightning接头,所以制作接口板最麻烦的部分是获得一块30针母连接器,与iPod适配器配对。主要的零部件供应商并不生产这种连接器,而我能从网上找到的唯一来源看起来又太粗糙。所以,我花几美元买了一个iPod适配器延长器。这些延长器一头是公连接器,一头是母连接器,从中拿出母连接器用在我的接口板上并不是什么难事。这块接口板只能向树莓派的通用输入/输出连接器路由适配器的3.3伏发射(TX)和接收(RX)线路。

完成了简单的硬件制作之后,我开始着手软件。我写了一些Python代码对适配器进行初始化设置,然后把它发送的回应字节打印出来。如此一来,我就能确定我的耐克+发射器的3字节标识符了。然后我又写了另一个程序,可以在树莓派启动后自动运行,寻找标识符。

系统第一次开启后,它(通过相连的扬声器)哔了1声,让你知道它正在运行。然后等待着接收发射器发出的信号。发现信号时,它会哔3声,让发出警报的人知道求救信号已发出。它还会请求Twilio发送一条文本消息,我家的情况是发给我。

Twilio简单易用——对本项目而言尤其如此,因为我从一份很有帮助的网上教程中了解到,Twilio有一个Python库与它连接。而且这种应用还是免费的,因为Twilio允许向账号所有者的手机免费发送消息。(这些消息都是以“发自你的Twilio试用账号”开头的,不过在这里没有什么不便。)

做完这些工作后,我又添加了另外两项小修改。首先,我希望这个系统永远都不会被用到,所以我觉得定期检查树莓派是否还在运行这点很重要。因此,我添加了一些代码,每天发送一次签到文本消息。

而且我还担心Wi-Fi连接可能不可靠。所以,我花了29美元从Internet on the Go购买了一个3G无线热点。这种特殊热点的好处在于,购买的流量永远不会过期。我买了30亿字节的流量,估计足够设备使用几百年了。

为了保证我计划里的充足流量不会提前被恶意黑客用光,我给树莓派添加了一个软件防火墙ufw,全称是UncomplicatedFirewall,即简单防火墙。剩下的最后一步是把耐克+发射器变成一条漂亮的项链。说实话,我不知道能不能把这项任务完成好。好在我有个正处于青春期又有艺术细胞的女儿,用可穿戴电子产品的最新时尚把她的奶奶打扮起来,她一定再愿意不过。

作者:David Schneider     


IEEE Spectrum

《科技纵览》

官方微信公众平台



往期推荐

21世纪的911:重新设计紧急呼叫系统,

以便与无线电和互联网求救信号协同工作

2018年十大高技术汽车(上篇)

涡旋光:引领未来通信之光