走れ!ラズパイ 〜 迷走する自動車からあなたの親を救い出せ:江端さんのDIY奮闘記 介護地獄に安らぎを与える“自力救済的IT”の作り方(最終回)(2/10 ページ)
認知症患者が、自動車を運転したままさまよい続ける、という問題は社会で大きくクローズアップされています。私も、父が存命だったころ、同じような出来事で人生最大級の恐怖を味わったことがあります。そこで今回、「ラズパイ」を自動車に積み込み、迷走する自動車から運転者(認知症患者)を救い出すためのシステムを構築してみました。
ラズパイをクルマに持ち込んで「移動サーバ」にする
それでは、前半を始めます。
最終回では、ラズパイを「(Web等の)サーバ本体」として、自動車本体に搭載してしまいます ―― イメージをしては、「データセンター」の設備を自動車で持ち運ぶようなものです(ちょっと大げさですが)。
本連載第1回では、行方不明の父の捜索に「ココセコム」という、安価で使いやすい位置情報提供サービスを活用できたことを紹介しました。
また、IoT関連であれば、現在のスマホには100%、位置情報アプリがインストールされていますし、(私が自分のサイトでお世話になっている)さくらインターネットの「sakura.io」や、Amazon Web Service(以下AWSという)のように、開発者のカスタマイズを前提としたIoTプラットフォームを提供しているところもあります。
私が、ラズパイをクルマに持ち込んでやろうとしている「移動サーバ(Movable Server)」は、その真逆の発想です ―― 普通に考えればナンセンスの極みです。
なぜ私が、たった一人でも、このようなやり方に固執しているかというと、汎用のIoTプラットフォームは、個人の週末エンジニアが簡単に試みるような仕組みになっていないからです。
そして、前述した通り、未来の私にとっての「いつでも、どこでも、誰もが、安心して外出できる国」を目指すための、私の、私による、私が楽しめるアプリケーションが作れないからです。
それと、当初私は、AWSを含めた介護ITシステムの構築を目指して、AWSの勉強を、それはもう死ぬほど真剣に、相当に膨大な時間(2019年11月から、ほぼ全部の週末)をつぎ込んで、勉強と試作を繰り返してきました(一定の成果*)もありましたが) ―― もうイヤだ、とはっきり言い切れるレベルで、AWS(正確に言うとクラウドサーバの構築全般)が嫌いになりました。
私の手に余る技術を、読者に説明できる訳がない ―― そう考えた私は、最終回のここに至って、AWSを介護ITのプラットフォームの構成から追放することを決意しました。
(AWSが「悪い技術」といっている訳ではありません。私が何を決意しようとも、もう私たちにはオンプレミスに戻る未来はありえませんし、実際に、私も実証実験(https://mory.mobi)等で使っています)
最終的には「私一人しか使わない介護ITを、どうして公のサーバで構築しなければならない?」と考えました―― つまり、私の考え方の原点「世界がどうなろうと知ったことか」に立ち戻ったということです。
では、本最終回で展開するシステムを3つ纏めて説明します。一応、この記事の読者の皆さんが、ラズパイを使って実際に構築可能な程度には丁寧に(可能な限りコミカルに)説明しますが、退屈と感じた方は、一気に後半までスキップしてください。
以下の図は、江端家の自家用車を想定した、車載装置の配置を示す図と写真です。
このシステムの構築風景(の一部)を、20秒程度の動画で紹介致します。
「移動サーバ(Movable Server)」の最大の弱点は「電力」です。なぜなら、今回のラズパイは、自動車が動いていない状態でも、一定時間(少なくとも丸一日くらい)は動作し続けてもらう必要があるからです。『父が車の運転をやめて、車から離れるたびに、移動サーバがダウンする』を避けるため、バッファとなる電源が必要となります。
私はバッファ電源として、市販のポータブル電源を使うことにしました。ポータブル電源への充電は、シガーライターからカーインバーターを経由して、運転中のみ行います(つまり充電しながら放電する、ということです)。ラズパイは電力が低下すれば自動的にシャットダウンプロセスが走ります。また、車を動かし出せば、ポータブル電源に給電されて、ラズパイが自動的に再起動するので、ラズパイにとっても安全な運用ができます。
5万円のポータブル電源を購入するのは、痛い出費と思いますが、探せばもっと安いものもありますので、安心してください(でも、災害時用に持っておくと結構安心です)。ちなみに、車のバッテリーの電源をラズパイに直結するという手段もあります(今回は割愛します)。
ソフトウェアですが、今回はプログラム言語として"Go"を採用しました。インストールの方法は、ネット上に山ほど転がっていますので、お好きな方法で実施しておいてください(私のインスールメモはこちら)。
ちなみに、C/C++に固執していた私に一体何が起きたか、と問われれば、いろいろなことが言えますが、最も衝撃的だったのは「40万円のゲーミングPCを使って、力づくでブン回していたデモ用のプログラム(python)が、Goに移植されたことで(ただし高度な並列処理を活用)、5000円のラズパイ上でサクッと動いたのを見てしまった時」です。
そうです。御託(ごたく)はどーでもいいんです。この世界では「動いているものだけが真実」ですから。
では、最初に上記の3つのシステム、(1)「追跡」システム、(2)「SOS通知システム」、(3)「よびかけ」システムに共通の環境を記載します。
まず、ラズパイは、これまでの連載で使ってきたものと同じものを使います。固定IPアドレスが付与されるイプシムのSIMを使い、IPアドレスは211.158.177.150とします(もちろん、デタラメなIPアドレス)。これによって、私(江端)は、車に搭載されたラズパイに直接SSHでログインできます(SSHログインは、TeraTerm等を使ってください)
また、ラズパイに搭載されている無線LANをアクセスポイントに改造します(方法は後述します)。IPアドレスは192.168.101.1とします(こっちは本物のIPアドレス)
ラズパイへのSSHログインのパスワードについては、ご自分で設定したものを使って下さい(デフォルトではpi/raspberryとなることが多いようですので、設定変更しておかないと、簡単にラズパイを乗っ取られます)。
Copyright © ITmedia, Inc. All Rights Reserved.