WebアプリからインターネットやローカルLANを経てBLE機器にアクセスするゲートウェイの試作版をgithubで公開しました。
横浜工文社はWiFiやBluetooth Low Energy(BLE)を装備したIoT末端デバイスの組み込みソフトウェアの開発請負、開発支援を行います。 デバイスハードウェアの試作も行います(SOCモジュールやセンサやアクチュエータの選定を含む)。
BLE IoTゲートウェイ(ble-iot-gwy)は、遠隔のBluetooth Low Energy(BLE)デバイスにはインターネットを経由して、近隣のBLEデバイスには無線/有線ローカルLANを経由して、PCや携帯機器からWebアクセスを可能とするものです。
ゲートウェイは次のように動作します。
横浜工文社は現在、下記プラットフォームでWeb-BLEゲートウェイを開発中。
ゲートウェイのWebインターフェースはALT-APIを採用(後述)。
紹介スライド(PDF):
研究目的のAPI実装(Nodejs/Nobleを使用、Windows 10でテスト)をgithubで公開:
API仕様:
以下にBLE-Webゲートウェイ開発の契機について横浜工文社の技術者がまとめたメモを紹介します。
Bluetoothには複数の種類があり、それぞれハードウェアやプロトコルに互換性がない。
従来のBluetoothの主な用途はRFCOMMプロトコルを用いたデータストリーミングで、例としてヘッドフォンやスピーカの音楽データの送信がある。
BLEはIoTデバイスを念頭に置いて設計された。GATTプロトコルを用いたI/Oポート型のデータ交換を採用して、少量のデータの読み書きとデータや状態の変更通知を行う。例として健康計測機器や各種センサーがある。
IoT(Internet of Things)はインターネットに接続できるデバイス。インターネットの周縁に位置するセンサや駆動装置。
BLEは、現在利用可能でかつ安価な、IoTシステム開発の「最後の数メートルの無線技術」とみています。
Bluetoothの用語や考え方は電話業界の技術者が考案したもの。いっぽうWeb技術はコンピュータ業界の技術者が開発したもの。両者は大きく異なる。コンピュータ業界の開発者の私にはBluetoothの習得やプログラミングで多くの困難を経験した。
そこで思いついたのが、Webスタイルの抽象的なデータアクセスモデルからBLE固有のアクセスモデルへの架け橋を用意すること。
それで見つけたのがBLEデバイスにアクセスするWeb APIを提案するBluetooth SIGのホワイトペーパー(SIG-API)。このAPIを吟味したところWeb開発者にBLE固有のデータアクセスモデルの詳細を直接露出していることがわかった。つまりこのAPIを使用するWeb開発者はBLEに精通している必要がある。
横浜工文社が設計したALT-APIは、BLEデバイスに対して、素直でわかりやすく、Web親和性のあるインターフェースを提供する。BLE固有の些末な詳細は自動で処理し、Web開発者から隠してくれる。開発者はBLEプログラマである必要がない。
ALT-APIおよびそれにもとづくゲートウェイ実装は、単にBLEとWebの架け橋だけでなく、WiFiあるいは他の単距離無線技術を装備したIoTデバイスに対してもあまねくWebアクセスを提供できる。
サイレックスの無線LAN開発者のブログ記事が参考になりました。
Bluetoothのはなし
横浜工文社はWiFiやBluetooth Low Energy(BLE)を装備したIoT末端デバイスの組み込みソフトウェアの開発請負、開発支援を行います。 デバイスハードウェアの試作も行います(SOCモジュールやセンサやアクチュエータの選定を含む)。
対象機器はLinuxを組み込んだボックスやシングルチップ無線デバイスです。
Written: 2019-Oct-23
Updated: 2020-Jul-10