TakeyukiUeda
TakeyukiUEDA.qrunch.io

世界のどこかを Raspberry Pi で見守る

2018/10/24に投稿

はじめに

この投稿は私の こちらの投稿 を日本語にしつつ、思うことを追加したりいたしました

世界のどこかを月10$以下、場合によっては月6円程度の通信費で見守ろうというお話です

背景

MONITOR サービスのご紹介

Raspberry Pi や BeagleBone から一定時間間隔で post してくる UVC カメラ(要するに USB WebCam です)の画像を受け取って、最新のものをブラウザに表示しつづける MONITOR というサービスをやってます、こんなかんじです

こちらから Free でアカウントを取得して使えますので、つかってくださる方がいらっしゃいましたらうれしいです

オマケでセンサーデータの時系列表示もやってますが、メインはカメラ画像です

Raspberry Pi や BeagleBone 側のサンプルコードもこちらにご用意しています

もう5年ぐらいやってまして、初期のバージョンはサーバ側の MONITOR、デバイス側の SLIDERともコードを公開しているのですが、SLIDERは時々 clone してくれてる人がいるのですが、MONITOR側の Insights は寂しい限りです ^^;;; このコードをベースに某F社で IoT の仕組みの社内教育とかもやったりしておりました

実用的なバージョンはプロダクトとしてお客様に提供しておりまして、国内の野菜工場の監視に使っていただいたり、ミャンマーの電気もきてないような田舎での小規模発電プラントの監視に使っていただいたりしました。電気もきてないようなミャンマーの奥地でも携帯の電波は大変クリアーに来てまして、そういうワイルドな場所での利用に可能性を感じました。おっ、脱線がちな話がタイトルに近づいてまいりました

なぜ、静止画での監視カメラなのか

RTSP ベースの監視カメラが全盛の今日、なんでこんな事をやってるのかというと理由は2つありまして

  • セキュアだから
  • 通信費が安くすむから

順にご説明いたしますと

セキュアなセキュリティーカメラ

市販のONVIF プロトコルの監視カメラはプロトコルが規定するように RTSP サーバーを内蔵していまして、開放したポートを通して外から監視カメラに入ってきて操作しますので、グローバルアドレスとポート開放が必須です

まあ、ちゃんとした会社のちゃんとした商品なのでセキュリティはしっかりしていると信じたいのですが、セキュリティカメラそのものがセキュリティの驚異になりかねないという冗談みたいな構成だなとおもってます

理想の構成はちゃんとインターネット網内にサーバを用意して、ローカルアドレス側に穴なんか開けないでデバイスは信用するサーバとしか話ししない、だと思うんですよね

ニューヨークのマフィアでさえ、互いに信用する相手を仲介しないビジネスは絶対にやらないらしいぐらいなのに(要出典)

動画でも中継サーバを用意すればポート開放とかやらないで中継することが可能なのですが、コストがかなり高くつきます。多分、これが現状、前者の構成が選択されている原因なのだとおもうのですが。これが静止画だと、インフラのコストが激減するので後者の構成が簡単に実現できます

通信費が安いセキュリティーカメラ

固定の定額ネットワークアクセスがない場所で監視カメラを使う場合、携帯電話網を通じてネットワークアクセスを確保する必要があるのですが、途端にデバイスをインターネットに接続する通信費が心細くなってきます

そもそも、固定の定額ネットワークがある場所って本当に限られてて、ほとんどの場所はセキュリティカメラを置こうとすると携帯電話網を使わざるを得ないのではないでしょうか、もしくはセキュリティーカメラを起きたい所はたくさんあるんだけど、ネットワークのない所では諦めているのが現状というか

例えば、お客様の所に設置したプラントの稼働状況をみるためにお客様に「ネットワークつかわせてください」なんて言えませんよね、しかも外部に対してポートを開放してくださいなんていったらお客様の情シスに軽蔑されかねません

台風が来る時とか、前日に危なさそうな所にカメラをたくさん設置して、台風が過ぎた後に回収してまわるとか、何台かは回収できないかもしれませんが危険を冒して「ちょっと田圃をみてくる」なんてのが無くせればすばらしいですよね。こういう使い方も携帯電話網がないとつかえません

海外のプラント建設とか、日本に日々挙がってくる報告がぜんぜん怪しくて、現地に行ってみたらなんにもできてなかったどころか材料も港に積まれたままだった!なんて事もあるらしく、1日1回、現場の状況が日本から見えるだけでリスクが全然違うそうです

