obniz Parts Library

LogttaTemp

GitHub
LogttaTemp
Usable Devices :
obniz_board
m5stickc
obnizble
esp32
esp32gateway
m5stackbasic
ak-030
obnizble_lte
obniz_plc

Logtta_TH

ユニ電子製の温湿度センサー

公式製品紹介ページはこちら

対応モード

  • ビーコンモード
  • 接続可能モード

ビーコンデータ(getData())

  • battery: 電池残量(%)
  • temperature: 温度(℃)
  • humidity: 湿度(%)
  • interval: 送信間隔(秒)

接続時のデータ(getDataWait())

  • temperature: 温度(℃)
  • humidity: 湿度(%)

使用例(ビーコンモード)

// Javascript
const Logtta_TH = Obniz.getPartsClass('Logtta_TH');
await obniz.ble.initWait();
obniz.ble.scan.onfind = (peripheral) => {
  // 動作モードを取得、Logtta_THでないときはnullに
  const mode = Logtta_TH.getDeviceMode(peripheral);
  if (mode === 'Beacon') {
    // インスタンスを生成
    const device = new Logtta_TH(peripheral, mode);
    // データを取得し、コンソールに出力
    console.log(device.getData());
  }
};
await obniz.ble.scan.startWait(null, { duplicate: true, duration: null });

使用例(接続可能モード)

接続して1回だけデータ取得&電池残量取得

batteryService.getBatteryLevelWait()を使用して電池残量をパーセント単位で取得できます。

// Javascript
const Logtta_TH = Obniz.getPartsClass('Logtta_TH');
await obniz.ble.initWait();
obniz.ble.scan.onfind = async (peripheral) => {
  // 動作モードを取得、Logtta_THでないときはnullに
  const mode = Logtta_TH.getDeviceMode(peripheral);
  if (mode === 'Connectable') {
    // インスタンスを生成
    const device = new Logtta_TH(peripheral, mode);
    console.log(`Connecting to Logtta_TH[${device.address}]`);

    // デバイスに接続
    await device.connectWait();
    console.log(`Connected to Logtta_TH[${device.address}]`);

    // デバイスからデータ取得
    const data = await device.getDataWait();
    console.log(`Logtta_TH[${device.address}]: ${data.temperature}℃`);
    console.log(`Logtta_TH[${device.address}]: ${data.humidity}%`);

    if (device.batteryService) {
      // デバイスから電池残量を取得
      const batteryLevel = await device.batteryService.getBatteryLevelWait();
      // 電池残量を出力
      console.log(`Logtta_TH[${device.address}]: BatteryLevel ${batteryLevel}%`);
    }

    // デバイスから切断
    await device.disconnectWait();
    console.log(`Disconnected from Logtta_TH[${device.address}]`);
  }
};
await obniz.ble.scan.startWait();

接続して定期的にデータ取得

startNotifyWait()を使用してデバイスからのデータを常に待ち受けることができます。

// Javascript
const Logtta_TH = Obniz.getPartsClass('Logtta_TH');
await obniz.ble.initWait();
obniz.ble.scan.onfind = async (peripheral) => {
  // 動作モードを取得、Logtta_THでないときはnullに
  const mode = Logtta_TH.getDeviceMode(peripheral);
  if (mode === 'Connectable') {
    // インスタンスを生成
    const device = new Logtta_TH(peripheral, mode);
    console.log(`Connecting to Logtta_TH[${device.address}]`);

    // デバイスに接続
    await device.connectWait();
    console.log(`Connected Logtta_TH[${device.address}]`);

    // デバイスからのデータの待ち受けを開始
    device.startNotifyWait((data) => {
      console.log(`Logtta_TH[${device.address}]: ${data.temperature}℃`);
      console.log(`Logtta_TH[${device.address}]: ${data.humidity}%`);
    });
  }
};
await obniz.ble.scan.startWait();

接続してビーコンモードを有効化

setBeaconModeWait()を使用して定期的にビーコンを発信するモードの有効無効を制御できます。

設定後に切断すると有効になります。

事前にauthPinCodeWait()を使用してデバイスと認証する必要があります。(デフォルト認証コード: 0000)

ビーコンモードを終了する場合、デバイスにあるボタンを2秒以上長押しする操作が必要になります。

// Javascript
const Logtta_TH = Obniz.getPartsClass('Logtta_TH');
await obniz.ble.initWait();
obniz.ble.scan.onfind = async (peripheral) => {
  // 動作モードを取得、Logtta_THでないときはnullに
  const mode = Logtta_TH.getDeviceMode(peripheral);
  if (mode === 'Connectable') {
    // インスタンスを生成
    const device = new Logtta_TH(peripheral, mode);
    console.log(`Connecting to Logtta_TH[${device.address}]`);

    // デバイスに接続
    await device.connectWait();
    console.log(`Connected to Logtta_TH[${device.address}]`);

    // 認証コードを送信
    await device.authPinCodeWait(0000);
    console.log(`Logtta_TH[${device.address}]: Sent auth pin code`);

    // ビーコンモードに有効化
    await device.setBeaconModeWait(true);
    console.log(`Logtta_TH[${device.address}]: Enabled beacon mode`);

    // デバイスから切断
    await device.disconnectWait();
    console.log(`Disconnected from Logtta_TH[${device.address}]`);
  }
};
await obniz.ble.scan.startWait();

Supported from: obniz.js 3.5.0