本日のリリース “obniz Board 1Y” 販売開始、JS/OS ver3、obniz-noble

obniz Board 1Y is now on sale!

新機能を搭載した新しい公式デバイス「obniz Board 1Y」を本日より販売開始いたします!

obniz Board 1Yは、スリープ機能を搭載。電池のみで1年間動作可能となります。これまでのobniz Boardとの比較は以下のページをご確認ください。
obniz Board 1Y Release

obniz Board 1Yを入手できるストア:
Amazon.co.jp
obniz 公式ストア

以下の商品も、obniz Board 1Yと合わせてどうぞ。

obniz.js ver 3 released

obniz.js 3は、これまでのobniz.js2または1シリーズより、BLEコマンドに大きな変更を加えました。

マイグレーション方法はこちらをご覧ください。
obniz.js2系からobniz.js3系への移行方法

Features

  • obniz Board 1Yに対応
  • スリープコマンドを追加 (obniz Board 1Yにみ対応)
  • BLE stackを追加 (obnizOSから移行)
  • Add BLE initWait function for initaliz BLE
  • Auto setting BLE CCCD and security parameters

廃止

  • BLE security methods

CHANGELOG: https://github.com/obniz/obniz/releases

obnizOS3 Released

obniz OS 3は、obnizがサポートするデバイスのメジャーバージョン変更となります。

obniz.js ver3を利用するためには、 obnizOS3をインストールしたデバイスを使用する必要があります。

変更点

  • Old Ble commands from obniz.js(1.X.X and 2.X.X)/python(0.5.1 and early) can’t be accepted.
  • Websocket/REST API now only accept HCI BLE commands for obnizOS3 series

追加

  • add Hardware Support: obniz Board 1Y/ Encored IoT Hub
  • add Sleep function for obniz Board 1Y
  • add Bluetooth HCI command

改善点

  • change first setup display UI for obniz Board series.
  • change error UI more readable.
  • change Minimum Network Latency from 10msec to 1msec when local connect enabled. It makes better performance for robot controlling.

バグ修正

  • fix obnizOS disconnect from obniz cloud when wait() called with over 30min.
  • fix OTA fails on some devices.

NEW release “obniz-noble”

obnizOS3は、nobleから直接制御できます。

nobleは、Nodejs用のBLE stackオープンソースライブラリです。
nobleよりフォークしたobniz-nobleをリリースしました。

https://github.com/obniz/obniz-noble

nobleを使用してBLEプロジェクトを作成する場合は、obniz-nobleをインストールして、1行追加するだけで、インターネットからBLEデバイスを制御できます。

obniz-nobleの使用例です。

var obnizNoble = require('obniz-noble')
var noble = obnizNoble("OBNIZ_ID_HERE");

noble.startScanning(); // any service UUID, no duplicates

noble.on('discover', function(peripheral) {
    console.log('Found device with local name: ' + peripheral.advertisement.localName);
    console.log('advertising the following service uuid's: ' + peripheral.advertisement.serviceUuids);
    console.log();
});