This website is available for multi language.

リアルタイム屋内位置情報・施設管理を
obnizのデバイス+クラウドで作る

人の位置やセンサーの状態をリアルタイムに把握

位置の追跡

位置の追跡

リアルタイムな位置の取得や過去の履歴の保存

センサー情報の収集

センサー情報の収集

自由なプログラムで各種機器に対応

遠隔操作

遠隔操作

無線・有線で既存機器を状況に合わせ操作

サービス連携

サービス連携

メール・電話・データベース・APIと連携

工場・建設現場内での資材の位置管理
倉庫・資材庫での位置管理
出退勤管理・社内位置情報管理
出退勤管理・社内位置情報管理
設備の稼働状況監視
設備の稼働状況監視
混雑監視・O2Oサービス
混雑監視・O2Oサービス

クラウドのソフトだけで作れるIoTシステム「obniz」で開発

obnizは、デバイスに関するすべての操作をobnizクラウドのAPI経由で行います。

IoTに必要なデバイス上のファームウェア、クラウドとの通信と暗号化、クラウド上でのデバイス認証と管理機能は全て、obnizより提供されます。
サーバーで動くソフトウェアを用意するだけで、屋内位置情報・施設管理ソリューションを開発できます。

obnizについてもっと詳しく知る

obnizクラウドのAPI経由で操作

屋内位置情報・施設管理にobnizを使う

リアルタイム・低遅延はもちろん豊富なBLEビーコンやセンサーとの組み合わせも自由。
BLEデバイスとobnizを組み合わせた屋内位置情報や施設管理サービスは以下のような特徴のある開発が可能です。

obnizのファームウェアレス技術により、
すべてのプログラムはクラウド上で動作。

エッジデバイスのファームウェア開発は必要ありません。全てクラウド上のプログラムから操作します。

obnizクラウドのAPI経由で操作

新規機能は自由に展開
全体反映や1デバイス限定も即座に

新規デバイスの追加やスキャン方法の変更などはサーバーをリロードするだけで全国のデバイスに即時適用できます。また、問題のある施設の数台のみ違う動作をさせたり、問題が解決するまで何度も変えるなども容易です。

デバイスの設置・切り替え
数量変更もリアルタイムに反映

設置されるデバイスの位置や担当センサーなどもサーバー上のソフトウェアで制御可能です。デバイスを交換した場合もデバイスには何もせずサーバー上の情報切り替えで即座に行うことができます。

自動バックアップで
高いロバスト性

重要な機器と繋ぐ場合、obnizなら電源が抜かれて動作しなくなったときに近くのデバイスに自動で担当を切り替えるといった動作も可能です。

ソフトウェア漏洩の可能性はゼロ

エッジデバイスにファームウェアは書き込まれていません。デバイス盗難が起きたとしても、プログラムやデバイスに保存していたBLEペリフェラルを操作するための秘密情報が漏洩することはありません。

ビーコンフィルターは自由に設計
携帯回線向けエッジフィルターで
低容量にも対応

「UUID指定」「Major, Minor指定」や「RSSIの強度」はもちろん「1度送ったら2分は送らない」などプログラムで自由な設定が可能。また、デバイスは「Wi-Fi」「有線LAN」「携帯回線」といった回線に対応でき、携帯回線での常時スキャン時もエッジ側のフィルターで回線帯域を節約します。

ビーコンフィルターは自由に設計
const Obniz = require("obniz");

const obnizList = [
  {
    "obniz_id": "1111-1111",
    "memo": "入り口に設置"
  },
  {
    "obniz_id": "1111-1112",
    "memo": "出口に設置"
  }
]

for (const setting of obnizList) {
  const obniz = new Obniz(setting.obniz_id, {access_token: setting.access_token});
  obniz.onconnect = onconnect;
  obniz.onclose = onclose
}

async function onconnect(obniz) {
  await obniz.ble.initWait();
  obniz.ble.scan.onfind = async (peripheral) => {
    // Beacon Found
    console.log(`Found beacon localName=${peripheral.localName} by obniz ${obniz.id}`)
  };
  await obniz.ble.scan.startWait(
    {
      uuids: ["2acb"]
    },
    {
      duplicate: true,
      duration: null
    },
  )
}

async function onclose(obniz) {

}
const Obniz = require("obniz");

