Integrate the sensor with Bigfix

There are many IOT devices which I am able to interface individually and check the output using particle photon, We are thinking with different sensor as well as similar sensor (more than 1 quantity) to integrate with Bigfix

So need to know about mentioned points possibility to use bigfix with IOT sensor using Particle photon

  • To Manage and run the output of sensor on Internet thorugh bigfix.
  • Create the cache file system to use less space to store the data of sensor.
  • Communicate the data to web servers and share the reports (in form of dashboard) through internet.
  • Create secure warning alert system which send the warning Via SMS or email if temperature reading goes up from defined range

Is there a CLI/command line that you can run to execute inspect the sensor?

Ok as per your suggestion I will be able to install CLI command using
npm install cli-command
But Can you suggest me any documentation which will support me to create the cache system and help to integrate CLI with python ?
because I already written a library in python so wanted integrate it

@terby76 - I was actually referring to what you can do to call the sensor, even without BigFix? Do you have a link to the manual of the device that references this sensor?
-jgo

While I’d strongly recommend engaging IBM Pro Services to write a proxy agent for these devices, you can look at https://github.com/bigfix/trask for an example of a proxy agent. I don’t know whether this project is still maintained though, there don’t seem to be any recent updates.

2 Likes

Hey I am using this manual interfacing with Raspberry Pi Zero

And How can I call the sensor without using Bigfix?
Please suggest some helpful documentation I ll try according to your suggestion also.

According to example I was able to know a little bit, Here you used Json Parsing if I am not wrong and pass the URL in one variable but if I ll use IBM services how cam I authenticate my user ID password with Raspberry Pi zero if I have to write the code as per the sensor ?

@terby76 - referenced on the manufacturers website there is an API that you can use to collect the data from the sensor. It would appear that you need some sort of programmatic method to call the API from the β€œsensor”. After you decoded this on an Operating System you could use a property to inspect each byte.

Have you been able to get data from your sensor to the raspberry pi device? Also what is the overall use case that you are going for?

 – 900HP-S3B API Structure} – LSB Number of Bytes in the Data Frame, this Value will always be 0x19 (25 Bytes) for this sensor.

0x90 {Byte 4 – 900HP-S3B API Structure} – Frame Type – This Value will not Change

0x00 {Byte 5 – 900HP-S3B API Structure} – Frame ID 0 = No Response Frame – This Value will not Change

0x13 {Byte 6 – 900HP-S3B API Structure} – Serial Number Byte 1 of Transmitter, This Value is Defined by Each Sensor in the Network, Though this Particular Value Does Not Usually Change

0xA2 {Byte 7 – 900HP-S3B API Structure} – Serial Number Byte 2 of Transmitter, This Value is Defined by Each Sensor in the Network, Though this Particular Value Does Not Usually Change

0x00 {Byte 8 – 900HP-S3B API Structure} – Serial Number Byte 3 of Transmitter, This Value is Defined by Each Sensor in the Network, Though this Particular Value Does Not Usually Change

0x41 {Byte 9 – 900HP-S3B API Structure} – Serial Number Byte 4 of Transmitter, This Value is Defined by Each Sensor in the Network, Though this Particular Value Does Not Usually Change

0x68 {Byte 10 – 900HP-S3B API Structure} – Serial Number Byte 5 of Transmitter, This Value is Defined by Each Sensor in the Network

0x63 {Byte 11 – 900HP-S3B API Structure} – Serial Number Byte 6 of Transmitter, This Value is Defined by Each Sensor in the Network

0xBA {Byte 12 – 900HP-S3B API Structure} – Serial Number Byte 7 of Transmitter, This Value is Defined by Each Sensor in the Network

0xFF {Byte 13 – 900HP-S3B API Structure} – Serial Number Byte 8 of Transmitter, This Value is Defined by Each Sensor in the Network

0xFE {Byte 14 – 900HP-S3B API Structure} – This Value will not Change

0xC2 {Byte 15 – 900HP-S3B API Structure} – This Value will not Change

0x7F {Byte 16 – 900HP-S3B API Structure – Payload Data[1]} === Payload Header byte, this byte is fixed and never changes.

0x01 {Byte 17 – 900HP-S3B API Structure – Payload Data[2]} === Node ID, this is a user programmable value that may be used to identify the sensor number.  Node ID is programmable in configuration mode.

0x01 {Byte 18 – 900HP-S3B API Structure – Payload Data[3]} === Temperature Sensor Firmware Version, 0x01 is the Release Version

0x03 {Byte 19 – 900HP-S3B API Structure – Payload Data[4]} === Battery Voltage MSB, This Value will Change based on the available Battery Life

0x63 {Byte 20 – 900HP-S3B API Structure – Payload Data[5]} === Battery Voltage LSB, This Value will Change based on the available Battery Life

0x63 {Byte 21 – 900HP-S3B API Structure – Payload Data[6]} === Data Transmit Counter, this value will constantly Increase after each Transmission from 0x00 to 0xFF.  This may be used to help identify missed transmissions.

0x00 {Byte 22 – 900HP-S3B API Structure – Payload Data[7]} === This byte is used to define the sensor type MSB, this sensor id value will always be 0x00.

0x01 {Byte 23 – 900HP-S3B API Structure – Payload Data[8]} === this byte is used to define the sensor type LSB, this sensor id value will always be 0x01.

0x03 {Byte 24 – 900HP-S3B API Structure – Payload Data[9]} === Reserved

0x01 {Byte 25 – 900HP-S3B API Structure – Payload Data[10]} === Humidity MSB

0xA4 {Byte 26 – 900HP-S3B API Structure – Payload Data[11]} === Humidity LSB

0x00 {Byte 27 – 900HP-S3B API Structure – Payload Data[12]} === Temperature MSB

0x00 {Byte 28 – 900HP-S3B API Structure – Payload Data[13]} === Temperature LSB

0x10 {Byte 29 – 900HP-S3B API Structure – Checksum = 255 – (8-Bit Sum of Bytes 4 through 28)

 

To convert raw data values into temperature humidity values, use the following formula:

float humidity = ((((data[10] ) * 256) + data[11]) / 100.0) ;
float cTemp = (((data[12] * 256) + (data[13] )) / 100.0;)
float fTemp = cTemp * 1.8 + 32;

To convert raw voltage into battery voltage, use the following formula:

float battery = ((data[4] * 256) + data[5]);
float voltage = 0.00322 * battery;

@jgo, do you know when we are going to see a BESClient for Debian based Raspberry Pi?

I know that the BESClient will work on IoT devices as I successfully installed it on an Intel Edison running Debian a couple years ago. Obviously the x86 architecture is what made that possible.

That said, with the proliferation of IoT it only makes sense to offer native support for some of the more popular options (i.e. Raspberry Pi).

https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe&CR_ID=75873