2jcie-ble-decode 中文文档教程
2jcie-ble-decode
一个简单的包,用于解码 Omron 的 2JCIE-BU01 传感器发送的数据帧
Description
该包将允许与 Omron 的 2JCIE-BU01 传感器轻松连接 BLE。 有类似的传感器也可以工作,但没有经过测试。
不支持(在此包中)通过 USB 读取数据。
Setup
该软件包能够解码“传感器数据”和“计算数据”消息类型。 默认情况下,传感器仅传输“传感器数据”,但您可以使用 Omron 的移动应用程序将其配置为发送两者。
Platform | App Link |
---|---|
App Store | ENV Monitor |
Google Play | ENV Monitor |
Usage
- Install the package with
npm i --save 2jcie-ble-decode
- Require the dependency
- Instantiate the dependency with optional configuration
- Register event handlers
const Sensor = require('2jcie-ble-decode');
const sensor = new Sensor();
(() => {
// Listener for all events
sensor.on('event', (data) => console.log(data));
// Listeners for specific event types (options are 'calculation' and 'sensor')
sensor.on('calculation', handleCalculationData);
sensor.on('sensor', handleSensorData);
// Listener for error events
sensor.on('error', handleErrors);
}) ();
Configuration
构造函数接受一个选项对象,该对象可以省略以接受默认值:
const sensor = new Sensor();
您可以向 Sensor() 构造函数提供一个选项对象参数,如下所示:
const sensor = new Sensor({
// Activate test mode, which doesn't require Bluetooth hardware or a sensor.
// You will receive alternating sample "sensor" and "calculation" events ever 1s
// Sample events defined in ./mock/example.js
testMode: false, // defaults to false
// Activate the whitelist. Ignore any events not originating from one of these addresses
whitelist: [ 'yourSensorMAC' ],
// If omitted, a Barnowl instance will be created and register the BarnowlHci listener
// Use this if you already have a Barnowl instance in your project and you just want to
// add the ability to process Omron data frames.
barnowl: existingBarnowlInstance,
// Minimum number of seconds to wait before emitting another reading.
interval: 5
});
Output
输出将在以下格式:
'sensor' Event Type:
{
"dataType": 3,
"sequenceNumber": 54,
"temperature": 23.97,
"relativeHumidity": 49.25,
"ambientLight": 361,
"barometricPressure": 1018.602,
"soundLevel": 51.58,
"eTVOC": 25,
"eCO2": 565,
"messageType": "sensor",
"temperatureF": 75.146,
"deviceId": "d13e50866f01"
}
'calculation' Event Type:
{
"dataType": 3,
"sequenceNumber": 54,
"discomfortIndex": 70.36,
"heatStrokeRisk": 20.26,
"vibration": 0,
"siValue": 0,
"peakGroundAcceleration": 0,
"seismicIntensity": 0,
"accXAxis": 894.3,
"accYAxis": 6305.9,
"accZAxis": 6249.9,
"messageType": "calculation",
"deviceId": "d13e50866f01"
}
Resources
OMRON 2JCIE-BU01 手册:https ://omronfs.omron.com/en_US/ecb/products/pdf/A279-E1-01.pdf
2jcie-ble-decode
A simple package to decode the data frames sent by the 2JCIE-BU01 sensor from Omron
Description
This package will allow for easy BLE interfacing with the 2JCIE-BU01 sensor from Omron. There are similar sensors that may also work, but are not tested.
There's no support (in this package) for reading data via USB.
Setup
This package is capable of decoding both "Sensor Data" and "Calculation Data" message types. The sensor only transmits "Sensor Data" by default, but you can use Omron's mobile app to configure it to send both.
Platform | App Link |
---|---|
App Store | ENV Monitor |
Google Play | ENV Monitor |
Usage
- Install the package with
npm i --save 2jcie-ble-decode
- Require the dependency
- Instantiate the dependency with optional configuration
- Register event handlers
const Sensor = require('2jcie-ble-decode');
const sensor = new Sensor();
(() => {
// Listener for all events
sensor.on('event', (data) => console.log(data));
// Listeners for specific event types (options are 'calculation' and 'sensor')
sensor.on('calculation', handleCalculationData);
sensor.on('sensor', handleSensorData);
// Listener for error events
sensor.on('error', handleErrors);
}) ();
Configuration
The constructor accepts an options object which can be omitted to accept defaults:
const sensor = new Sensor();
You can provide an options object parameter to the Sensor() constructor as follows:
const sensor = new Sensor({
// Activate test mode, which doesn't require Bluetooth hardware or a sensor.
// You will receive alternating sample "sensor" and "calculation" events ever 1s
// Sample events defined in ./mock/example.js
testMode: false, // defaults to false
// Activate the whitelist. Ignore any events not originating from one of these addresses
whitelist: [ 'yourSensorMAC' ],
// If omitted, a Barnowl instance will be created and register the BarnowlHci listener
// Use this if you already have a Barnowl instance in your project and you just want to
// add the ability to process Omron data frames.
barnowl: existingBarnowlInstance,
// Minimum number of seconds to wait before emitting another reading.
interval: 5
});
Output
Output will be in the following format:
'sensor' Event Type:
{
"dataType": 3,
"sequenceNumber": 54,
"temperature": 23.97,
"relativeHumidity": 49.25,
"ambientLight": 361,
"barometricPressure": 1018.602,
"soundLevel": 51.58,
"eTVOC": 25,
"eCO2": 565,
"messageType": "sensor",
"temperatureF": 75.146,
"deviceId": "d13e50866f01"
}
'calculation' Event Type:
{
"dataType": 3,
"sequenceNumber": 54,
"discomfortIndex": 70.36,
"heatStrokeRisk": 20.26,
"vibration": 0,
"siValue": 0,
"peakGroundAcceleration": 0,
"seismicIntensity": 0,
"accXAxis": 894.3,
"accYAxis": 6305.9,
"accZAxis": 6249.9,
"messageType": "calculation",
"deviceId": "d13e50866f01"
}
Resources
OMRON 2JCIE-BU01 Manual: https://omronfs.omron.com/en_US/ecb/products/pdf/A279-E1-01.pdf