【若手社員による技業挑戦LOG】
SORACOM LTE-M Buttonでペット状態確認
システムを構築してみた

【技業LOG】技術者が紹介するNTTPCのテクノロジー

2024.05.09
出口 りこ

インフラエンジニア
出口 りこ

取得資格:.com Master ADVANCE☆☆, ITIL Foundation,情報セキュリティマネジメント試験

技業LOG

若手社員による技業挑戦LOG
- 技術トレーニング実施レポート -

本記事は、NTTPCの若手社員育成施策である「トレーナー施策」の参加者が、実施した技術トレーニングの内容を紹介しています。
参加者にはトレーナーがアサインされ、課題設定からシステム構築、発表という一連の流れを経験しました。
この取り組みによって、部署をまたいだつながりの形成やコミュニケーションの活性化、技術力の向上などが促されることを目指しています。

1. はじめに

テクノロジー&オペレーション本部(以下TO本部と記載)では、若手社員育成企画として「トレーナー施策」という取り組みを実施しています。
若手社員に部署をまたいだ「トレーナー」をアサインして、横のつながりを生み出し、コミュニケーションの活性化や、技術力の向上を狙いとしている取り組みとなっています。
本施策に参加して私がSORACOM LTE-M Buttonを用いて構築した「ペット状態確認システム」に関して紹介したいと思います。

2. なぜ「ペット状態確認システム」を構築?

時は2年前に遡り......、私が入社後に配属された旧インフラストラクチャーサービス部(旧IS部)では、新入社員の勉強のための企画、通称「夏休みの課題」というものがありました。
私に与えられた課題は、「Raspberry Piを用いて、自分にとって何か役に立つ仕組みを構築せよ」というものでした。

Raspberry Piとは、教育用として作られた小型で高性能なコンピューターです。
当時の私は、開発やプログラミングなんて研修でしか触れたことがなく、Raspberry Piに関しても「何それ、オイシイノ・・?」状態からのスタートでしたが、なんとか試行錯誤してカメラモジュールを用いたペットの状態確認システムを作成することができました。
また、LINEとも連携させて、撮影をした写真を通知することが可能な遠隔ペットカメラを作り上げました。

今回のトレーナー施策では、この「旧・ペット状態確認システム」をさらに高機能化することを目指しました。

旧・ペット状態確認システムの概要

カメラモジュールの付いたRaspberry Pi4に、遠隔で別端末から指示を出すことで、リアルタイムで写真を撮り、LINEに通知することが可能なシステムです。また、指示を出すことなく、定期撮影できる機能も搭載しました。

旧・ペット状態確認システムの構成図

実際の運用(定点撮影)

3. 「ペット状態確認システム・改」を作ろう!

夏休みの課題で作成した「旧・ペット状態確認システム」は、機能が少なく必要最低限のシステムであったことから、今回の課題では、多機能化させることを目標として、新たなシステムを構築することにしました。

また、今回の課題の条件として、Raspberry Pi4 / Jetson / SORACOM LTE-M Buttonなどのデバイス候補から1つ選択する必要がありました。私は、AWSへの漠然とした苦手意識を払拭したかった点、そして多機能化させる目標を達成できるという点から、AWS IoT 1-Click デバイス(SORACOM LTE-M Button)を選択しました。

ペット状態確認システム・改の概要

構築したシステムは大きく2つあり、ひとつはAWS IoT-1clickにデバイスを登録し、AWS Lambdaに登録した関数を動かすシステムです。
もうひとつは、Webサービス同士(LINE notifyとwebhook)を連携するIFTTTシステムです。IFTTTを経由してLambdaの関数に連携キーを加えることで、ボタンの押し方(クリック、ダブルクリック、長押し)に応じて、3種類のメッセージをLINEに通知することができるシステムを作りました。

ペット状態確認システム・改の構成図

実際の運用

(第三者にコメント・画像を送ってもらう想定でのデモ画面)

4. 技術トレーニング内での苦労した点・学び

まず大きな点が、AWSを使い慣れておらず、何度も詰まってしまったことです。例えば、関数の保存ができていないことに気が付かず、テスト段階から失敗して進まないなどの初歩的なところから、かなり苦労して進めていきました。

また、切り分けの際には、ログを確認しながら進めていくと分かりやすいことをトレーナーである先輩社員から教えてもらい、そのおかげでこまめにログを確認するようになりました。
しかし、コードもログもよく理解できていないまま進めていたことで、メイン機能である"SORACOM LTE-M Buttonの押し方毎に3種類のメッセージを出し分ける設定"には非常に苦労しました。ひとつずつ理解しながらなんとか機能を搭載することができました。

そして、近年流行しているChatGPTにもお世話になりました。ネット上に載ってるコードがうまく動かない時など、実行したい内容のコードの書き方をChatGPTに聞くことで、別のコードを調べたり、比較して切り分けたりなどに利用しました。今まで、新たなツールを利用することに対しては腰が重くなりがちだったのですが、今回の施策ではAWSをはじめ、苦手意識があるものを減らすことを自身の目標にしていました。新たなものに触れる機会を増やすことで、便利なツールである!と感じることができ、とても勉強になりました。

5. 突如に起きたプチ事件「謎のAWS使用料30円・・・!?」

気が付かないうちになぜかAWSの使用料が発生しており、このままシステムの検証をするたびに、費用が増えていってしまうかと震えました。ですが、明細をよく調べてみるとAWS IoT-1clickに登録したデバイス1台毎にかかる料金であることが分かりました。請求は少額でしたが、先輩社員に話を聞くと"AWSあるある"の事件だそうです。想定外のことで焦りましたが、利用金額も事前に調べておく必要があることを再認識しました。

6. 課題を通じて得られたこと

今回の課題では、私の苦手としていたAWSに触れる良い機会となりました。
今回学んだことを業務に活用するレベルにするには、もうひと苦労が必要そうですが、勉強を続けていき、機会があれば活用していきたいと考えております。

また、他の部署の先輩社員と課題を通して知り合うことができ、困った時には教えてもらうなど、部署を超えて人と関わることで社内の人脈が増えました。
在宅勤務が主流となる中でも、課題を通じてオフラインで集まる機会が多く有り、コミュニケーション活性化といった面での施策の目的も達成できたと考えております。

良い意味でオンライン慣れをしている世代の私達ですが、オフラインのコミュニケーションならではの良さも積極的に取り入れていく必要があると感じたことも、新たな発見でした。
この施策で得た学びを忘れず、今後も精進していきたいと思います。

  • 「LINE」はLINEヤフー株式会社の商標または登録商標です。
  • 「Raspberry Pi」はRaspberry Pi Ltdの商標です。
  • AWSは、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。

技業LOG

NTTPCのサービスについても、ぜひご覧ください

おすすめ記事

    お気軽にご相談ください