ラズパイ使って業務改善

背景

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

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週間でここまでできました。

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

いつもあざまーす!!

サーバー引っ越し

どうでもいいことですが、サーバーを引っ越しました。

これまで自宅に構築したLinuxサーバーで運用してきましたが、勉強を兼ねてAWSのEC2に移してみました。

なんとなくやってみたくてWebサーバーをApacheからNginxに変更してます。
(超てこずりました・・)

移行手順については別途掲載しようと思います。

盗難対策作ってみた

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

しかしソラコムさんがまたやってくれました!
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
誠にありがとうございました。

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

M5Stackダストセンサ改良

珍しく続けての投稿です。
以前、M5Stackのダストセンサを作り、「温湿度もとりたいよー」と思っていました。

いつものスイッチサイエンスさん・・
M5Stack用環境センサユニット–販売終了
なんと在庫切れ!
しかも入荷予定なし!

仕方なくAmazonで買ったら3倍くらいしました・・。
もっと仕入先を増やさんとな・・。

サンプルを基に・・

値もちゃんと出ています。

ちなみに前回出ていたロゴが出ません。
M5Stack、すごくお気に入りなのですが、ちょいちょい不具合が出ます。
現在、3台持っているのですが、
1号機:ディスプレイ割れ(これは物理的な問題)
2号機:内蔵バッテリーで動かない
3号機:SDカードを認識しない
となっており、今回は3号機だったので・・

さて、アップロード先がSORACOM Harvestなので、Lagoonで簡単可視化!(LagoonはFreeプラン有です!)

ひとまず目標達成です。
次は眠ってるStick-Vをなんとかしたいなぁ。

M5Camera+人感センサで訪問者をお知らせ

最近、睡眠が不安定で19時~20時に寝て、朝というか夜中に目が覚める。
せっかくなので超朝活的に前に購入して眠らせてたM5Cameraを使って何かしてみようと。

玄関にだれか来たらLINEで通知するものを作ってみました。

今回も先人の知恵をお借りして・・
https://qiita.com/nakazawaken1/items/9bf0085e529ecdc53c75

そして今回もスイッチサイエンスさんから人感センサーを購入。
M5Stack用PIRセンサユニット(AS312搭載) [U004]

今回もかなり見た目が・・

取り付けるとさらに・・

ですが、なんとなく動いてそうです。

これから運用しながら改良していきたいと思います。

SORACOM+M5Stackで部屋の空気をモニタリング

前回、M5Stick Cを使い、Ambientにダストセンサーの値をアップできるようにしました。

動機としては、重度のアレルギー体質の私が体調が悪くなるこの季節(4~6月)、PM2.5や黄砂などの外気の汚れはもちろんとして、部屋の空気の汚れとの関連性を調べてみたかったことです。
※ちなみに今日もPM2.5絶好調です・・

前回の最後でも書きましたが、「いつかSORACOMに上げたいなー・・」と思いつつ放置していましたが、ソラコムさんが素敵なキャンペーンを!
https://www.lp.soracom.jp/202004-blog-campaign

ようやく重い腰を上げ、草刈りでも使ったM5Stack+3G拡張ボードに改造しました。
※ちなみに草刈りは↓

SORACOMを使ったIoT草刈りゲーム「草刈ルゥーーン」

今回もMSR合同会社様の記事を参考にさせていただきました。

M5StackでGROVE-ダストセンサを使う

草刈りのスケッチをもとに、MSR合同会社様のコードをマージし・・できた!

あ、あれ?
値が変わらない・・

MSR合同会社様の記事を再度見返すと・・
「なお、M5Stack Basicに最初からついているGROVEポートはI2C専用です。今回使用したM5Stackには、GPIO仕様のGROVEセンサをつなぐために「PLUSエンコーダモジュール」というものを取り付けています。」
・・ガーン!別のモジュールが必要だった!!
M5Stack PLUSエンコーダモジュール–販売終了

気付いたのが昨日(5/29)で、ソラコムのキャンペーンに間に合わないかも・・と焦りましたが、即注文すると翌日(今朝)届きました。
いつもありがとうございます!スイッチサイエンスさん!!

早速取り付け、繋いでみると・・

出たー!!

ちなみに見た目はこんな感じ。

草刈りの時には紹介し忘れていましたが、今回含め、ロゴ作成は以下のサービスにお世話になっています。
https://cooltext.com/

あと、地味に大変だったのが時刻表示・・
以下を参考にさせていただきました。
https://qiita.com/macha1972/items/f50b30b0ec28142bf884

