From Bluetooth Low Energy to Cloud : SensiBLE IoT node use case
Overview
Skill Level: Intermediate
Bluetooth low energy is a universal low-power wireless standard that makes it easy to connect IoT nodes to a Gateway (smartphone or MCU based on Wifi AP) .
Ingredients
1. Software:
IBM Watson Account
Node-Red usage Skills
FP-SNS-MOTENV1 from ST Microelectronics
BlueMS Application for Android and iOS
2. Hardware :
SensiBLE v1.0 BLE Network Processor: https://www.sensiedge.com/sensible
Step-by-step
1. BLE node Setup and programming
SensiBLE is – a low power, small form factor (20x30mm), ready-to-use system-on-board equipped with 3-axis accelerometer, 3-axis magnetometer, 3-axis digital gyroscope, pressure, relative humidity, ambient light and temperature sensors. Microphone, Bluetooth Low Energy (BLE) , and Low Power ARM® 32-bit Cortex®-M4 CPU with FPU are on-board as well.
SensiBLE “IoTHardware Ready” lowering the barriers for developers on the shelf Module based STMicroelectronics: BLE + Sensors + MCU.
SensiBLE enables wireless connectivity, not requiring any RF experience or expertise. Firmware, Bluetooth stack, protocols and Profiles are embedded into SensiBLE. The FP-SNS-MOTENV1 is an STM32 ODE function pack, which lets you connect your IoT node to a smartphone via BLE and uses a suitable Android™ or iOS™ application, such as the BlueMS app, to view real-time environmental and motion sensor data, and gas gauge level.Installation procedure by using the pre-compiled binary or after compiling the project can be find here BlueMS Android application :SDK makes it easy to develop applications on either system (Android™ and iOS™), by using a common programming model for both Android™ and iOS™ platforms. A BlueMS Application for Android and iOS (with a source code) is given here:
You can download directly the android App from Google play :
I’m Here !
2. Create a Node-RED boilerplate app
Node-RED is a tool built on top of Node.js for IoT wiring together hardware devices, APIs and Cloud services. Node-RED provides a browser-based flow editor that makes it easy to wire together flows using the wide range nodes in the palette.
In this guidline, you will learn how to create an instance of Node-RED running on IBM Cloud and a Dashboard flows :
The NodeRed code:
[{“id”:”2c8a3849.a8e088″,”type”:”ibmiot in”,”z”:”fb70710.9acef9″,”authentication”:”quickstart”,”apiKey”:””,”inputType”:”evt”,”logicalInterfaceId”:””,”ruleId”:””,”deviceId”:”5A_5D_62_DB_F1_B4″,”applicationId”:””,”deviceType”:”+”,”eventType”:”+”,”commandType”:””,”format”:”json”,”name”:”IBM IoT”,”service”:”quickstart”,”allDevices”:””,”allApplications”:””,”allDeviceTypes”:true,”allEvents”:true,”allCommands”:””,”allFormats”:””,”qos”:0,”x”:235,”y”:101,”wires”:[[“18c5c759.507329″,”bd387764.94a648″,”29082283.22ca1e”,”9bdd4a44.b59678″,”6dfcc463.9265ec”]]},{“id”:”18c5c759.507329″,”type”:”function”,”z”:”fb70710.9acef9″,”name”:”Pressure”,”func”:”\nreturn {payload:msg.payload.d.Pressure};”,”outputs”:1,”noerr”:0,”x”:438,”y”:178,”wires”:[[“2517fd03.d3eec2”]]},{“id”:”bd387764.94a648″,”type”:”function”,”z”:”fb70710.9acef9″,”name”:”Humidity”,”func”:”\nreturn {payload:msg.payload.d.Humidity};\n “,”outputs”:1,”noerr”:0,”x”:438,”y”:78,”wires”:[[“50a038a0.c879f8”]]},{“id”:”2517fd03.d3eec2″,”type”:”ui_gauge”,”z”:”fb70710.9acef9″,”name”:”Gauge”,”group”:”427ed15d.bed8d”,”order”:0,”width”:0,”height”:0,”gtype”:”gage”,”title”:””,”label”:”mBar”,”format”:””,”min”:0,”max”:”2000″,”colors”:[“#00b500″,”#e6e600″,”#ca3838″],”seg1″:”270″,”seg2″:”160”,”x”:773,”y”:174,”wires”:[]},{“id”:”29082283.22ca1e”,”type”:”function”,”z”:”fb70710.9acef9″,”name”:”Temperature”,”func”:”\nreturn {payload:msg.payload.d.Temperature};”,”outputs”:1,”noerr”:0,”x”:445,”y”:270,”wires”:[[“41df1869.243e68”]]},{“id”:”41df1869.243e68″,”type”:”ui_gauge”,”z”:”fb70710.9acef9″,”name”:””,”group”:”5e051396.ef797c”,”order”:0,”width”:0,”height”:0,”gtype”:”gage”,”title”:””,”label”:”°C”,”format”:”{{value}}”,”min”:0,”max”:”100″,”colors”:[“#00b500″,”#e6e600″,”#ca3838″],”seg1″:””,”seg2″:””,”x”:771,”y”:261,”wires”:[]},{“id”:”50a038a0.c879f8″,”type”:”ui_gauge”,”z”:”fb70710.9acef9″,”name”:””,”group”:”cbe86e8.16d439″,”order”:0,”width”:”6″,”height”:”4″,”gtype”:”wave”,”title”:””,”label”:”%”,”format”:”{{value}}”,”min”:0,”max”:”100″,”colors”:[“#00b500″,”#e6e600″,”#ca3838″],”seg1″:””,”seg2″:””,”x”:768,”y”:76,”wires”:[]},{“id”:”9bdd4a44.b59678″,”type”:”function”,”z”:”fb70710.9acef9″,”name”:”Luminosity”,”func”:”\nreturn {payload:msg.payload.d.Luminosity};”,”outputs”:1,”noerr”:0,”x”:442,”y”:351,”wires”:[[“3bbbdbdf.93c624”]]},{“id”:”3bbbdbdf.93c624″,”type”:”ui_gauge”,”z”:”fb70710.9acef9″,”name”:””,”group”:”4870963d.170878″,”order”:0,”width”:0,”height”:0,”gtype”:”gage”,”title”:”Luminosity”,”label”:”Lux”,”format”:”{{value}}”,”min”:0,”max”:”300″,”colors”:[“#00b500″,”#e6e600″,”#ca3838″],”seg1″:””,”seg2″:””,”x”:766,”y”:340,”wires”:[]},{“id”:”6dfcc463.9265ec”,”type”:”function”,”z”:”fb70710.9acef9″,”name”:”Microphone “,”func”:”\nreturn {payload:msg.payload.d.Mic1};”,”outputs”:1,”noerr”:0,”x”:438,”y”:434,”wires”:[[“1eb23f8d.8406c”]]},{“id”:”1eb23f8d.8406c”,”type”:”ui_chart”,”z”:”fb70710.9acef9″,”name”:””,”group”:”5f1d1065.d027″,”order”:0,”width”:0,”height”:0,”label”:”Micro Level”,”chartType”:”line”,”legend”:”false”,”xformat”:”HH:mm:ss”,”interpolate”:”linear”,”nodata”:””,”dot”:false,”ymin”:””,”ymax”:””,”removeOlder”:1,”removeOlderPoints”:””,”removeOlderUnit”:”3600″,”cutout”:0,”useOneColor”:false,”colors”:[“#1f77b4″,”#aec7e8″,”#ff7f0e”,”#2ca02c”,”#98df8a”,”#d62728″,”#ff9896″,”#9467bd”,”#c5b0d5″],”useOldStyle”:false,”x”:763,”y”:432,”wires”:[[],[]]},{“id”:”427ed15d.bed8d”,”type”:”ui_group”,”z”:””,”name”:”Pressure”,”tab”:”442fd439.b2db2c”,”order”:1,”disp”:true,”width”:”6″,”collapse”:false},{“id”:”5e051396.ef797c”,”type”:”ui_group”,”z”:””,”name”:”Temperature”,”tab”:”442fd439.b2db2c”,”order”:3,”disp”:true,”width”:”6″,”collapse”:false},{“id”:”cbe86e8.16d439″,”type”:”ui_group”,”z”:””,”name”:”Humidity”,”tab”:”442fd439.b2db2c”,”disp”:true,”width”:”9″,”collapse”:false},{“id”:”4870963d.170878″,”type”:”ui_group”,”z”:””,”name”:”Luminosity”,”tab”:”442fd439.b2db2c”,”order”:7,”disp”:true,”width”:”6″,”collapse”:false},{“id”:”5f1d1065.d027″,”type”:”ui_group”,”z”:””,”name”:”Microphone”,”tab”:”442fd439.b2db2c”,”order”:8,”disp”:true,”width”:”6″,”collapse”:false},{“id”:”442fd439.b2db2c”,”type”:”ui_tab”,”z”:””,”name”:”Environmental Dashboard with SensiBLE IoT node”,”icon”:”dashboard”,”order”:1}]
3. Connect your BLE node To cloud
By using smartphone as a gateway , the IoT node will be connected to Cloud.
1. Connect your IoT node to smartphone via BLE
2. Diffrent kind of Sensors Data sent by Iot Node via BLE :
3. Connect to Cloud : IBM quickstart
4. NodeRed Dashboard : https://iotflightsense.eu-gb.mybluemix.net/ui/#/0