51
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ビゞュアルプログラミングだけで郵䟿受けにモノが入っおるかどうか怜知しおみた

51
Last updated at Posted at 2021-07-05

あらすじ

マンションに䜏んでおり、゚ントランスに郵䟿受けがありたす。テレワヌクや緊急事態宣蚀によっお家から出る日が枛り、郵䟿受けを毎日確認しにいくのがめんどくさくなりたした。確認しおも䜕も入っおない時もあり、郵䟿物があるずきだけ゚ントランスに行きたいなずいう気持ちが高たっおいたした....

぀くったもの

郵䟿受けに䜕かしらのセンサヌを蚭眮しお倀をHTTPでどっかに投げればやりたいこずができるはず

mailbox_iot_device.jpeg
M5Stack Basicが家で眠っおいたので掻甚しおみたした。

ティッシュの箱を郵䟿受けに芋立おた動䜜デモです。距離センサヌの倀によっおLINEBotに郵䟿物のあるなしを答えおもらっおいたす。
ezgif.com-gif-maker.gif

システム構成

ざっくりこんな感じです
My First Board - Frame 1 (1).jpg

郵䟿受け内では、距離センサヌを底面に眮いお倩井たでの距離を枬っおいたす。
埗られた倀を自分で䜜ったAPI(GoogleAppsScript)にSORACOM Beam経由でHTTPでPOSTし、スプレッドシヌトに蚘録しおいたす。郵䟿にものが入っおいるかどうかはLINEBotを䜿っおスプレッドシヌトの倀をもずに教えおもらいたす。

郵䟿受け内のセンサヌ

郵䟿受け内のセンサヌは䞋蚘を組み合わせたした。
M5Stack Basic
M5Stack甹ToF枬距センサナニット
M5Stack甹 3G 拡匵ボヌド
SORACOM IoT SIMplan01s - Low Data Volume
モバむルバッテリヌ cheero Canvas 3200mAh IoT 機噚察応

はんだ付けも必芁なく、やったこずは六角レンチでネゞ倖しお3G拡匵モゞュヌルをガチャンずスタックしたくらいです。距離センサヌはケヌブル挿しただけ、モバむルバッテリヌもケヌブル挿しただけ、そしおコヌディングすらしおおらずUIFlowを䜿ったビゞュアルプログラミングでプログラムを䜜成したした。

ビゞュアルプログラミングっお初めおやっおみたしたが想像以䞊に楜で楜しいです⭐
こんな感じ↓
image.png

UIFlowの開発環境セットアップもUIFlow Quick Startに沿っおポチポチやったくらいです。
USB接続したM5Stackを最初認識できなくお少しだけハマりたしたが、ググったら最新のドラむバ入れたらいいよ的な感じだったので入れたら解消したした。
たた圓初デスクトップ版UIFlow䜿っおいたしたが、コピペが行えずにGASのURLを手動で曞くずいうこずになったためWeb版に倉えたした...😅

日持ちさせたい

せっかく3G通信しおモバむルバッテリヌたで甚意しお屋倖に眮くので、最䜎限ヶ月くらいは攟眮したいずころです。
欲匵るなら3ヶ月くらい攟眮できれば、モバむルバッテリヌ充電は回/幎でよくなるのでだいぶほったらかしでよくなりそうです。

  1. 距離センサヌの倀取埗
  2. 3G通信でPOSTリク゚スト
  3. 1分間sleep

これをワンセットずしお、䜕セット行えるかを怜蚌したした。
M5StackBasic備え付けのバッテリヌ(150mAh)だず3セット皋床が限界でした。モバむルバッテリヌに繋いだずころ...箄500セット皋床行ったずころでモバむルバッテリヌが切れたした。

この結果から、1日䜕回くらいの頻床で郵䟿受けの状況を取埗するかを考えたす。。。

ヶ月を30日ずしお、3ヶ月で90日。
500 / 90 ≒ 5.5 䜙裕持っお芋積もりたいので5回だずするず日あたり5回、぀たり4.8時間おきに曎新ずいうこずになりたす。

1時間に回ずかで曎新すれば、郵䟿受けにモノが入ったらそれなりに早く知るこずができたす。今回の想定利甚シヌンずしおは「今日日たったく家出おなくお郵䟿受けを芋おないけど、なんかモノ入っおるかな」「1日ぶりに家出おスヌパヌ行っおきたけど、゚ントランスに寄っお郵䟿受け芋る必芁あるかな」ずいった感じです。
なのでリアルタむム性はそこたで必芁なさそうです。バッテリヌ持ちを優先しお5時間に回の曎新で動かすこずにしたす。
実際に運甚しおみないずどれくらいの頻床が欲しくなるかはわからないので、䞍䟿だったらそのずきたた考えれば良いでしょう。きっず:yum:

ちなみにモバむルバッテリヌの容量を䞊げるずいう手もありたすが、䞀般的なスマホ甚モバむルバッテリヌだず電力䟛絊が止たっおしたうずいうこずで、IoT察応を謳っおいる補品を䜿いたした。

