「入院者と外部とのコミュニケーション」への IoT の応用
フェイススケールのこと
先日身内が入院した折にこういう顔の絵の入ったクリアファイルを病棟で見かけました。
- フェイススケール - ja.wikipedia.org
フェイススケール(英: Face scale)とは、現在」の痛みを「にっこり笑った顔」から普通の顔、 そして「しかめっ面」そして「泣き顔」までの様々な段階の顔を用意して、神経痛などの痛みを 訴えている患者にどのぐらい痛むのかを示してもらうことで、その痛み度を客観的に知るために、 ペインクリニック・麻酔科などで用いられる用具・用紙のことである。看護師さんがベッドに横になったままのご高齢者にこれを見せながら大きな明るい声で尋ねている様子が印象に残りました。たった一枚の印刷物ですが、自由に話したり体を動かしたりすることのむずかしい状態の入院者とのやりとりには特に有用なツールであることが想像されます。
入院者と外部とのコミュニケーションへの IoT の応用
携帯端末での電子メール利用の普及により入院者と外部との連絡はメール以前の時代に比べ格段に便利になりました。病室内での通話は無理でもメールの送受信は多くの場合認められており、おそらくは施設側が伝言を取り次ぐ頻度も昔よりもずっと少なくなったことでしょう。
その一方で、症状や状況によっては小さなキーを操作することが困難であったり、あるいは携帯端末やメールとの接点を想像しにくい雰囲気の入院者も少なくないことを連日の病棟内の光景であらためて実感しました。残念なことに、現実にはそういう人たちにこそ関係者との日常的なつながりがより必要なケースが多いようにも感じられます。たとえ最小限の内容であっても当事者間で手軽にコミュニケーションをとることができれば双方の不安が確実に軽くなることを考えあわせると、社会の高齢化が進行する状況にあってこの話題は潜在的な必要性の高いテーマのひとつと言えるのではないでしょうか。
試みに、フェイススケールをヒントに病室内での使用を想定してごく簡単な操作で離れた相手とメッセージを交わすしくみを形にしてみました。身近な場面での実用性のある IoT のアイディアとして紹介します。
試作装置の外観と概要
下の写真の装置のいずれかのボタンを押すと相手側の装置の同じ絵の下の緑の LED が点滅し、併せてその絵柄を添えたメールが所定のアドレスへ届きます。
親しい間柄の人や自分自身が病室のベッドで苦しんだ経験のある方にはわかるのではないかと思いますが、いま入院者に「ボタンを押すだけの余力」と「絵柄を選択する意識」があるということを情報として伝えられることには、離れて案ずる側にとっても入院者自身にとってもそれ自体に大きな意味があります。また、一方通行ではなく相手からの反応が手元に届くことは双方の精神的な支えとなるでしょう。写真のとおり、互いに言葉や意味ではなく気持ちや意識を伝えることに主眼を置いてそれぞれのボタンの絵柄はあえて解釈の余地の広いものを選んでいます。
装置を病室に設置したイメージ |
メールには押したボタンの画像がインラインで表示されリンクのクリックで返信用のページが開く |
- インターネット接続環境を備えた入院施設が少ないことを考慮し装置は現在もっとも低コストでモバイル通信のハンドリングが可能な Raspberry Pi + 3G モデムの構成で MVNO SIM を使用しておりコンセントひとつで稼働可能
- 自分が押したボタンは赤 LED の点灯、相手の押したボタンは緑の LED の緩やかな点滅で示される
- 装置間のメッセージングには Milkcocoa 、メール送信には SendGrid を利用
- 赤ボタンの押下で各 LED を消灯、5秒以上の長押しで装置をシャットダウン
- 右端の LED は装置の稼働を示すパイロットランプ
動作の様子(動画:2分20秒 音声なし)
このデモ動画は入院者側が実装置を使用し相手側がインターネット接続環境のもとで Web 版の仮想装置を使用することを想定した内容です。もちろん二台の実装置間での応酬も可能です。
画像について
今回の試作では画像がコミュニケーションの仲介者として大きな役割を担っており、これらは病室という気持ちの沈みがちな空間に小さな癒しを灯すシンボルでもあります。一連の画像は Beeboo.SLI(ビブースライ)様が運用される画像素材サイト 「イラスト無料素材 イラストボックス」へ I<アイ>さん が掲載された作品を加工して使用させて頂いています。I<アイ>さんの素敵なイラストと素晴らしいサイトに謹んで御礼申し上げます。
装置づくり
メインの要素
これらに説明は要らないでしょう。いずれも「持っていると便利」な道具です。
Raspberry Pi 2 Model B
アマゾンで 5,000円前後 |
3G USB モデム:
L-05A
2015年10月に「イオシス」で 1,180円で購入(中古) |
MVNO SIM:0 SIM
(デジモノステーション 2016年02月号付属版) 手元の SORACOM Air とどちらを使うか迷ったが今回は 0 SIM を使用 |
筐体の材料と加工
今回の装置では操作用のボタンの選定が大きなポイントでした。小さすぎず大きすぎないものを探し以下の製品を選びました。
- ゲームスイッチ - 秋月電子通商 ¥150(税込)
パネル取付用押しボタンスイッチ(緑色)です。過酷な使用に耐えられるヘビーデューティー 仕様です。プッシュ機構部(樹脂製)とマイクロスイッチで構成されています。
このボタンは取りつけ時の占有直径がおよそ 34mm で、これを 5mm 程度の間隔で 7つ設置するには最低 28cm ほどの長さが必要です。100円ショップをいくつか見てまわり筐体として写真のパスタケースを選びました(長さ:30.6cm 幅:8.5cm 高さ:7.6cm)。
蓋の方が少し広めの台形で、固い底のほうを上にすれば安定感があります。
このケースの底にボタンを取りつけるには厚さ 3mm のポリプロピレン板に 30mm 程度のまるい穴が 7つ必要です。今の自分の工作力ではこのように硬く厚みのある素材に綺麗なまるい穴をあけることが難しく、練習用の予備であれこれやってみましたがなかなかうまくいきません。店先でたまたま野菜調理用の金属製の抜き型が目にとまりました。下の写真の大2 + 小2 セットの「小」の持ち手側の外径が 3cm に近く、試しにこれを熱してケースに押し当てるとちょうどよいサイズの綺麗な穴が得られました。ケースの両端には 1cm のマージンを設け、シャットダウンボタン用の一番右の穴は隣りと 1cm 離してあとは 5mm 間隔で穴をあけました。
野菜の抜き型 (金属製) |
穴をあけ終えたケース |
パーツの取りつけ
実際にボタンを取りつけてみると全体の印象は当初のイメージどおりでした。ただ、ボタン 7個、LED 13個分の計 40本の配線を内部の残りのスペースの四方へめぐらせるには電子工作用の一般的なワイヤでは固すぎて取り回しに融通が利かず、柔らかい導線を加工して筐体内の隙間へ這わせることにしました。スペース節約のため GND への繋ぎ込みにはメスのピンソケットのオス側をスズメッキ線で連結したものを使いました。
ざっくり結線。ワイヤが固い |
導線にLEDと抵抗とハンダづけして末端をオス・メス化 |
裁断した色画用紙を加工 |
ケースへ一式を収納して動作確認 |
ソフトウェア要素
作成したプログラム類一式を以下の場所で公開しています。
https://github.com/mkttanabe/iot_hospital
使用しているソフトウェア資産とサービス
土台の Raspberry Pi 2 Model B には標準ディストリビューションの Raspbian をインストールずみで今回は以下のソフトウェア資産を使用しています。
また、ふたつの優れたサービスを利用しています。メインプログラム
実装置用のプログラム本体は Node.js スクリプトとして記述しています。
Web 版仮想装置のページは以下の URL から参照できます。
http://dsas.blog.klab.org/data/iot_hospital/index.html?ID02&ID01
注:Web 版の動作には Milkcocoa アカウントを取得し 22行めに正しい APP ID を指定する必要があります
モデムまわり
L-05A + 0 SIM の組み合わせでのインターネットへの接続には wvdial ユーティリティを使用しています。/etc/wvdial.conf は以下の内容。"sudo wvdial" の実行で接続を開始します。
[Dialer Defaults] init1 = ATZ init2 = AT+CGDCONT=1,"IP","so-net.jp" Password = nuro Username = nuro Dial Attempts = 3 Stupid Mode = 1 Modem Type = Analog Modem Dial Command = ATD Stupid Mode = yes Baud = 115200 New PPPD = yes Modem = /dev/ttyACM0 ISDN = 0 Phone = *99***1# Carrier Check = no
※L-05A はゼロインストール機能を内蔵しており出荷時の設定により USB 接続時にはデフォルトで CD-ROM デバイスとして認識されます。eject コマンドで毎回これを解除するのが煩わしいため手元ではデフォルトで USB モデムとして認識されるように設定を変更しています。
- L-02Cを最初からUSBモデムで認識させる/手動でAPN登録する
- stkinosh (id:trtr) 様のブログ「/dev/stkinosh」より
モデムモードに設定した L-05A は lsusb コマンドで以下の要領で表示されます。
Bus 001 Device 004: ID 1004:6124 LG Electronics, Inc.
スタートアップまわり
システム起動時に今回の一式を自動実行するために /etc/rc.local に iot_hospital.sh の呼び出しを記述しています。 iot_hospital.sh は L-05A が装着されていれば wvdial でインターネット接続を試行し、接続に成功すれば前掲の iot_hospital.js を実行します。
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. # Print the IP address _IP=$(hostname -I) || true if [ "$_IP" ]; then printf "My IP address is %s\n" "$_IP" fi # run app sudo /bin/bash /home/pi/node/iot_hospital.sh & exit 0
(tanabe)