━━━━━
我年邁的母親搬到了附近一個退休社區后,我勸她戴上可穿戴警報手環。比如,如果她摔倒了站不起來,又夠不到電話,這個手環將幫她求救。她簽了退休社區提供的合同后,收到了一個類似設備,但像金槍魚罐頭一樣笨重。她從來沒戴過,我也不怨她。
實際上,現在有許多具備這種緊急呼叫功能的設備,隨著人口老齡化的趨勢,這個功能變得越來越重要。其中,許多設備都有一個依附于陸上通信線的基站。還有一些設備則內置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
《科技縱覽》
官方微信公眾平臺
往期推薦