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

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

いつもあざまーす!!

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に上げたいな。