※この記事は「IoTLT Advent Calendar 2016」の12/20分です
まっさらな状態からIoTに触れ、そこから広がった学びについて書かせていただきます。
技術的なことは記載しておりませんが、ご了承ください。
(日記みたいになってしまいました)
LoRaWANと過ごした下半期
新卒1年目の@k-harada413ですが、なんと夏頃からLoRaWANを触らせていただく機会をいただきました。
LoRaWANと過ごしていたといっても過言ではない今年下半期を送らせていただきました。
LoRaGatewayちゃん
LoRaWANとは
LPWAと呼ばれる省電力広範囲帯を使用したIoT分野で注目されている通信方式であるのがLoRa。
免許不要帯域である920MHzを使用している。通称サブギガ帯。
LoRaWANはMACLayerを含んだ仕様全体を指すもので、現在SORACOMさんからLoRaWAN™ PoC キットの提供が行われている。
屋内GWでは、ビル全体をもカバー(弊社ビル4FにGWを設置したところ、地上階・屋上会からデータを送信できることを確認)
屋外GWを5つ設置することで八王子市をカバーするというものすごく強いLoRaWAN
LoRaWANとの日々
弊社で行われたIoT縛りの勉強会! IoTLT vol.20ではビーコンを使った物品管理ソリューションについてのLTを行いました。(左記リンクからSlideShareに飛びます)
(一言で:ビーコンとLoRaWANの電波到達度の違いなどを利用して、どこにどの物が存在しているかを管理するソリューションです。)
そしてその後、mbedのプログラムはほぼほぼ変えずに環境センサから温湿度を取得する実装をしていました。(他イベントですがLTの機会をいただきました。「Agritech×IoT_lorawanで実現する環境モニタリング」)
(一言で:LoRaWANを使えば、既存のサービスに+αを加えられるかもというお話)
そして、先日行われたSalesfoceWorldTourTokyoに向けて、物品管理ソリューションのバージョンアップを行いました。
(複数モジュールへの対応!まだモジュールは用意できていないので、テストできていませんが・・・。)
こんな感じで、下半期はLoRaWANと常に一緒で自分の子どものように扱っていました
モノとインターネットを繋ぐIoTな実装を2件任させていただき、いろんなものを得ることができました。
#0からIoTを通じて経験したこと、学んだこと
####まず、軽く自分のことを書きます。
昨年、卒論で「ジブリ映画とジャパニメーションが表現するリアル」について書きました。そうです、文卒です。
去年の今頃はノイローゼになるぐらい『千と千尋の神隠し』をヘビーローテーションしてました。
PC系の知識は趣味に偏重していて、HTML少々、授業で学んだjava少々、動画編集スキル、音声編集スキルなどを持っていました。
そう、今年のIoTチャレンジは知識レベルほぼ0からのスタートではじまったのです・・・。
##mbed(C++)
まず、LoRaに情報を送るためのマイコンをいただきました。
ArduinoからLoRaモジュールにATコマンドを送り、データのやり取りをするのですが、プロトタイピングが容易でWeb上のコンパイラを使うことのできるmbedをここで扱いました。
この時期に秋の基本情報を受けようと、企んでいた僕にとって、後々感じることですが、(」’ω’)」オォオォオ!!!ウウゥゥアアォオ!!!!!!!な出来事でした。
一度テキストを読んでちんぷんかんぷんだった、メモリの概念などがC言語の勉強によって、
「あーあー、スタックオーバーフローね、あれねあれね」
と、にわかなリにも理解することができました。
##電子回路
グランドとかシリアルとか上司についてもらっていましたが、回路をブレッドボード上で繋いで、テストなんかを行いました。
もっといろんなセンサなどを付けるようになるなら、抵抗など学ばなければならないことが山積みです。
##はんだづけ
度々断線が起こったり、ピンヘッダがついていないボードだったりで、はんだづけを行いました。
中学生ぶりですね。「去年の自分に伝えても信じてもらえないことオブジイヤー」が多分こちらです。
ボタン付けたり手先を使うこと、普段からやっていてよかったです。
隔離されたガラス張りの部屋で行っていたのですが、動物園の動物の気持ちが少しわかりました。アドです
(ピントが手にあっている)
ピンヘッダをはんだ付けしました。はんだプロに隙間があるぞおとダメ出しされました。
途中垂直にヘッダを付けることができず泣きそうになりました。
この先も機会はあるはずので、臆せず積極的にはんだ付けしていきたいです。
##Bluetooth
普段何気なく使っているBluetoothがどんなデータをやり取りしているのか覗き、そこから欲しい情報だけ抜き取るみたいなこともしました。
メーカーから提供されている仕様書とにらめっこしながら、16進の文字列を意味あるデータとして解読していくのは、どこかパズルゲームをしているようでした。
もっと突き詰めて、ポケモンGOで何かやらかせたらよかったなと思いました。
先日ゲレンデでウィンタースポーツを楽しんだのですが、リフト券がセンサ式でした。
どんな仕組みで制御しているのか、去年まで気にもしていなかったことが気になるようになっていて、世界が広がった感じがしています。
IoTをすると、生活で見える色が広がり、生きるのが楽しくなるようです。
##コマンドライン
そういえば夏頃に「Bash on Ubuntu on Windows」をしました。
いろんなコマンドによる制御も学びましたが、理解不足なのは否めません。
来年時の課題とします。
##enebular
弊社の「あらゆるデバイスとクラウドサービスを “つなぐ”IoTのためのデータ連携プラットフォーム」です。Node-redをベースに開発されています。
GUIで簡単にデータのフローを扱うことができ、センサからのデータをいい感じにして、データストアに格納する過程を容易に行うことができます。
LoRaWANが扱えるデータは11byte/4sなので、センサから取得するデータへの工夫が大事でした。
16進でぎゅっと畳んだものを、enebularで広げる作業を幾度となく行いました。
繋ぎ先も繋ぎ元もよくわからないけど、簡単につなげることができたのはenebularのおかげだったといっても過言ではありません。フローの共有も容易なので、出来上がったものを上司に見ていただいて、修正をしていただいていました。
ちなみにどなたでも無料ではじめることができます。
ちなみにenebularのAdventCalendarもあります。(宣伝)
##API
Twitter黎明期によくAPIが切れて、投稿できなかったり、閲覧できなかったりということがありました。
よくわからないけど、「APIって通貨みたいなものなんだな」と理解してましたが、
パスポートみたいなものだったんですね(この例えが正確かわかりませんが。)
あらゆるものを繋ぐときの口となる箇所なので、1年目でちょっとかじることができたので、スタートに立てたような気がしてなりません。
ここをしっかり学んでおけば、IoT以外にも知識が広がっていけそうだなと感じています。
#まとめ?
LoRaWANとの出会いをきっかけに、センサからクラウドまでまるっと経験させていただいた2016年でした。
大変でしたが、正直楽しかったです。
IoTはエラーが起きたときにどこがいけないのか特定しにくいのが辛みであり、ひとつひとつの動作保証が本当に大事だとひしひしと感じました。
どれもこれも臆することなく、とりあえずやってみることが大事ですね。
いろんなところで書いておりますが、来年は文系だからと枕言葉をつけず、技術を発信していける人。
そして、アイディアを形にできるようなクリエイティブな人になれるよう日々頑張っていきますので、来年もよろしくお願いします~
明日は@m_ando_japanさんです。
よろしくお願いいたします!