5分間隔なり1時間間隔なりの静止画でかまわないから最新の現場の状況が見たい、それも携帯電話の通信回線以外に選択肢のない場所で、という要件の元だと動画より静止画が最適解になります

本題

安い USB 3G ドングル

技適の問題がない海外だと、中古の USB ドングルが 1000円代で入手できます

最近だと ZTE の MF180 とか Huawei の E173 が入手しやすいです

MF180 はこれまでハズレを掴んだことがないのですが、E173 はアンテナの信号強度に個体差があるように感じています

尚、USB 3G ドングルの信号強度は CSQ という AT コマンドでチェックできるのですが、そのための python の script をこちらにご用意いたしましたので、よろしければ使ってみていただければ嬉しいです

技適の問題のある日本で使う場合はイオシスとかをウォッチしてると時々 FOMA のデータ端末の中古の安い出物があったりするので買っておくようにしてます

安い International Data SIM

Postpaid の SIM は高い

Postpaid の Internnational Data SIM だと soracom global とか hologram とかが IoT での利用を歌っています。どちらも月額固定費 + 従量分を払う仕組みで、端末の数が多い場合は Prepaid の支払いの管理が大変すぎるので Postpaid 以外の選択肢がなくなるのでしょうが、その分、prepaid とくらべて高いというか、どうかすると2桁ほど高かったりすることもあるので、大企業はどうかしりませんが我々零細にはなかなか使えるシーンが出てこないです

参考までに、後述する prepaid の go-sim, transatel, mtx, xxsim と postpaid の soracom global の料金を国や地域毎に表にしてみました

フルバージョンはこちらにありますので、どの SIM を使うかの検討のご参考になれば幸いです

Prepaid SIM は安い

中でもお勧めは transatel, gosim, mtx connect です

TRANSATEL DATA SIM

TRANSATEL はフランスの International SIM の会社です。前述の Soracom Global が、最近のはよくしらないのですが昔の plan0 とか plan1 とか呼んでた頃はオペレーターが 後述する JT や mtx connect だったりした(AT コマンドで IMSI 見ると、そーいうオペレータの MNC が見えてました)のですが、TRANSATEL の SIM はちゃんと自分のネットワーク事業者のコードを持ってるんですよ!カッコいい!これのなにがいいかというと、mobile WiFi とかは刺さってる SIM の MCC(Mobile Country Code、ネットワーク事業者の国コード), MNC(Mobile Network Code、国毎のネットワーク事業者コード)を見て APN を自動設定してくれたりするので、TRANSATEL の SIM だと APN 設定とか自動でやってくれるんですよ、すごい!

ただフランスの会社な所はあって、5月1日に発注したら発送通知とかなにもこない、確認のメールもガン無視なうえチャットもたらい回しされ、しつこくチャットで問い合わせたら 「フランス人はメーデーに誰も仕事なんかしないんだぞ!」ってビックリマーク付きで逆ギレされるという文化の差異を感じる経験もしましたが、その後、連絡もなしに黙って追加で SIM を2枚送ってくれるというジャン・レノなみに男前な対応をしていただきました

ちなみに当時、サービスを開始したばかりだった soracom global は不慣れだったのかもっとバタバタしてて渡航にまにあうかさえヒヤヒヤするぐらいだったのですが、今は多分、だいぶかわってるんだろうなと。こちらも後に5$分のチャージをいただけるという男前・女前なご対応をいただきました事、懐かしい次第です

TRANSATEL の DataSIM の Worldwide credit プランは有効期間が長く、最安の 25ユーロのクレジットでも有効期間が3ヶ月もあります。一月あたり 8.3ユーロですね。2018年10月22日のレートだと 8.3ユーロ、 1073円 ですね

で、この 8.3でどれくらい送信できるのかというと、使う国や地域によってレートが変わるのですが、ヨーロッパ諸国とかだと最安で 0.02/MByteミャンマーでも 0.04/MByte です

ちなみに、ミャンマーでの MONITOR の運用では、当初は soracom も検討したのですが、soracom2$/MByte というミャンマーでの値段が不評で結局 TRANSATEL で運用することになりました。二桁違うんですよね

TRANSATEL のミャンマーのレートの 0.04/MByte だと、一ヶ月分のチャージ 8.3ユーロで 207MByte の通信ができます。MONITOR が送信する写真のサイズは撮影現場によってかわるのですがミャンマーの現場だとだいたい1枚100KByte 程度だったので

結論:8.3ユーロの最低チャージで、2070枚送信できる

これ、一月は 43200分なので、だいたい 20分に一回の頻度で現地の状態が更新されるセキュリティーカメラが月額 8.3ユーロの通信費で運営できることになります

