3G通信もお手軽=Armadillo-IoT試用レポート2
Armadillo-IoT G3のテストが終わったのでレポート2としてまとめておきます。
関連記事
そのまま現場にも量産にも使えるIoTデバイス=Armadillo-IoT試用レポート1
USBカメラの映像をボードからサーバへ転送=Armadillo-IoT試用レポート3
Armadillo-IoT G3Lを選択した理由
4G-LTE通信テストと…教訓(Armadillo-IoT)
仮想マシンによる開発環境の利点
内蔵Flashで起動するかSDカードで起動するか
開発環境の基本接続はUSB
開発環境の構築は至ってシンプル。
「Armadillo-IoT G3」 -> 「開発用USBシリアル変換アダプタ」 -> 「PC」
と繋ぐと、PCがシリアルポート(COM5とか10とか)として認識します。
今回用いたPCはWindows 10です。
TeraTerm(シリアル通信アプリ)を起動して、認識したCOM番号を選択し、
Armadillo-IoT G3の電源ACアダプタをコンセントにつなぐと、
ババっと起動メッセージが表示されました。
:
「開発用USBシリアル変換アダプタ」のスライドスイッチを「外側」にしておくと、
起動メッセージが「U-BOOT」のところで一旦止まります。
U-BOOTでもいろいろできるのですが、今回はスルーして「boot」と入力し、Linuxを起動させます。
電源投入から約10秒でログインできます。
ログインしたら、準備完了。
後はサンプルプログラムを試しても良し、自分でプログラムを書いて実行しても良し。
簡単!
LANを繋げば、即インターネットにつながる
次に、光回線のルータとLANケーブルで接続しました。
数秒でインターネットと繋がり、www.google.co.jpにpingが通りました。
時計も自動的にインターネットと同期されました。
補足:pingは ^C(Ctrlキー+Cキー)で止めます。
何もやることがありません。
(スタートアップのpdfにはネットワーク接続設定や時計設定の手順が記載されていますが、今回LANで試した限りでは、それすら必要ありませんでした)
まともなLinuxなので当然ですが、今どきのPCよりも簡単すぎて、なんだか気分が良いです。
サンプルプログラムでIoTを実践
手始めにサンプルプログラムでIoTを実践しましょう。
サンプルプログラムは次のことができます。
- Armadillo-IoT G3の中でクライアントプログラムが動作します。
- Armadillo-IoT G3からサーバ(クラウド上のプラットフォーム)のプログラムにデータを送信し、記録します。
(データとして、とりあえず基板の温度が送信されるようになっています) - 適当なPCかスマホでサーバのWebページを開くと、記録されたデータが表示されます。
- ページにはON/OFFボタンがあり、これを押すと、サーバ経由でArmadillo-IoT G3にコマンドが届き、その旨がArmadillo-IoT G3のCLIに表示されます。
さて、これを試すには、サンプルプログラムをダウンロードし、実行するだけです。
ん?それだけ?
と思いましたか?
ホントにそれだけです。
初めての人でも問題無いと思います。
とはいえ、「ダウンロード」と一言で言ってもコマンドを4行ほど入力する必要がありますし、
「実行」もコマンド入力です。
でも難しいことはありません。
スタートアップpdfにコマンドが書いてありますから、それをコピペするだけです。
コマンドの意味なんて追々、理解すれば良いことです。
さて、実行したらブラウザで指定されたページを開いてみましょう。
地図が表示され実機のID(Armadillo-IoT G3のMACアドレス)が表示されました。
これは今実行したArmadillo-IoT G3からのデータがサーバに届いていることを示しています。
そして、そのアイコンをクリックすると、データが表示されました。
そこに表示されてるボタンをおすと、Armadillo-IoT G3に「on」とか「off」とか表示されます。
3G接続!
さて、サンプルプログラムのことは分かりました。
面白いけど、こんなことはLinux基板ならできることです。
Armadillo-IoT G3の本領はLAN接続ではなく、3G回線(携帯電話回線)で通信することです。
早速まいりましょう。
まず、LANケーブルを外しましょう。
そして、haltコマンドでLinuxを終了してから電源を切ります。
(面倒かもしれませんが、これは怠ってはなりません。理由とその対策は後日の課題としましょう)
マニュアルpdfの「6.2.6. 3G」をみて、SIMカードをArmadillo-IoT G3に挿し、電源を入れます。
ログインしたら、マニュアルに書いてある通り、SIMのアクセスポイントやパスワードを登録するコマンドを入力します。
コマンドは2行ほどですね。
思ったよりも簡単でした。
もういいみたいなので、先ほどの実行コマンドを入力します。
ブラウザに新しいデータが表示されました。
…あっけないよ?!
SIMのデータ通信量が心配ですか?
さて、あまりにもあっけなかったので、余計なことも見てみましょう。
SIMはマイクロSIMです。
一番手軽で安く済む、と考えてイオンモンバイルの1Gプラン(タイプ1)を使っています。
それを使ったわけですが、何も問題ありませんでしたね。
さて、1Gプランなので、あまりデータ量がかさむと私のモバイルライフに支障が出るので勘弁して頂きたい訳で、少々心配しておりました。
しかし、杞憂でしたね。
レポート1で触れた様に、無駄を廃した構成ですから、放置していても、PCの様にデータ通信量が増えて行ったりしません。
ifconfigコマンドで確認できます。
ppp0表示の最後の方に送信量と受信量が表示されます。
数時間放置した後、データ量を確認すると、約50KB。
メガでもギガでもなく。使ってないも同然です。
ちゃんとイオンのサイトで今月のデータ残量を確認しました。
サイトの表示単位がMBなのでピクリとも動きません。
(後に、画像データをバカバカ送り、今月のデータ残量表示が10MB減ったのを確認し、逆に安心しました)
実用的か
良くできたサンプルプログラムだと思います。
実用目線で観察されている方は、「もう半分出来上がってるな」と思うのではないでしょうか。
サンプルプログラムは「とりあえず」基板温度情報をデータとしてアップしていますが、Armadillo-IoT G3には、豊富なオプションが用意されています。
その中には様々な規格のシリアルインターフェースや、接点入出力、アナログ入力等のインターフェースが用意されています。
例えば、温度、湿度センサーを接点入力かアナログ入力につなぎ、接点出力をビニールハウスの開閉スイッチに接続したとしましょう。
温度や湿度に応じて自動で開閉し、その情報を携帯にメールで転送…とか。
ビニールハウス内の温度、湿度検出結果を研究室のPCや警告灯に届けたり…とか。
非常に短時間で用意することができるでしょう。
もちろん、このオプションも量産対応ですし、インターフェースが公開されているので、その部分だけ少量生産しても良いでしょう。
今回はオプション基板まで用意できなかったので、カメラを繋いでみました。
続きはまた。