• IoTなGPSロガーを自作する

    2017-04-15 02:01
    最近何かとIoT、IoTと世間を賑わせているこのワード。
    Internet of Thingsの略で、「モノのインターネット」なんていう
    よく分からん日本語訳が当てられていたりするけど、
    要はこれまでスタンドアロンで動いていたデバイスやらセンサーやらを
    インターネットを通じてデータ収集しようぜっていうことらしい。
    コマツのKOMTRAXなんかが超有名。
    KOMTRAXは
    世界中で使われてるコマツの建機の稼動時間やら稼働率を収集して、
    「そろそろメンテしたほうがいい時期ですよ~」とか、
    「この地域は稼働率が高いな、需要に対して台数不足だからもっと売り込こもう」とか、
    そういう営業活動に役立ててるらしい。

    で、個人でいきなりそこまでのものを作るには無理がありすぎるので、
    もっと身近なものにスケールダウンしたものを考えた結果、
    GPSロガーを自作して、ネットに繋いでみることにした。
    幸いにもさくらインターネットが「さくらのIoT Platform」という
    IoT開発用の通信モジュールを出してきたので、これを使ってみることにする。
    ざっくり説明すると、大手キャリアのLTE網を経由して、
    この通信モジュールとさくらインターネットのサーバ(以下さくらサーバ)間で
    データをやりとりできるものらしい(下記図)。



    ここにGPS受信機とマイコンをぶら下げて、さくらサーバに座標情報を送る。
    さくらサーバからはWebSocketなんかを利用してデータを引っ張ってくる。
    あとはNMEA形式のlogデータとしてローカルに保存してやれば、
    ネットに繋がるGPSロガーになる。

    GPSロガーをネットに繋いで何が嬉しいのって思うかもしれないけど、
    内蔵メモリに記録するタイプのロガーだと、
    メモリが一杯になったらそれ以上記録できなくなるし、
    毎回データをPCに接続して吸い上げるのも何気に手間だったりする。
    最初からネットを介してPCにデータを送ってくれていれば吸い上げる手間もないし、
    メモリが一杯になるなんてこともない(HDDの容量に限りはあるけど)。
    まぁ必ずしもネットに繋がってる必要はないけど、繋がっていればより便利かなって感じ。
    どうせなら車やバイクに車載して、旅行時やツーリングの走行ログなんかも
    記録できるようにと構想した結果、こんな感じのシステムになった。



    大体作りたいイメージが出来てきたのでKiCadで回路図を引く。



    さくらの通信モジュールはBreakoutボードと組み合わせて使用。
    Arduino用のシールドも用意されてるけど、Arduino使ってないので・・。

    マイコンには積み基板と化していた青mbedことLPC1768を使ったけど、
    正直オーバースペックすぎたので次期バージョンはもっとダウンスケーリングする。
    GPSモジュールはGMS-G9。GPSはアメリカのシステムだけど、
    ロシアのGLONASS、日本の準天頂衛星「みちびき」も掴める凄いやつ。
    ちなみに、どういうわけか自分の家の周りはGPSやみちびきよりも先に
    GLONASSを捕捉してしまう模様。謎。

    回路図の日付を見てもらえば分かるように、基板設計が完了したのが3月の頭。
    基板の外注はいつもElecrowで、配送はAirmailにしてるんだけど、
    安い代わりに到着まで二週間近くかかる。
    今回はNT京都2017に間に合わせたかったので、
    少し課金して配送業者はOCSにしたら注文から6日で届いた。はやい。
    Airmailとの差額分もそんなに気にならないレベルなので、
    次からはもうOCSで良いかもしれない。

    で、部品を実装してケースに収めるとこんな感じ。
    バイクに車載する前提で、タンクバックに収まるようにした。



    ハードが出来上がったら次はソフト。
    GPSモジュールからは1秒毎にNMEAフォーマットの信号がUARTで送られてくる。
    mbedはこれを受信して、必要な情報だけ抜粋・加工して
    I2C通信でさくらの通信モジュールへとキューを送る。
    通信モジュールの仕様上、1チャネル辺り8オクテットなので、
    高度情報を捨て、緯度・経度だけ送ることで1チャネルに収めている。
    多チャネル使えば高度情報も送れるけど、登山とかならいざ知らず、
    道路を走ってる分には高度はそんなに重要じゃないし。

    さくらの通信モジュールはキューを受け取ると、自動的にさくらサーバへ
    データをプッシュしてくれるので、通信モジュールからさくらサーバ間の
    データのやりとりに気を使わなくて済むのは有り難い。

    次にサーバ側のソフト。
    Webアプリを手っ取り早く作るためにNode-REDを使うことにした。
    Node-REDは「ノード」と呼ばれるブロックを繋いでいき、
    必要最低限の部分だけJavascriptを記述するだけで、
    Webアプリに詳しくない人でも簡単にWebアプリが作製できるサービス。
    初めて使ったけど、ずぶの素人な私でも一週間くらいでなんとか形にはなった。らくちん。



    とまぁ、なんとか三週間ほどでそれなりの形にはなって、
    このGPSロガーをバイクに車載してNT京都会場まで走行。
    初めてのフィールドテストがぶっつけ本番になってしまったけど、
    無事に走行ログは記録されていた。
    いまもちょいちょいソフト面を改良しながら試験運用中。
    とりあえずバイクに載せっぱなしで、どこ行くにも走行ログを記録してるので、
    ツーリングから近所の買い物まで、私の行動が全部記録されてる状態にある。


    【課題・改善点とか】
    ・いまはイグニッション連動で電源が入るんだけど、エンジン切った後も
     ある程度の時間は自己位置を送ってくれるようにしたい
    ⇒盗難されても追跡できるようにするのが意図(特にバイクの場合)
    ⇒そのためにLi-ionバッテリ積んでるんだけど、
     引っ張れる電流が思ったより少なくて上手く動いていない。
    (回路図のPowerSupply部にバッテリーが載ってるのはその名残)
    ⇒バッテリ駆動するには消費電力ももっと抑える必要がある。mbedの消費電力デカ杉。

    ・気温が低いとさくらの通信モジュールが起きないことがある
    ⇒ウォームアップ機能必要?
    ⇒将来的に24時間電源ON運用になればあまり問題にならないかも
    (最悪人肌で暖めてから電源入れればなんとかなるし・・)

    ・サーバ側アプリをクラウド上に起きたい
    ⇒いまはNode-REDをローカルで走らせている
    ⇒ログ記録時はPCを起動しておく必要があるのでエコじゃない
    ⇒将来的にはIBM Bluemix上に置きたいよね。


    そんな感じ。
    7月のNT金沢2017までには改良版を作りたいね。



  • 広告
  • NT京都2017に出展してきました

    2017-03-21 11:55
    お久しぶりです。kuwaです。
    前回の投稿がまさかのMaker Faire Taipei以来という怠けっぷり。
    というか何かMakerらしいイベントに出したときくらいしかブロマガ書いてない気がする。

    それはそうとして、今年もNT京都に出展してきました。
    NT京都の前身、Nich-TECH:Kyoto Meetingから数えて9年連続(!)、
    さらにその前身のNico-TECH:Takatsuki Meetingから10年連続(!!)の
    出展になります。今思えばよく続いてるなぁと思う。色んな意味で。

    今年のNT京都は春の西院フェスと同時開催になったこともあり、
    例年にはあまり見られないお年寄りや親子連れのお客さんも多く、
    また技術系イベントに来なかったような層まで来場されていて、
    一気に客層の幅が広がったように思います。


    会場となっている西院春日神社の境内や参道には出店もあり、
    例年以上にお昼ご飯が充実していたのも好印象。
    出展者の立場だと屋上のBBQを食べに行く暇が取りにくいのと、
    大体数人がBBQ網の周りを確保していてなかなか食べられないんですよね・・
    そういう意味でも昼食の選択肢が増えたのは非常に助かりました。


    私の出展物の方ですが、今年は最近流行りのIoTに手を出してみようと思い、
    GPSロガーをインターネットに接続し、リアルタイムにネット上から
    現在地が掴める装置を作って展示していました。
    GPSロガーがネットに繋がって何が嬉しいのって思うかもしれませんが、
    例えば自動車とかバイクに積んでおくと、自分が乗車していなくても
    「そこに停めている」ということが分かるので、盗難対策になるんですよね。
    持って行かれても追跡できるので。
    実際に自宅から会場までこの装置を搭載したバイクで行き、
    その走行ログをGoogle Earth上に表示するデモも交えながら展示していました。
    この辺の開発経緯や進捗などは、そのうちブロマガにまとめようと思います。


    他には、C90/C91で頒布した薄い本、
    「世界のMaker Faireに行ってきた本」
    「世界のMaker Faireの歩き方」の2冊を頒布しました。


    ここ数年、ニコニコ技術部が海外のMaker Faireに出展する機会が増え、
    私自身もシンガポールと台北のMaker Faireに出展した経験から、
    もっと多くの人に海外も楽しいよ!と知ってもらおうと思い刊行した本になります。
    私以外の海外Maker Faireに出展した経験者らにも多数ご協力いただき
    ようやく刊行にこぎつけられた本でして、
    お陰さまで「世界のMaker Faireに行ってきた本」は取り置き分を除いて
    ほぼ在庫がなくなりました。ありがとうございます。
    「世界のMaker Faireの歩き方」の方はまだ少し在庫がありますので、
    NT金沢などにも持って行こうかと思います。

    さて、NT京都に毎年出展していると感じるのですが、
    出展者の中には10代や20代前半といった層が着実にいて、
    きちんと世代交代が進んでいるんだなぁと。


    こういうコミュニティって、発足当時はみんな若くても、
    回数を重ねるにつれて段々と高齢化が進み、
    家庭の事情等で段々参加率が減って自然消滅、なんてこともよくあると思うのですが、
    それがNT京都ではあまり見られずにここまで続いているように思います。
    Maker Faireはちょっとハードルが高いけど、
    技術系イベントに出してみたいなぁ・・っていう層を上手く取り込んで、
    出展者の代謝が進んでいるのでしょうね。私は老廃物として留まっていますけど(
    この辺りはニコ技wikiにも書いてある「NT京都の特徴」の


    "結果として、展示が初めての人にとっては
    「NT京都なら初めてでも展示できそうな気がした」と言われ、
    常連にとっては「ホームグラウンド」のような展示雰囲気になっています。
    だからといって、完全に仲間内に閉じた展示ではなく、当日の雰囲気としては
    「出展者の殆どが半田ごてを貸し借りする程度には顔見知り」の関係であり、
    当日来場者は「初めて会う人ばかり」といった形になります。

    その中で展示する事自体に自信をもってもらって、
    NT京都を踏み台にしてMake系イベント等の色々な所で
    皆さんに活躍して貰えたら良いなと私(akira_you)は思っています。
    そして、ほっとしにNT京都に帰ってきてほしいです。"

    にまさに表れているのでしょうね。
    私も海外Maker Faireに出展する一方で、
    やっぱりNT京都のようなゆるーい雰囲気が好きで、
    毎年出展しているのもありますし。

    そんなこんなで、NT京都で養った英気を素に、
    今年も一年Makerとして頑張っていきまっしょい。



  • Maker Faire Taipeiの出展報告

    2016-05-12 00:57
    去る5/7~8に、台湾・台北市でMaker Faire Taipeiが開催されました。
    昨年に引き続き、高須さん(@tks)がNico-Tech名義でブースを確保してくださったので、
    勝手ながらニコニコ技術部の代表の一人として出展させていただきました。
    ちなみに私の海外Maker Faireは昨年のシンガポールに続いて2回目になります。

    Maker Faire Taipei自体は上述の通り5/7~8の二日間だったのですが、
    ちょうどゴールデンウィークということと、
    台湾は初めてだったので少し観光もしてみたいなということで、
    5/6に日本を出国し、5/9に帰国するというスケジュールでした。

    旅費については、関西からの同行者が私含めて5人いたため、
    長船Pが取りまとめてパックツアーを手配していただきました。
    往路・復路ともエバー航空の日中便、ホテルも日本語が通じるホテル(しかも朝食付き)で
    三泊四日で四万円程度とかなりお得感のある感じに。
    飛行機に乗ってる時間も2時間20分なので、正直東京に行くよりも断然近くて安いなぁ。

    Maker Faire Taipei全体の印象ですが、
    日本のメイカーフェアが趣味に全振りしたような内容なら、
    台北はそこに教育要素をプラスしたような感じ。
    深圳みたいにビジネスを全面に押し出してる感じでもないし、
    そういう意味ではかなり親近感はありますね。

    展示内容自体も、ロボコンっぽいものもあれば、
    学校の机と椅子にホバーボードをくっつけて「いつでも教室から逃げられます」みたいな、
    発想がニコニコ技術部のそれに近いものまであり、
    なんだか考え方のベクトルが似てるなぁというのが全体的な印象。


    ニコニコ技術部の展示もなかなか好評だったように思います。
    私はNT京都に続いて走るはちゅねミク缶を展示したのですが、
    なんとも言えないキモ可愛い愛くるしい動きで、来場者の笑いを誘っていました。


    また、こちらが日本人ということが分かると途端に日本語で話しかけてくれたり、
    そうでなくても英語で聞いてきてくれたりして、
    台湾人は皆バイリンガル・トリリンガルなんじゃないかと面食らいました。
    逆に、こっちが日本語+拙い英語でしか喋れないのが申し訳なくなるくらい。
    来年はせめて英語くらいはもうちょっと上達してから行こう・・

    また、Maker Faire Taipeiと同じ日程で、
    同じ台北市内で同人イベントが開催されているという情報を入手したので、
    折角なので展示を交代しながら観に行ってみることに。
    雰囲気としては日本の同人イベントと比べて何ら見劣りすることはなく、
    日本の流行をしっかり押さえてる感じ。
    というか、台湾未放映なはずの今期のアニメまで既にカバーされてて、
    一体全体どうやって情報を手に入れてるのやら。




    薄い本の絵柄自体も日本のそれと変わらないし、
    舞台上ではガンダムWが熱唱されていたり(もちろん日本語で)
    台湾の自宅警備隊に話しかけられたり(もちろん日本語で)、
    「オタクの公用語は日本語」というのはその通りだなぁと思いました。

    そんなこんなで無事に二日間の展示も終え、みんなで記念写真を撮ろうということに。
    高須さんが通りすがりの人にカメラを渡して撮ってもらったのですが、
    その人がなんとSeeed StudioのCEOであるEric Pan氏だった。
    最後の最後にとんでもないオチがついて、Maker Faire Taipeiが終了。

    その後打ち上げで高須さんが超おすすめする火鍋の店に行ったのですが、
    そこでの会話で皆口々に言っていたのが、「台北は大阪っぽい」ということw
    台北中央駅をなんばと置くならば、淡水象山線は御堂筋線だし、
    電気街もオタロードもあるし、食い物が安くて美味いし、何よりおばちゃんがパワフル。
    なるほど台北で過ごすにつれて感じていた妙な親近感はこれだったのかと納得。

    台湾滞在中のツイートについてはtogetterを参照していただくとして、
    Maker Faire Taipeiは西日本勢にとっては東京よりも近いメイカーフェアとして
    どんどん勧めていきたいと思えるような旅でした。


    みんな、台湾はいいぞ。