const obnizList = [
  {
    "obniz_id": "1111-1111",
    "memo": "入り口に設置"
  },
  {
    "obniz_id": "1111-1112",
    "memo": "出口に設置"
  }
]

let founds = {};

for (const setting of obnizList) {
  const obniz = new Obniz(setting.obniz_id, {access_token: setting.access_token});
  obniz.onconnect = onconnect;
}

async function onconnect(obniz) {
  await obniz.ble.initWait();
  obniz.ble.scan.onfind = async (peripheral) => {
    // Beacon Found
    console.log(`Found beacon localName=${peripheral.localName} by obniz ${obniz.id}`)
    // Filter by RSSI
    if (founds[peripheral.address] && founds[peripheral.address].rssi > peripheral.rssi) {
	    return;
    }
    founds[peripheral.address] = {
      rssi: peripheral.rssi,
      localName: peripheral.localName,
      obniz: obniz.id
    }
  };
  await obniz.ble.scan.startWait(
    {},
    {
      duplicate: true,
      duration: null
    },
  )
}

// every 1 min
setInterval(()=>{
	for (const address in founds) {
    const found = founds[address];
    console.log(`${found.localName} is closed to ${found.obniz}. RSSI=${found.rssi}`)
  }
  founds = [];
}, 60 * 1000)

センサー値の抽出はもちろん、
スキャンと同時に接続も

ビーコンの有無だけでなく、advertisementに含まれる温度情報などの値の読み取りと送信も可能。また、スキャンとBLE機器との接続も両立可能。施設内の接続が必要なBLEドアセンサーや温度センサーと通信しつつスキャンを行うことができます。

スキャンと同時に接続も
const Obniz = require("obniz");
const Logtta_TH = Obniz.getPartsClass('Logtta_TH');

const obniz = new Obniz("1111-1111", {access_token: "v]rhyiYkZY9JH3SA8rbS4dY"});

obniz.onconnect = async (obniz) => {
  await obniz.ble.initWait();
  obniz.ble.scan.onfind = async (peripheral) => {
    console.log(`Found beacon localName=${peripheral.localName} by obniz ${obniz.id}`)
    // LogttaTH 温度センサーなら接続
    if (Logtta_TH.isDevice(peripheral)) {
      try {
        const device = new Logtta_TH(peripheral);
	      await device.connectWait();
	      console.log(`connected`);
	      await obniz.ble.scan.startWait(); // start scannning again
	    } catch(e) {
	      console.error(e);
	    }
    }
  };
  obniz.ble.scan.onfinish = async function(peripherals, error){
    await obniz.ble.scan.startWait();
  };
  await obniz.ble.scan.startWait();
}

const Obniz = require("obniz");
const fetch = require("node-fetch");
const Logtta_TH = Obniz.getPartsClass('Logtta_TH');

const obnizList = [
  {
    "obniz_id": "1111-1111"
  },
  {
    "obniz_id": "1111-1112"
  }
]

for (const setting of obnizList) {
  const obniz = new Obniz(setting.obniz_id, {access_token: setting.access_token});
  obniz.onconnect = onconnect;
}

let connecteds = []

async function onconnect(obniz) {
  await obniz.ble.initWait();
  obniz.ble.scan.onfind = async (peripheral) => {
    console.log(`Found beacon localName=${peripheral.localName} by obniz ${obniz.id}`)
    // LogttaTH 温度センサーなら接続
    if (Logtta_TH.isDevice(peripheral)) {
      try {
        const device = new Logtta_TH(peripheral);
				device.ondisconnect = (reason) => {
		      console.log(`closed reason ${reason}`)
          connecteds.splice(connecteds.indexOf(device), 1);
		    }
	      await device.connectWait();
	      console.log(`connected`);
        connecteds.push(device);
	      await obniz.ble.scan.startWait(); // start scannning again
	    } catch(e) {
	      console.error(e);
	    }
    }
  };
  obniz.ble.scan.onfinish = async function(peripherals, error){
    await obniz.ble.scan.startWait();
  };
  await obniz.ble.scan.startWait();
}

// every 1 min
setInterval(async ()=>{
	for (const device in connecteds) {
    const temperature = await device.getTemperatureWait();
    console.log(`temperature=${temperature}`);
    await fetch(`https://api.example.com/post`, {
	    method: "post",
	    body: JSON.stringify({
        temperature
      }),
	    headers: { "Content-Type": "application/json" },
	  });
  }
  founds = [];
}, 60 * 1000)

