SORACOM MVC 2024を賜りました

こちらはSORACOM Advent Calendar 2024 シリーズ2 25日目(空いていたのでまさかのトリ)の記事です。

https://qiita.com/advent-calendar/2024/soracom

既に1カ月以上前の話となりますが、11月2日に開催されたSORACOM UG ExplorerにてSORACOM MVC 2024を賜りました。

SORACOM MVCとは

SORACOM MVCとは「SORACOM」というIoTプラットフォームのファン(ユーザー)が集うユーザーグループ、SORACOM UGなどの活動を通じてSORACOMコミュニティ活動に最も貢献した人に贈られる感謝の意です。

https://speakerdeck.com/soracom/say-hello-soracom-and-comminity-soracom-ug-explorer-2024?slide=23 より

私のSORACOMとのかかわり

私とSORACOMとの出会いは2018年。仕事でIoT案件に携わる機会があり、SORACOMを使うことで超短期開発に成功!そこからソラコムという会社とSORACOMサービスのファンになりました。

また、SORACOM UGというコミュニティがあり、なんと広島でもイベントをしていると聞き、当時コミュニティ初心者だった私は恐る恐る第2回参加しました(ビビッて懇親会は不参加)。

https://soracomug-tokyo.connpass.com/event/95943

その後、運営の安藤さんからお声がけいただき、第3回から運営に参加させてもらうこととなり、それからはコロナ禍によるオンライン会を含め、2024年までに第8回開催させてもらいました。

最近の活動

最近では他地区の運営の方々とも仲良くさせてもらい、比較的近場の九州、四国、岡山のイベントにも遠征で参加させてもらっています。トップエンジニアの方々との交流はとても勉強になるし、刺激をもらいます。

また、地方都市広島ですが、ITコミュニティがいくつかあり、また新しいコミュニティもどんどん生まれています。いろいろなきっかけで出会った方々に誘われ、さらに新たな出会いが生まれるというありがたい経験をさせてもらっています。

MVC受賞

そんな中、MVCを賜りました。

https://speakerdeck.com/soracom/say-hello-soracom-and-comminity-soracom-ug-explorer-2024?slide=25 より