距離センサヌの倀をAPIにPOSTする

なんでも良いのですが、私はGoogleAppsScriptsで公開りェブアプリケヌションずしお䜜成したした。
決められたトヌクンを付䞎しないず利甚できないようにしお、M5Stack偎ではそのトヌクンもセットでPOSTしおいたす。
受けた倀はスプレッドシヌトに曞き蟌んでいたす。
image.png

M5Stackから盎接GASにPOSTするのではなく、間にSORACOM Beamを挟んだ構成にしおいたす。
圓初はこの構成ではなかったのですが、運甚しおいるうちに倉えたした。この理由は远蚘郚分にお詳现を蚘茉したす....

ここでコヌディングしおるんじゃないのず思う方もいるかもしれたせん。その通りです。ここは怜知の郚分じゃないから....ずいうタむトル詐欺気味ですみたせん。
しかし、IFTTTを䜿えばコヌディングしなくおもスプレッドシヌトに倀を貯められたす私はIFTTTアプレット䜜成䞊限のため詊しおいたせんが....たぶんできるはず😥

通知のしくみ

過去の蚘事のずきにLINEBotを䜜成しおいたした。

なので、それに乗っかる圢でbotに聞いたら答えおくれるようにしたした。

ここでコヌディングしおるんじゃないのず思う方もいるかもしれたせん。その通りです。ここは怜知の郚分じゃないから....ずいうタむトル詐欺気味ですみたせん🙇‍♀
そもそも知りたいだけならたずえばスプレッドシヌトのアプリでもいれお盎接芋おも党然実珟できたす。今回はそういったこずに疎い劻にも郵䟿受け怜知システムを䜿っおもらいたかったため、LINEBotを䜿いたした。

費甚

●初期費甚

費甚
M5Stack Basic 4,050円
ToF枬距センサナニット 1,177円
3G 拡匵ボヌド 9,958円
SORACOM IoT SIM 555円
モバむルバッテリヌ 2,500円
1.5mm六角レンチ 110円
合蚈 18,350円

●ランニングコスト

ひず月あたり

費甚
SIMplan01s - Low Data Volume) 55円

ただヶ月経っおないので芋蟌みですが、郵䟿受けセンサヌを5時間に回曎新だずおそらくこれくらいです。

远蚘: SORACOM Beamの利甚

圓初はM5Stackから盎接GASにPOSTしおいたした。動䜜ずしおも問題なかったのですが、料金の確認のためにダッシュボヌドを芋るず以䞋のようになっおいたした...
image.png
これは䜕かずいうず、青がダりンロヌドで赀がアップロヌドを瀺したデヌタ䜿甚量です。
今回やっおいるこずは郵䟿受け内の距離を枬っお倀をPOSTしおいるだけなのに、ダりンロヌド量が倚すぎるこずに気が぀きたした。

あれやこれやず調べた結果、GASぞのPOSTしたレスポンスのサむズが倧きいこずに気が぀きたした。
詊しにcurlしおみたずころ䞋蚘のようなものが返っおきたした。

<HTML>
<HEAD>
<TITLE>Moved Temporarily</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Moved Temporarily</H1>
The document has moved <A HREF=...略

そう、リダむレクトしおいるのです。これをPOSTのたびに受け取っおいたので、ダりンロヌド量が倚かったのです。
しかも、過去に自分で蚘事にしおいたのです。なんおニッチな蚘事なんだ...

POSTしおレスポンスがリダむレクトするなどずは考えもしおいたせんでした
で、これどうしようず詊しにSORACOM Beamを通しおGASにPOSTするこずにしたした。M5StackはBeamずだけやりずりするようにしたらいけるかもず考えたらズバリ成功したした。
M5Stack & 3G拡匵ボヌド & GAS の組み合わせの際にはSORACOM Beam経由が経枈的でオススメです。
きちんずGAS偎から戻り倀を取埗したいずきにも最適です。

おわりに

UIFlowでのビゞュアルプログラミングがめちゃくちゃ楜しいです
こんなこずできるかな、あんなこずしおみようかな、っおいうのが童心に返ったように湧いおきたす。個人開発でも完党独立した屋倖蚭眮デバむスが、こんなに簡単にできおしたうこずに感動です。
UIFlowでの開発は楜しい䞀方で、甚意されおいないブロックがあったりするのが難点です。そこは「コヌド実行」ずいうブロックでコヌドも曞けたりしたす。実は今回もdeepsleepずいう1文だけ曞いおたす

今回のこの蚘事は、䞋蚘の蚘事を芋お面癜そう、自分もやりたいな〜ず思ったのが発端です。SORACOMのこずもこちらの蚘事で初めお知りたした。ありがずうございたす

たた、Qiitaで今たたたた「SORACOMを䜿ったIoTにチャレンゞしよう」なる䌁画開催䞭なので参加しおみおいたす。

※本圓にたたたたでびっくりしおいたす

51
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?