先人の皆様、いつもありがとうございます。
また、ソラコムさん、素敵なキャンペーンをありがとうございます。
おかげさまでまた学びの機会が得られました。

せっかくなので、今後は温湿度なども一緒に送れるよう、改造します(いつか・・)。

STAY HOME

最近、アトピー&鼻炎でめちゃくちゃ体調悪いと思ったら、PM2.5のように思えてきた。

tenki.jp見て驚愕!

別の理由で”STAY HOME”を決意。

そういえば前にダストセンサー買ったけどそのままだったので、これで何かできないかと・・

https://www.switch-science.com/catalog/3081/

検索すると早速見つけた。

M5StickCでGROVE-ダストセンサを使う

ありがたく参考にさせていただき、初Ambientも難なくクリア。

見た目は完全に爆弾・・

調子に乗って温湿度も上げようとしたけど失敗・・
# このへんがなんちゃってエンジニア・・

なんとかクリアして、SORACOMに上げたいな。

SORACOMを使ったIoT草刈りゲーム「草刈ルゥーーン」

先日、つくばミニメイカーフェアというイベントでチーム「まさお」としてIoT草刈りゲーム「草刈ルゥーーン」というものを展示してきました。

展示に関する紹介はこちらです。

ホーム

技術的にはすごくシンプルで、草刈り機にGPSを取り付け、刈った範囲を可視化するものです。

このシステム(?)の通信から可視化についてはIoTプラットフォーム「SORACOM」のサービスで構築しています。

簡単に説明すると、草刈り機が動いている間、一定の間隔でSORACOMに位置情報を送り、Harvestにデータを溜めて、Lagoonで可視化するプロトタイプです。

試作機

1号機

電子工作未経験だったこともあり、Groveというはんだ付け不要のキットをSORACOMのサイトで購入しました。
https://soracom.jp/products/kit/grovestarter_kit_lte/

このキットにはGPSとSORACOMのSIMカード(SORACOM IoT SIM)も含まれています。

 

草刈り機が動いているかの判定はエンジン部に取り付けた振動センサで行います。

 

ついでに稼働時間をカウントするディスプレイも取り付けました。

 

実際の機器はこうなっています。

この機器を使い、広島県呉市のレモン農家、末岡新果園さんご協力のもと、実際のレモン農場で実証試験を行いました。

前日にすったもんだありましたが、初の実証試験、無事に動きました。

SORACOM Lagoonでも無事表示できました。

また、この実証試験の様子は「地方版IoT推進ラボ」というサイトでも紹介いただきました。
https://local-iot-lab.ipa.go.jp/article/hiroshima-pref-iot-2002091438.html?fbclid=IwAR3v8xGMnQJeZ3oxbYWl_H9YXcsXLzq4sLvNQ6k0akqUzYwpr8ZkIDgquO0

2号機

実証試験のあと、つくばミニメイカーフェアまで少し時間があったので、別の用途で購入していたM5Stackで2号機を作ることにしました。

振動センサは1号機と同じものを使い、GPS3G通信は別途モジュールを購入しました。

そしてここでもソラコムさんにも大変お世話になりました。

というのも、GPSモジュールと3G拡張ボードはそのままでは同時に使えないとのこと・・

対応方法をソラコムのMAXこと松下さんがQiitaにて紹介してくれていました。
https://qiita.com/ma2shita/items/e6f84f1d2e8c94e12e31

ソースコードまで提供いただき、実際には半日程度で開発できました。

展示

2月のつくばミニメイカーフェアはリーダーが突貫で制作したバーチャル草刈りもあり、非常に盛り上がりました。

実際の草刈り機は展示できないので、1号機、2号機をおもちゃに取り付けました。

デモデータを取ってみました。

まとめ

この「草刈ルゥーーン」のアイデアはハッカソンから生まれましたが、実装は「IoTの民主化」を掲げるソラコムさんをはじめ、Qiitaなどの先人たちの知恵を借りて容易に実現できました。

まだまだ課題は多いですが、引き続き改良し、社会実装を目指してユルユルと頑張ります。

今更ですが、ブログはじめました。

我が師匠のススメもあり、苦手ですがブログはじめてみます。

動機は不純で、別途投稿します。

はじめるにあたり、どのブログサイトにしようか悩みましたが、そういえば自宅にサーバーがあること、ドメインも持っていることを思い出し、突貫でWordPress構築しました。

いろいろ至らないところだらけですが、よろしくお願いします。