対象期間2023年8月から2024年7月まで、UG広島2回開催(#7, #8)と他のコミュニティでの発信を評価いただきました。

振り返ると#8はJPAUG広島(Power Appsのユーザーグループ)とのコラボ、そのほかに以下のイベントでSORACOMやSORACOM UGの紹介をさせてもらいました。

(登壇させていただいたイベントの関係の皆様、ありがとうございました)

これらの活動を評価いただいたとのことです。

過去のMVC受賞者のみなさんはSORACOM UGはもちろん別のコミュニティでも大活躍されているスーパースターたちなので、場末の情シスの私は正直身に余るというか、おこがましいと感じましたが、震えるほどうれしかったです。

MAXさんをはじめソラコムの皆様、UG運営メンバーの皆様、参加いただいた皆様、会場を提供してくれた所属会社、理解ある上司、皆々様のおかげ様です。

今後もより一層、SORACOMのコミュニティ活動や地域に貢献できるよう、精進します!

MVC特典

受賞特典として、ソラコムからMVCパーカーとTシャツをいただきました。

早速パーカーを着て近所に買い物に行きましたが、「今このパーカーを持っている広島人は自分だけなんだ」と思うととても誇らしい気分になりました。

今後のUG活動はこのパーカーやTシャツで参加させてもらいます!(乾燥機にかけないよう、要注意!!)

また、MVCメンバー限定のチャットグループにも招待してもらえます。秘密基地に参加させてもらえてうれしいデス!

同時受賞者

今年のMVCは2名選出でした。

もう一人はUG 四国(高知)の須佐美さん。

https://speakerdeck.com/soracom/say-hello-soracom-and-comminity-soracom-ug-explorer-2024?slide=26 より

須佐美さんとは2023年のSORACOM Discovery(ソラコムの全国イベント)懇親会でお会いしてから仲良くさせてもらっていて、まさかの同時受賞となりました。

須佐美さんは「週イチで技術ブログを書く」と決め、続けていらっしゃるすごい勉強家&努力家!

https://note.com/susa_lab

同時受賞者となれたこと、感激です!!

これから

MVCを賜ったこれから、もっと頑張らんとなといった感じで、さっそくSORACOM UG 広島#9を年明けの2月に開催します。

https://soracomug-tokyo.connpass.com/event/338877

近隣にお住いの皆様、ぜひご参加いただければと思います!

MVCの名に恥じぬよう、2025年もがんばろう!!

それでは皆様、よいお年を~

2022年SORACOM活動ふりかえり

こちらはSORACOM Advent Calendar2022の18日目の投稿です。

https://qiita.com/advent-calendar/2022/soracom

これまでは技術寄りの投稿が多かったですが、これというネタが無いので、今年のSORACOM関連の活動(アウトプット)の振り返りをしてみたいと思います。

1/25 SORACOM UG Online #9 ~新春LT祭り~

登壇したことも忘れていましたが、年明け早々、全国イベントでLT登壇していました。

https://soracomug-tokyo.connpass.com/event/233053

発表内容はこのブログでも紹介したGPSマルチユニットで子供の幼稚園バスをトラッキングするネタ。

オチがイマイチでしたが、実生活でのIoT活用方法が紹介できたのと、Twitterで尊敬する方からコメントがもらえて、感激でした。

4/28 SORACOM UG 九州 #12

たまたま仕事の出張と日程が重なり、UG九州のオフラインイベントに参加できました。

https://soracomug-tokyo.connpass.com/event/244740

初めて広島以外の地方支部参加でしたが、非常にハイレベルな中、厚かましく拙いLTで登壇させていただきました。

ちなみにここで宣伝した草刈りeスポーツ大会ですが、構想から3年、コロナによる延期を乗り越えようやく5/14にイベント開催できました。(プロジェクトのリーダーのブログ

私はIoTデバイス担当で、M5StickC+SORACOMのシステム実装をやらせてもらいました。

トラブルもありましたが、無事にイベントを終えることができ、安心しました。

10/22 SORACOM UG Explorer 2022 @UG広島 〜秋のハンズオン祭り〜

ご参加の方はご存知かと思いますが、今年のExplorerは「秋のハンズオン祭り」ということで、全国5か所のサテライト会場を中継で繋ぎ、ハンズオンを実施しました。

私は広島会場の運営として参加させていただき、ほんの少しだけ発表もさせてもらいました。

https://soracomug-tokyo.connpass.com/event/261634

他会場のそうそうたる運営メンバーの皆様の中で気後れしまくりでしたが、大きなトラブルもなく、乗り切れました。

ご来広いただきましたkoyaさん、ご参加いただきました皆様、ありがとうございました!

11/24 Try SORACOMキャンペーン参加

完全におまけですが、年末に久々のTry! SORACOMキャンペーンがあり、ネタが浮かばず諦めかけましたが、何とか投稿できました。

過去イチ薄い内容でしたが・・

まとめ

今年は諸々の事情もあり、ちょっと活動少なめだったなぁと反省しています。

来年はUG広島オフラインイベント開催とかできればいいなぁと勝手に思っています。

それでは皆様、よいお年を!(雑っ!!)

ベトナムでソラカメ使ってみた

SORACOMのイベントで「好きなSORACOMサービスは『Try! SORACOMキャンペーン』です!」と言って失笑されるozkです。

久しぶり(約1年ぶり?)でしょうか、待望の「Try! SORACOMキャンペーン」です。

https://www.lp.soracom.jp/202210-blog-campaign

今回は色々とバタバタで過去イチ内容が薄いですが、せっかくなので挑戦してみます。

MEは何しにベトナムへ?

実はこのブログはベトナムのホテルで執筆しております。

私の所属する会社はベトナムとインドに拠点があり、ベトナム社はASEAN地区の案件対応の拠点として2014年から営業をしており、徐々に結果が出始めています。

とはいえまだ少人数でIT専任はおろか、兼任スタッフもおらず、情報セキュリティ対策など多くの課題を抱えているため、現地の状況確認という名目で1週間の滞在予定で、11/20から来ています。

2019年(深セン)以来やく3年ぶりの海外、コロナの心配や文化の異なるスタッフとの交流の難しさもありますが、異国情緒を楽しんでおります。

ベトナムの米麵料理、フォー

ソラカメとは

ご存じの方にはかなり今更感ですが、Soracom Cloud Camera Services ソラカメはクラウド録画機能を持つネットワークカメラです。

https://soracom.jp/sora_cam

低価格で高性能なAI機能付きネットワークカメラ、ATOM Camにクラウド常時録画機能が付いたものです。

ちなみに私が持っているのは上下左右に首振り可能なATOM Cam Swingです。

たった5000円弱でこんなに!と驚愕のコスパです(クラウド録画機能は月額費用が発生します)。

今回はこれをベトナムオフィスにこっそり持ち込み、使ってみました。

結果

早速ですが結果です。

以下のように配置し、事務所の無線LANに接続しました。

はい、見れました!

スマホアプリのライブ表示画面

…で?って感じですが、以下に先日公開されたソラカメAPIを使ってタイムラプス動画を作る方法が公開されています。

https://soracom.github.io/iot-recipes/iot-workshop-sora-cam-api-timelapse/#0

帰国後、これを参考にダレトクの私のベトナム勤タイムラプス動画にまとめたいと思います。

現場からは以上です。

(おまけ)ベトナムでSoracom Mobile使ってみた

以下のSoracom Mobileというサービスを先日知り、タイムリーに海外出張が入ったので使ってみました。

https://soracommobile.com/ja

飛行機着陸後、機内モード解除するとすぐネットに接続!

いやー、便利ですねー。

iPhoneお持ちで海外にお出かけの方、是非使ってみていただければと思います。

まとめ

今回は本当に薄っすい内容でした。

もしかしたら海外オフィスの監視に使えるんじゃない?という可能性を匂わせて終わりとさせていただきます。

追伸

キャンペーン開始時、締め切りが11/24だったので急いで書いたのですが、12/25に延長されていました(ガーン)。

ただせっかくなので、「海外で書いた」という響きに憧れて、薄い内容ですが当初の締め切り日に投稿させていただきます。

末筆ではございますが、ソラコムさん、いつもアウトプットの機会をいただき、ありがとうございます。

今後とも何卒よろしくお願いいたします。

幼稚園バストラッカー続編

例によって「Try! SORACOMキャンペーン」です!

https://www.lp.soracom.jp/202112-blog-campaign

はじめに

前回の投稿でSORACOMのGPSマルチユニットを使った幼稚園バストラッカーを紹介しました。

既製品のデバイスを手軽に使えて良かったのですが、このシステム、以下が課題だなーと思ってました。

  1. (デバイスの仕様上)位置情報の送信が1分に1回しかできない
  2. (機能が無いので)距離が正確に算出できない
  3. (機能の都合で)移動していない時も1分に1回情報を送り続ける

「もっと細かい設定ができたらなー・・」と思ってたら、ハッ!

前々回の投稿でスマホ(RedMobile)という絶好のIoTデバイス(武器)を手に入れていました。

早速調べると、やはりありました!locationノード。

お試し

最低限で以下のフローで動かせます。

subscribeノードのSensorを「GeoLocation」にしてデプロイします。

subscribeノード

injectノード実行でデバッグウィンドウに数秒おきに緯度経度が表示されます。

RedMobile最高!

ついでにダッシュボードに表示。

実装

ここからSORACOMです。

SIMグループのHarvest Data設定などは割愛させていただきます。

まず取得した緯度経度をflow変数にセットします。

そしてinjectノードで設定した周期でSORACOM(Unified Endpoint)にhttp request。

injectノード
http requestノード

「送信データ作成」functionノードは以下。

var data = {};
data["lat"] = flow.get("lat");
data["lon"] = flow.get("lon");

msg.payload = data;

return msg;

これで課題1(短周期での送信)が解決!

続いて課題2(ちゃんとした距離の算出)。

2点の距離は緯度経度、三角関数で出せるそうです。

前回は緯度経度を使い、三平方の定理もどきで距離っぽいものを出していましたが、今回はコレが使えます。

距離取得のfunctionノードを追加します。

var base_lat = (起点の緯度);
var base_lon = (起点の経度);
var now_lat = msg.payload.latitude;
var now_lon = msg.payload.longitude;

var dist = 6371 * Math.acos(Math.cos(base_lat * Math.PI / 180) * Math.cos(now_lat * Math.PI / 180) * Math.cos(now_lon * Math.PI / 180 - base_lon * Math.PI / 180) + Math.sin(base_lat * Math.PI / 180) * Math.sin(now_lat * Math.PI / 180)) * 1000;
flow.set("dist", dist);
msg.payload = dist;

return msg;

そして送信データに距離を追加するだけ。

var data = {};
data["lat"] = flow.get("lat");
data["lon"] = flow.get("lon");
data["dist"] = flow.get("dist");

msg.payload = data;

return msg;

課題3(移動時のみ位置データ送信)は同じ方法で前回の送信場所からの移動距離を判定して「移動していなければ送らない」を実装して解決(手抜きですみません・汗)。

実証

開発はSORACOM Arcでやりましたが、本番はSORACOM Air(SIM)を挿して息子のバッグに忍ばせます。

そしていつものSORACOM Lagoonで可視化。

いい感じです。

拡大するとわかるのですが、短周期なので、より細かいトラッキングができていました。

前回のオチで書いた通り、世のシステムが立派すぎてコレもお蔵入りですが、今後どこかで使えたらいいなーって思います。

補足

せっかく作ったので、通勤の時に持って歩いたところ、アレ?

実際のルート(赤線)は直線的なのに超ジグザグ・・

というのも私、河川敷を徒歩で通勤しているのですが、どうやらRedMobileのlocationは道じゃないところは苦手なようです。

やってみてわかることってあるなーと感じた2021年年末でした(雑な結び)。

みなさま、よいお年を・・

IoTで子育てHack

この記事は、「子育てエンジニアAdvent Calendar 2021」17日目の記事です。

私事ではありますが、10月に第三子(長女)が生まれ、10月中旬から1カ月強の育休をいただきました。

今回このアドベントカレンダーを知り、たぶん人生で最初で最後の育児休暇の間の育児と家事を通じ、エンジニアとして何か改善できないか取り組んだ記録を残してみたいと思います。

自己紹介と家族構成

私は社会人21年目の中年おじさんで、プログラマーとしてキャリアをスタートし、いろいろ経て今は社内情シス(主にインフラと雑用)をしているなんちゃってエンジニアです。

妻(専業主婦)と息子2人(5歳と3歳)、新入りの長女の5人で暮らしています。

幸い私も妻も実家が近い地元暮らしなので、母と義母に助けてもらいながら子育てができる恵まれた環境(感謝!)で、少しですが趣味の時間もとれる状況です。

育休中大変だったこと

育休中、家事と育児、色々大変でしたが、その一つが長男(5歳)の幼稚園バスのバス停までの送迎です。

特に行きはバスの到着時間がまちまちで、待ち時間が長いときは「なんだかなぁ」と思ってました。

幼稚園バスのイラスト

IoTで課題解決

概要

なんちゃってエンジニアの私ですが、2018年からIoT(Internet of Things)にちょろちょろ携わっていて、特にソラコムのデバイスやサービスを使うのが好きです。

今回、以下のGPSマルチユニットを使って、幼稚園バスの現在地を可視化(および通知)をしてみようと思い、挑戦しました。

https://soracom.jp/store/5235

実装

GPSマルチユニットの設定の方法は以下にあります。

https://users.soracom.io/ja-jp/guides/iot-devices/gps-multiunit

今回は送信モードを「定期送信 – 手動モード」、送信間隔を最短の「1分」にしました。

さらに高頻度に送信するため、加速度割込みも設定します。

これにより移動中は1分未満で位置情報が送れます(たぶん)。

可視化はSORACOM Lagoonというツールを使い、Soracom MAPパネルを使って地図を表示します。

https://soracom.jp/services/lagoon

実験

いきなり幼稚園に「バスにコレ載せてください」はお願いしにくいので、息子のカバンに手持ちの2台のGPSマルチユニットを忍ばせました(それもどうなの・・?って感じですが・汗)。

結果、いい感じでデータとれました。

行き(マップはぼかしてます)

残念ながらSORACOM Lagoonには距離を取得する機能がない(知らないだけかも)ので、下段の幼稚園の距離は幼稚園とバスの緯度経度の差の二乗和(×1,000,000)で出してみました(SQRTもなく苦肉の策)。

「緯度」と「経度」は幼稚園の緯度経度
($A - 幼児園の緯度) * ($A - 幼稚園の緯度) + ($B - 幼稚園の経度) * ($B - 幼稚園の経度) * 1000000

※幼稚園の緯度と経度はGoogleマップから取得しました。

この値でアラート機能を使えば出発&お迎え通知機能もできそうです。

オチ

「さて、幼稚園に提案しようかな」と思ったのですが、ふと「幼稚園バス GPS」でググってみたら、月にわずか数千円で使えて、より高機能なサービスが山のように。

ま、そりゃそうか・・

しかしこういうものがDIYでできるようになったのは「テクノロジーの民主化」、すごいなーって思います。

今回は微妙な結果でしたが、引き続き子育てや家事に役立つシステムを日曜大工的に作るのも悪くないなーと感じたなんちゃってエンジニアおじさんでした。

スマホで簡単IoT

今回の投稿は以下のイベントで発表した内容です。

https://iotlt.connpass.com/event/227874

せっかくなので、(締め切り直前ですが)いつものキャンペーンに参加してみます。

https://www.lp.soracom.jp/202110-blog-campaign

経緯

私事ではありますが、先日第三子(長女)が生まれ、育休をいただいています(現在4週目)。

育休中、資格の勉強や積読(つんどく)&積みデバイスの片付けをしたかったのですが、(先人の教えの通り)家事&育児でほとんどできていませんでした。

そこにイベント登壇の依頼があったので、せっかくなので育児にかかわるシステムを作りたいと思い立ち、赤ちゃんの見守りシステムを作ってみることにしました。

どうやって?

SORACOM UGでもお世話になっている「しょーちゃん」さんが先日、スマホでPoCするブログをアップされていました。

https://zenn.dev/showm001/articles/2021-08-12-01

今回、このAndroidスマホ+Node-RED(RedMobile)+SORACOMサービスで挑戦しました。

準備

RedMobile

RedMobileはスマホ内蔵センサーのノードを組み込んだNode-RED環境を提供するもので、有償(500円)ですが、Google Playからインストールするだけで使えます。

インストール後Wi-Fiに接続した状態でアプリを起動し、Startをタップします。

RedMobileの起動

Node-REDが起動され、「http://(ローカルIP):1880/red」と表示されます。

Node-RED起動後の画面

同一ネットワークのパソコンでブラウザを起動し、先ほどの 「http://(ローカルIP):1880/red」 にアクセスするとNode-REDの編集画面になります。

Node-RED編集画面

SORACOM Arc

SORACOM Arcというサービスを使うと、SIM不要でインターネット環境からSORACOMのサービスを利用することができます。

SORACOM ArcはスマートフォンにWireGuardというアプリをインストールして設定します。

詳細の手順は前述の「しょーちゃん」さんのブログをご参照ください。

つくったもの

以下の機能を持つ赤ちゃんの見守りシステムにしました。

  • スマホ内蔵の明るさセンサーで夜間の照明点灯時間を計測
    →授乳回数やおむつ交換の参考とする
  • スマホカメラで赤ちゃんの睡眠の様子を観察する

携帯画面

Node-REDのダッシュボード機能でこんな画面を作りました。

携帯画面

SORACOMダッシュボード

SORACOMサービスとしては、明るさセンサーのデータはSORACOM Harvest Data、カメラで撮影した画像はSORACOM Harvest Filesに保存し、SORACOM Lagoonで可視化しました。

Lagoon画面

実装

Node-RED

以下のようなフローとなりました。

Node-REDフロー

詳細は別の機会に紹介できればと思います。

SORACOM

光センサーデータの送信は「しょーちゃん」さんのブログ、画像の送信&可視化は以下を参考に実装しました。

https://users.soracom.io/ja-jp/docs/harvest/send-files

https://users.soracom.io/ja-jp/docs/harvest/lagoon

画像送信はいろいろ問題があったので、後日まとめてQiitaにでも上げておきます。

テストの結果

結論から言うと失敗でした。

理由はスマホの明るさセンサーが作業時の常夜灯に反応せず、0だったが原因です。

写真も当たり前ですが、電気を消すと真っ暗…

テスト運用結果画面

まとめ

今回の開発システムは失敗でしたが、特別なデバイスを使わず、スマホだけでセンサーデータ、カメラ画像をSORACOMにアップロードできるのはいろいろと可能性が広がります。

また、「スマホだけでできる」というのはビギナーにとって「試してみる」のハードルを下げられるのではないかと思っています。

謝辞

くどいですが今回のシステムは「しょーちゃん」さんのブログのおかげで作ることができました。

また「しょーちゃん」さんには「もくもく会」でも直接アドバイスをいただき、感謝です。

https://soracomug-tokyo.connpass.com/event/229776

またイベント登壇のお声がけをいただきました武村さん、ブログ書くモチベーションをくださるソラコムさんいつもありがとうございます。

SORACOM ArcとラズパイZeroで監視カメラ

前置き

もはや悪びれず言います。

イベント滑り込みです。

https://www.lp.soracom.jp/202108-soracom-arc-blog-contest

そしてコンテストなのに内容も薄めです。

概要

前回の投稿ではラズパイとWebカメラを使った監視カメラを作りました。

このカメラ部分をラズパイZero WSORACOM Arcを使って実現してみたいと思います。

SORACOMのプラットフォームはこれまで、基本SORACOMのSIMを使った通信が前提となっており、前回の監視カメラは以下の構成となっていました。

SORACOM Arcは既設のインターネット環境を使ってSORACOMプラットフォームが使えるようになるので、専用のルーターも不要になります。

「で?」って感じですが、気軽にSORACOMサービスを試したり、(通信料がSIMより安いので)大容量の通信をする場合に良さそうに思います。

やったこと

ラズパイZero

ハードウェア

使ったハードは以下の通りです。

組み合わせるとこんな感じになります。

このコンパクトな感じでLinuxが動かせるのがZeroの魅力だと思います。

OSインストール

Raspberry Pi Imagerを使ってRaspbianをインストールします。

※手順は割愛させていただきます。

以降の作業はラズパイZeroにSSH接続した前提で進めます。

カメラの有効化

ラズパイカメラを使うため、raspi-configコマンドを実行して、以下の手順で有効化しします。

$ sudo raspi-config
  1. Interfacing Options → Camera を選択
  2. Enterキー押下
  3. Yes (はい)押下
  4. Ok (了解)押下
  5. Finish 押下で再起動

設定完了後、以下のコマンドで写真が撮影できるようになります。

$ raspistill -o image.jpg

WireGuardインストール

ラズパイでSORACOM Arcを使う場合、soratunというツールが便利(らしい)ですが、残念ながらZeroでは使うことができません。

代わりにラズパイZeroにWireGuardというVPN接続アプリを入れて作業します。

以下のコマンドでWireGuardをインストールします。

$ sudo apt install wireguard

SORACOM Arc

以下の手順に沿ってコンソール&ラズパイの設定を進めるとArcの設定ができます。

https://users.soracom.io/ja-jp/docs/arc/create-virtual-sim-and-connect-with-wireguard

画像

このままだと起動時に手動接続しなくてはいけないので、自動接続できるようにします。

$ sudo systemctl enable wg-quick@wg0

SORACOM Harvest Files、Lagoon

以下のレシピ「カメラの画像を SORACOM Harvest Files にアップロードする」以降を参考に設定します。

https://soracom.jp/recipes_index/2956

※手抜きですみません・・

撮影&送信

エラー処理とかまったく考えなければ、cronの設定のみできます。

$ crontab -e

最下行に以下を追記します。

*/15 * * * * /usr/bin/raspistill -rot 270 -w 640 -h 480 -o image.jpg; /usr/bin/curl -X POST -H 'Content-Type: image/jpeg' --data-binary '@image.jpg' harvest-files.soracom.io

設定の内容、オプションは以下の通りです。

  • */15:15分毎に実行するようにしています
  • -rot 270:前述の設置状況なので、3/4回転(270°)させてます
  • -w 640 -h 480:無駄に画質上げても・・なので640×480にしてみました

適宜変更いただければと思います。

結果

15分おきに写真がアップできるようになりました。

正直、現状どう使っていくかは未定ですが、通信料を気にしてエッジ処理とか考えてたところがエイヤーでクラウドに投げれそうな予感がしています。

これから知恵絞ります・・。

ラズパイ使って業務改善

背景

毎度毎度でお恥ずかしい限りですが、またイベントありきです・・

https://www.lp.soracom.jp/202104-soracom-raspberry-pi-contest

もともとLinuxが少し得意なのと、安くて面白いハードを出すので好きだったラズパイ(正式名称:Raspberry Pi)。

ソラコムさんがコンテストするということでネタが無いか探していたところ、タイミングよく社内でお声がけいただきました。

概要説明

私の勤務する会社では「機械強度試験」という業務があり、金属の接合部の耐久性を検査するサービスを行っています。

https://www.chugai-tec.co.jp/business/detail?id=247

「疲労試験機」では下の写真の上の固定具(クロスヘッドというそうです)が繰り返し上下に荷重を加え、接合の耐久性を試験します。

相談内容は、設備の稼働率を上げるため、接合部が破断した時に早く知りたいということでした。

現物を見せてもらい、実際に破断した時の説明を聞くと、上の固定具がスルスル上に動くとのこと。

そこで考えたのが、下のヤツと上のヤツの距離が変わったら通知したら?

試作機

ラズパイにはGrovePiというものを取り付けると、簡単にセンサーが取り付けできます。

また、以下の方法でWebカメラを使って簡単に監視カメラが実装できます。

https://soracom.jp/recipes_index/2956

で、作ったのがこちら。

使ったのは以下です。

ラズパイだと複数の機能が1台でできるのでクールです。

ちなみにセンサーデータはNode-REDを使ってSIMフリーのモバイルルーターからのアップロードしています。

可視化と通知

みんな大好き(?)SORACOM Lagoonです。

先日アップデートがあり、かなり見た目がカッコよくなりました。

アラート通知機能もありますし、見た目もいい感じです。

結果

この流れでアレですが、うまくいきませんでした。

というのも、上の固定具が上下に細かく振動するので、超音波距離センサが正しく距離を測れず、ただの監視カメラになりました・・

代わりに採用されたのがこちら。

SORACOM LTE-M Button Plus(通称ひげボタン)を使ったこちらです。

実装は以下そのまま・・。

https://soracom.jp/recipes_index/2966

メールで通知が届いたらLagoonの画像で確認できます。

まとめ

コンテスト的には残念な感じでしたが、前々からやりたかった自社業務の改善を大好きなソラコムのシステムを使って実現できたので満足です。

今後もこういうことやっていきたいなと思いました(イベント有無にかかわらず)。

今回のシステム開発でもソラコムさんのサポートにお世話になり、わずか1週間でここまでできました。

モチベーションを与えてくれるイベントの開催含め、ソラコムさんには感謝です!

いつもあざまーす!!

盗難対策作ってみた

暗い話題からスタートですが、春先から体調を崩し、あまり活動できていません・・。

しかしソラコムさんがまたやってくれました!
https://www.lp.soracom.jp/202008-blog-campaign
過去2回同様、モノにつられ、重い腰を動かします。

過去の開発

以前、盗難対策(防止ではなく)として、モノが盗まれた際、通知と位置情報を知るものを考案し、作りました。

システムとしては、SORACOMのLTE-M Button Plus(通称ひげボタン)に振動センサーから信号を送って、SORACOM Func→AWS Lambda→Slackと通知を送るものです。
位置情報は簡易位置測位機能を使って取得していました。

このシステム、電池で長時間稼働でき、非常に良かったのですが、以下の課題がありました。

  • 死活監視できない(異常発生していないのか、死んでるのかがわからない)
  • 簡易位置測位だと位置情報が結構ズレる

特に位置情報は私の住んでいる地域(広島市内)では200~500mのズレがあり、時には海の向こうの島が指されることがありました。

今回の開発

そんななか、ソラコムさんからまた素敵な新製品が!

https://soracom.jp/products/kit/gps_multiunit/

GPSに加え、温湿度、加速度センサーも搭載しています。
このガジェット、定期送信に加え、「加速度割り込み」機能があります。
この加速度割り込み機能を振動検知に使えば、簡易位置測位より精度の高いGPSを使ったものにできるのでは・・
さらに定期送信により1日1回自動送信すると、死活監視にもなる。
すなわち前述の課題「通知が無いと思ったら死んでた・・」が解決されます。

さらにさらに、システム的には前回のものがほぼ再利用できます。

ということでLambdaを一部修正するのみで完了。
GPSマルチユニットを動かしてみると・・数十秒で通知が届きます。

リンクをクリックするとGoogleマップで表示されます。
ひげボタン版は数百mズレていましたが、今回のものはかなり精度高いです。

ポケットに入れて散歩してみると・・

いい感じでトラッキングされています(コンソール画面を加工してます)。

ここまで使ってみた感想(課題)です。

  • 室内ではGPS情報が取れないことが多い(システムでは「位置情報なし」としています)

  • 定期送信と加速度割り込みはどちらもペイロード「type=0」で届くので、紛らわしい
    https://dev.soracom.io/jp/gps_multiunit/how-it-works/
  • 徒歩では加速度割り込みが発生するが、電車や車移動では発生しない(走行時のトラッキングはできない?しきい値変えればできる?)

もう少しいろいろ試してみたいところです。

お礼

いつもながら、このようなアウトプットのモチベーションをくださるソラコムさん、ありがとうございます。
また、Lambdaの実装については、Kenichiro Wada様(@keni_w)のQiitaを参考にさせていただきました。
https://qiita.com/keni_w/items/9e9235dc9d7310062459
https://qiita.com/keni_w/items/4b511f89c8dbd259a78d
誠にありがとうございました。

体調もだいぶ回復したので、少しずつがんばります!