センサー・インターフェースについて

当社は所謂「無線センサー」のベンダーを自称しているので、「無線インターフェース」の市場動向・開発動向を気にしながら仕事をしています。

もう一つ気にしている規格がセンサー・デバイス、例えば温度、湿度、照度、気圧、人感、ドア開閉、等々を検知するデバイスと、コントローラボードとの間のインターフェースです。ここでは「センサー・デバイス・インターフェース」としておきましょうか。

「センサー・デバイス・インターフェース」の電気仕様には主なものに、SPI, I2C, UART, GPIO、等々があるのですが、プロトタイピングをする際に気にしなければいけないのがコネクタの物理仕様です(そのデバイスを使うことが決まっている基板を起こす場合、以下の議論は不要です)。なぜならコネクタで取り外しが簡単にできないと、ブレッドボードを使ったりはんだ付けしたり、制御のためのソフトウェア・ファームウェアを書く以外に余計な仕事が増えるからです。設計が一通り終わった後、思った通りに動かないときいちいち自分が工作した部分を疑わないといけないのは辛いでしょ。

今までSeeed Studio社の4ピンのGroveコネクタに注目していましたが、最近Digilent社の策定したPmodという規格を知って、汎用性・拡張性に優れ、基板に固定できる(Groveはケーブルで繋ぐ)、などから、IoTのプロトタイピングに向いているな、と感じました。

まだ流動的ですが、今日はこんなところです。

 

ESP-WROOM-32開発ボードに火を入れる

Arduino IDEで開発できる、Wi-Fi, BLEが内蔵されたマイコンESP-WROOM-32の開発ボード、ESP32-DevKitCが手に入ったので、早速火を入れてみました。

ここではWindows10で開発しますが、まずArduino IDE1.8.1がインストールされているものとします。

1. https://github.com/espressif/arduino-esp32

の緑の”Clone or download”ボタンを押下してDownload ZIPからファイル一式を適当なフォルダに持ってきて、自分のArduino関連のフォルダに展開します。

../Arduino/hardware/espressif/esp32/cores,doc,libraries,,,

2. ../esp32/toolsの中のget.exeをダブルクリックして終わるまで待ちます。

3. Arduino IDEのメニューで、ツール>ボード>ESP32 Dev Moduleを選択します。

ハードが正しく動くか試したいのですが、この基板には電源LEDしかなく、俗に言うLチカが基板単体ではできません。ブレッドボードに載せてLEDを外付けすればいいのですが、動かなかったときあれやこれや気を回さないといけなくなるので、最初は何も繋がずテストできるのがベターです。そこでスケッチ例の中からASCIITableと言う、文字列をただコンソールに出力するだけのスケッチを動かしてみます。

結果がこちら

今後はこの基板・CPUをベースに開発を進めてみたいと思います。

ここまで

 

 

LoRaモジュールを動かす

LoRaモジュールを単独で(メーカから提供される評価ボードを使わずに)動かしてみます。

ブレッドボードで、PC->(USBシリアル変換)->LoRaモジュール、の回路を組んでみます。

これでPCからTeratermで操作できるようになりました。

次はArduinoなどマイコンボードから制御することを試みます。

ここまで

Wi-Fi, Bluetooth Low Energy(BLE)

昨日東京出張の折り、久々に秋葉原に寄ってみたらESP-WROOM-32の評価・開発ボードが発売されていたので即買いしました。

Raspberry Piシリーズでは既に”3″にてWi-FiとBLEが最初から内蔵されるようになりましたが、ArduinoシリーズではESP-WROOM-32で内蔵され、それが今回開発しやすくなったと言うことです。

IoTはいよいよWi-FiとBLEが標準、と言う流れが加速します。

ここまで

LoRaWANプロトコル「超」概説

LoRaWANのプロトコル階層は以下のようになっています。

LoRaWANアライアンスが定めている仕様は上の図のLoRa MAC以下で、アプリケーション層は(現在のところ)規定されていません。アプリケーション層は予め送受信双方で取り決めておく必要があります。

LoRa MAC層に見えるClass A, B, Cとは、センサーノードの電池寿命を伸ばす目的で、用途によって3種の使い分けができ、

Class Aは、端末側の送信から通信を始め、その端末が受信動作をするのは送信した直後の2回だけ(端末が送信してきたときだけ上流からデータを送れる)
Class Bは、センサーノードは定期的に受信動作をしており、送信せよという指示を受信したら送信する方式(端末は通常は送信しないが、上流から問い合わせがあったときに答えるような動作ができる)
Class Cは、送信時以外はいつも受信している

と言う使い分けができます。

LoRa MAC以下の仕様は、”LoRaWAN 1.0.2″と”Reginal Parameters”の2つに分かれており以下のサイトから誰でもダウンロードできます。

LoRaアライアンスの仕様書ダウンロードページはこちら

ここまで

 

無線モジュールは扱いにくい

LoRa対応の無線モジュールが手に入ったので、添付されていた評価ボードを使わずにどんな評価ができるか試そうとしています。

前準備として、このモジュールは1.27mmピッチでブレッドボードに直接刺さらないので、写真のような基板を手作りしてみました。

今日はここまで。

LPWA関連商品の企画検討を始めました

LPWA, 特にLoRaWANはゲートウェイの設置状況やコミュニティの様子から、ヨーロッパから普及し始めているように伺えます。LoRaWANについてはゲートウェイやノードを自作する猛者も多く、そのための部品類や情報が豊富で羨ましい限りです。

日本でもこれからLPWAが立ち上がるいい時期だと思いますので、当社でも普及の一翼を担いたく、近々(多分4月から)、関連商品を提供できるように動くことにしました。

乞うご期待です。

The Things Network

LoRaWANは規格がオープンで、特に団体に加盟しなくても試すことができるのが魅力である。と言うわけで、欧州を中心にエリアを増やしている草の根LoRaWANのTheThingsNetworkにアカウントを作ってみた。

日本でこのまま普及するとは思わないが、知っておく必要がある。

今日はここまで。