GO-SIM Data SIM Card

GO-SIM は、事業者コードを見るまでもなく JT(こちらも有名な ジャージー島の会社です)のネットワークをつかっている会社ですが、 送信データが増えてくると gosim のレートが魅力的になってきます

最安のプラン5GB Offer はなんと $0.0058/MByte です、ぱっとみてゼロの数まちがえてるのかと思うぐらい安いです

日本国内でもだいたい500円/GByte ぐらいが相場なのですが、GO-SIM の 5GB Offer は $5.8/GByteInternational なのに国内SIMと遜色ない値段です、というかこれより高い日本のオペレータもいっぱいあるぐらいですよね

MTX CONNECT

こちらは QA とかの対応がいつもむちゃくちゃ早く、なにか聞いたら絶対にその日のうちに返事してくれる素早さが安心です

さらに、prepaid と postpaid のいいとこ取りみたいな Pay as you go というプランがユニークで、日額固定費とかナシで使った分だけ 0.015/MByte という、TRANSATEL の最安プランよりさらに安いレートでチャージから引き落としてくれるという神かと思うようなサービスがあります。ただ、30日単位で毎回再登録しなければいけないという謎な面倒くささがあります

Pay as you go をつかうと、例えば「一日に一回、現地の進捗が見れればいい、いままでそれさえできなくて酷い目にあってきたんだ!」というような要件の場合、写真一枚100KByte だと10日でやっと1MByte、一月3MByteでなんと 一ヶ月の通信費が 0.045 ですんでしまう という、今日のレートでもたったの6円程度で一ヶ月運用できてしまうという 、もはやタダ同然というか、お客様に「通信費ぐらいうちが持ってもいいですよ」とかカッコいいこといっても実は全然腹が傷んでないという素晴らしいオプションです

USB ドングルと SIM の設定ファイルとかユーティリティーとか

本稿でご紹介いたしましたドングルとSIMについて、簡単につかえるようにまとめてこちら にご用意してありますので、ご参考までにご紹介させていただきます次第です

ドングルの認識、SIM の APN 設定、起動時や意図せぬ切断時の自動接続設定、シリアル経由でドングルを操作する python script などがこちらに用意してあります

最後まで読んで頂いた諸兄諸姉へのお礼

お忙しい中お時間を賜り拙い本稿を読んで頂きましたこと、熱く御礼申し上げさせていただきます。もし、興味をもっていただいただけましたらそれにまさる喜びはございません

ご奇譚のないご意見・ご指摘・ご質問などなんでも大歓迎です。デモを見てみたい、現地で実際に使えるかテスト機を持っていってためしてみたい等のご要望、商用や非商用にかかわらず単なる個人的な興味でも大歓迎ですのでご遠慮なしにこちらまでお気軽にお声をおかけ頂ければ幸いでございます

関連記事

12/03 13:25

ちらっと写ってるのはCO2濃度センサーのMH-Z19ですね!

12/03 19:30

mikkame 様、コメントありがとうございます!

はい、MH-Z19 です、もう3年ほどつかってますがまだ使えてて、結構丈夫です
MH-Z19 はだら~んと垂らして、DHT22 は六角スペーサーで RPi に固定して使ってます
DHT22 は1年ほど使ってると湿度が 100% に張り付いてしまいました

MH-Z19 はこちらで、DHT22は こちら MONITOR™ に飛ばせるようにしてます

TakeyukiUeda
TakeyukiUEDA.qrunch.io
流しのソフト屋です。[お仕事](https://crowdworks.jp/public/employees/1050379)いただけましたら嬉しいです。 単に[130円](paypal.me/TakeyukiUEDA)ほどお施しを承りましてもジュース飲めるので嬉しいです
フォロー
フォロワー
ブログを開設

クランチで技術ブログを
始めてみませんか?

この先は、クランチへのアカウント登録、及びログインが必要なページになります。

Markdownの書き方
見出し # 見出し(h1)
## 見出し(h2) , ### 見出し(h3) ...
リスト - 箇条書き
   - タブでインデント
番号付きリスト 1. テキスト
2. テキスト
改行 行末に半角スペース2つ
リンクの挿入 [タイトル](https://xxx.com)
引用 > テキスト
コード挿入 ```cpp:title
code
```
画像の挿入 ![代替テキスト](URL "タイトル")
太字 **テキスト**
斜体 *テキスト*
打消し線 ~~テキスト~~
水平線 ***
技術ブログを開設
ログイン