この記事は 慶應義塾大学SFC村井&徳田研 Advent Calendar 2015 の18日目の記事です。
######比較的初心者を対象とした記事です。というか初心者が書いてます()
OpenBlocks IoT BX1をご存知だろうか・・・・!
"多様なセンサーからの情報を収集・加工・伝送できるIoTゲートウェイ"
(from http://openblocks.plathome.co.jp/products/obs_iot/bx1/)
らしいです。
小型サーバーとしても使えるし、内部インターフェースが、Wi-Fi, Blouetooth, 3G。SIMカードも使えるので、屋外でのインターネット環境を気にせず使える場面がありそうです。
他にもBLEデバイスの開発や、AWS IoT, IBM Bluemix等クラウドサービスとのデータ通信にも対応しているそうで、いろいろと可能性がありそう。
まだ使い始めたばかりですが、なんといってもWebのUIベースでいろいろ設定できるので、便利だなぁと思っています。
もちろんscreenを使って、コマンドで操作することも可。
ちなみに本家のページではIoTデバイスとしてかなり激推しされております。
それでは早速いじっていきましょう。
##準備をしよう
さて、付属品はこんな感じです。
これは"I/O開発ボードセット"という基盤がセットになっているものになります。
![IMG_0016.jpg](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F105408%2F09c0ab74-26cd-4df1-51b8-bf67624aa7ed.jpeg?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=eb7364b9aecff0a9725de279d44ce9f2)
①: OpenBlocksIoT BX1本体
CPU: インテル® Atom™ プロセッサー 500MHz
OS: 汎用のDebian/Linux
②: I/O開発ボード ~温湿度センサーを添えて~
③: スペーサー・ネジ
④: USB Type-A microUSB ケーブル
⑤: USB 給電コンソールケーブル
PCから給電させる場合は④を使って、直接PCのUSBポートにつなぎます。
Ethernetを使いたい場合は、⑤で開発ボードとPCをつなぎ、OpenBlocks本体を、ボードにたてます。ボードのUSBポートにEthernet変換でつなげばできあがり。
こんな感じ(・~・)
##Web UIをのぞいてみそう
接続が完了したら、対象のSSIDにつなぎにいきましょう。
初期の場合はSSIDはbxなんとかっていう長い識別IDになっているはずです。
私は名前を事前に変えてあるので、こんな感じ。
次にブラウザで下記URLにアクセスしましょう。
初期設定では192.168.254.254:880
になっています。
はい、きました。ユーザーをパスワードはドキュメントに記載されている初期のものを入力。
- ネットワーク周りの設定
![スクリーンショット 2015-12-18 22.22.43.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F105408%2F46269e30-1a75-4ef3-221a-93b96e5766c8.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=0fcfc0926d772d124371521fe55aa60d)
初期設定ではこんな感じかと思います。
私の場合はAPモードで使いたいので、APモードにチェックをいれ、SSIDやパスワードを自分好みに変えていますが、クライアントモードで使う場合は、自分で使うAPのSSIDとPSKをいれてください。
/etc/network/interfacesとかetc/wpa_supplicant/wpa_supplicant.confに書くような設定がここだけでできちゃいます。
入っているのは汎用のDebianなので、Raspberry Piみたくhostapd入れる必要ないし、isc-dhcp-serverとかがすでに入ってる。素晴らしい。
設定が終わったら、再起動を促されるのでrebootしましょう。これもボタンぽちぽち押していけばできます。
APモードの場合は自分で決めたSSIDに接続して、決めたアドレスにアクセスすればまたWeb UIにアクセスできるはずです。
- ssh
次にsshの設定をしておきましょう。
SSH 開放: 有効に設定します。
ここからsshの設定ができます。
公開鍵を登録すればパスワードを使わない認証も可能です。
- そしてWeb UIからコマンドも叩けちゃうらしい 笑
![スクリーンショット 2015-12-18 22.18.45.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F105408%2F1d04a441-fe51-a66c-1e30-b1c38e7cdd0f.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=07aca7a29e4f0c57cb7fc4b7517fab40)
コマンドを入力して実行ボタンを押すとそのコマンドが実行されるのですが、さすがにこれはターミナルでコマンド叩きたくなる 笑
でもちゃんと実行結果も表示してくれます。
##おまけその1: コンソールで接続
WebUIなんてクールじゃない、ターミナルからコマンドを叩くのがオレの生き方だ!
というそこのアナタ、ご安心を。
給電コンソールケーブル⑤をPCに繋いで、ターミナルで以下のように接続します。
![スクリーンショット 2016-01-23 14.14.27.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F105408%2F88daa677-bf34-49c3-a14a-034dd6a5aac5.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=48ed708785644c4aa00e1b378555a16e)
ID, パスワードrootのもので入れます。[→参考] 後々設定で変えてください。(http://openblocks.plathome.co.jp/common/pdf/OpenBlocks_iot_WEBUI_Guide_v1.0.6_151111-2.pdf)
![スクリーンショット 2016-01-23 14.13.46.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F105408%2F70002c32-5340-a361-f9e2-5d0e2747143f.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=61a4bb3d639b5f71a341f75727f85fe5)
これでもう中に入れたので好き勝手しちゃってください!
WebのUIからdefault gatewayを設定したつもりが、コンソールで入って確認してみたら、設定されていなかったということもあったので、そういう時はコンソールから/etc/network/interfacesを直接いじったりした方がいい時もあります。
##おまけその2:リセット
ネットワーク設定の中でも、SSIDの設定を間違えたりすると、Web UIにアクセスできなくなることがあります。そんな時はリセットです。
工場出荷状態に戻したい時の方法はココにあります。
powerボタンとinitボタンが指で押せないくらい小さいので、ペン先や先が細いものを使うと良いです 笑
にっちもさっちもいかなくなったら、公式のページから最新版のファクトリーリセットデータを落として載せ替えちゃいましょう。
詳細はココ
##まとめ
- Web UIベースで面倒な初期の設定が手軽にできる。
- 初心者でも比較的触りやすい。
- なにやらいろいろなインターフェースや機能があるので、可能性は無限大らしい(未検証)
- IoTっぽいことがいろいろできるみたい
例えば、Raspberry Piの上で何か動かそうする時に、その本来の目的でない
ネットワーク周りの設定等にひっかかって時間がかかるともったいないなぁと思うので、そういったところをこのWeb UIはかなり解決してくれるんじゃないかなーと思います。
各種ドキュメントや、工場出荷用データはここにあるので、参考までに。
この記事をきっかけにいろんな人が触るようになって、Tipsを投下してくれることを祈ります🙏