WEBシステムとの自由な連携
既存のサービスを変えないでobnizを導入

SMSや電話のWebサービス・Amazon KinesisやRedisなどへの連携はもちろん、独自APIなども自由にプログラム。現在サービス提供中でも、システムをそのままにobnizを導入できます。

WEBシステムとの自由な連携
const Obniz = require("obniz");
const AWS = require("aws-sdk");
const Logtta_TH = Obniz.getPartsClass('Logtta_TH');
const kinesis = new AWS.Kinesis({ region: process.env.region }); // give IAM permission to Lambda

exports.handler = function(event, context, callback) {

  // obniz setup
	const obniz = new Obniz("1111-1111", {access_token: "v]rhyiYkZY9JH3SA8rbS4dY"});
	obniz.onconnect = async (obniz) => {
	  await obniz.ble.initWait();
	  obniz.ble.scan.onfind = async (peripheral) => {
	    console.log(`Found beacon localName=${peripheral.localName} by obniz ${obniz.id}`)
	    // LogttaTH 温度センサーなら接続
	    if (Logtta_TH.isDevice(peripheral)) {
	      try {
	        const device = new Logtta_TH(peripheral);
		      await device.connectWait();
	        const temperature = await device.getTemperatureWait();
	        await report(temperature)
          obniz.close(); // close socket to obniz
          callback(null, "success");
		    } catch(e) {
		      console.error(e);
		    }
	    }
	  };
	  await obniz.ble.scan.startWait();
	}
}

async function report(temperature) {
  const record = {
    Data: JSON.stringify({
	    temperature
    }),
    PartitionKey: "1",
    StreamName: 'your-stream',
  };
  await kinesis.putRecord(record).promise();
}

obnizを使った事例

所在地見える化ソリューション Beacapp Here

株式会社ビーキャップ

ビーコンのBLE信号を検知し、オフィスや工場・倉庫などのマップ上で所在地を確認できるクラウドサービス「Beacapp Here」。 既存サービスにobnizを導入し、機能の強化とメンテナンスの簡略化を実現。
Beacapp Hereサービスサイトへ(外部サイト)

屋内位置情報・施設管理に最適なデバイス

obniz BLE/Wi-Fiゲートウェイ

obniz BLE/Wi-Fiゲートウェイ

  • ステルス
    SSID
  • Proxy
    対応
  • TSL1.2
    暗号化

価格10,780円(税込)

obnizクラウド無期限ライセンス
(Liteプラン)

今すぐ購入

サイズ 50mm×35mm×13mm プラグ部除く
電源 AC100V 50/60Hz
消費電流 最大0.1A
動作環境 温度:0℃〜40℃、湿度:10%〜90%
主な素材 難燃性ポリカーボネート
製造 エンコアードジャパン株式会社
Bluetooth Bluetooth 4.2
Wi-fi IEEE 802.11b/g/n (2.4 GHzのみ)
同時接続数 7台(状況により異なります)

動作検証済みBLEデバイス

小型BLEビーコン(iBS04i)

小型BLEビーコン(iBS04i)

キーホルダー型の小型ビーコン。BLEを利用しビーコンを発信するデバイスです。

ライブラリへ

紛失防止タグ(RS_SEEK3)

紛失防止タグ(RS_SEEK3)

ラトックシステムズ社製の紛失防止タグ。電池駆動でビーコンを発信します。

ライブラリへ

マグネットセンサー

人感センサー

INGICS社製の人感センサー。5mの範囲内の動きを検知することができます。

ライブラリへ

環境センサー

環境センサー

温度・湿度・明るさ・動きを計測するマルチセンサー

ライブラリへ

obnizを使う

obnizの製品を買う

評価・検証用にobnizOSのインストールされたデバイスを1台から購入できます。

製品一覧

ドキュメント/ガイド

obnizデバイスやOSの使用方法はドキュメント/ガイドをご参照ください。

ドキュメント/ガイド

obnizの詳細

obnizの特徴を詳しくご説明しています。

obnizとは

obnizの開発パートナーがあなたのシステム構築のお手伝いをします。まずは弊社までお気軽にご相談ください。

お問い合わせ

<IoT/DXパートナー>

株式会社MAGLAB

<IoTソリューションパートナー>

株式会社ステップワン

パートナーになりませんか?

パートナー参加のメリットと流れ