Hundreds of people die every year doing jobs that require them to go into places that are isolated from the 'connected' world. This includes but is not limited to mine-workers, underwater explorers, cave explorers, hikers, sailors, mountaineers, adventure tourists etc. The primary reason for most of the casualties is the inability to send an SOS message in time. The only solutions that exist are SOS messages on cellular networks. However, the range of cellular networks is only this much and does not encompass the challenging environments. 5G is still a distant dream in most countries and so is LoraWAN.
What do we do then??
DO we as irresponsible engineers put up with this??
Ofcourse not. To solve this I want to build a health tracker cum SOS device for our explorers so that they can continue with their activities in a secure manner.
Plan of ActionTo solve the problem at hand I want to build a health tracker cum SOS device for our explorers so that they can continue with their activities in a secure manner. The device would connect to a mesh of nodes tracking fellow explorers with a central MASTER node equipped with a LoRaWAN gateway to send health data to a base station in case of an emergency. Security personnel would be warned in time if there is a health emergency like a miner asphyxiating while stuck in a cave through the gateway that accesses the data from all nodes and sends notifications through to a receiver at the base station. This would help save lots of lives and people can then continue such activities without any fear. The benefits are - - Many lives would be saved - Health data would be monitored and medical response would arrive in time - Environmental data logged could be used in research - Logged data would help tourism and exploration agencies
How it worked outThe health tracker will send health data ( such as heart beat , blood oxygen, movements) along with temperature, humidity, air quality to a local mesh of nodes built upon BLE and running AWS IoT Greengrass. The nodes would be in the form of NRF5340 DK modules as they have a high link budget of around 98dbM. In addition, I will use gyro and accelerator sensors to measure any sudden fall or movement.
For sending SOS messages, a small push-button would also be placed. A module would also log GPS data when possible. The air quality sensors would trigger a warning for the user in case there is a health issue like excess CO in a cave. When any worker or explorer is in danger, the group members are sent an SOS over the BLE mesh.
Also, the central LoRa gateway made of an RFM95 433MHz module interfaced with the NRF52840 immediately notifies safety personnel. Data would be logged on the NRF5340 and signal processing algorithms would be used to identify if there is any health risk to the wearer.
The power profiler would help analyse the performance of various processing and communication algorithms on board, something not possible on other platforms. Essential location data would be sent at 5 min intervals to the LoRa gateway which uploads it to AWS IoT DynamoDB for analysis in future.
AWS IoT Core also serves for visualising the collected data. The NRF5340 Hardware supports RTOS, something critcical to this application which makes it the best choice for my project. Also, the great SDK coupled with the example applications, especially the BLE mesh ones would do a world of good to making my task of implementing the project a success. The power profiler would help analyse algorithmic performance on a different dimension.
1. Download the NRFConnect desktop application. It is advisable to download the mobile application as well as it would be used to observe results. As you can see here, there are many different apps that are part of the nRF Connect app. The Getting Started Manager and the Toolchain Manager are installed by default. I would suggest you to install the Power Profiler, Programmer and Trace collector applets too
2. After installing, open the toolchain manager and install the latest nRF Connect SDK. It will install all the required libraries for all development kits in the NRF5 range including the NRF5340 and the NRF52840 including the development environment - SEGGER Embedded Studio.
3. The Toolchain Manager also gives further instructions to set up the build environment
After, the setup is done, upload your application in the form of dependencies to the BLE_peripheral example available(.c and .h files)
In my case, I simply added the code for the Helium Development kit and the various sensors. The data collected from the various sensors was polled continuously and as soon as the levels were beyond acceptable limits, notifications were sent to the base station using the LoRAWAN gateway
The gateway was connected to the NRF5340 DK over UART at 115200 baud. After the code is ready build it and generate the hex files
In the NRF Connect application, navigate to the Programmer utility, connect the board via USB, drop the code into the window allotted and flash it onto the board
It is interesting to note that teh code is uploaded in two parts in the two cores - the network core and the application core
References
https://www.hackster.io/taifur/wearable-pulse-oximeter-a1361e
https://www.hackster.io/gatoninja236/getting-started-with-the-nordic-nrf5340-development-kit-34fa63
Comments