A mesh network formed by 5 node modules.
The system automatically adapts in case of node failure.
Nowadays disasters are causing tremendous economic loss and posting severe threats to people’s health. Although efforts were made to forecast and prevent disasters, in most of the times disasters are unpredictable. Therefore, finding a way to minimize the loss after disasters is urgent and critical. One of the most important things in disaster relief is to maintain a reliable communication between those trapped inside the area and the outside world and the rescue team. However, modern communication networks are often vulnerable to disaster, increase the difficulty of rescue mission and put people's life in risk. Landline and cellular communication could break down during a disaster such as earthquake, flood, or wildfire. Under such circumstance, establishing an emergency communication system could be life-saving; however, such systems are usually expensive and hard to deploy. To solve this problem, we introduce LifeMesh, a low-cost easy-to-deploy system that takes the Internet of Things concept and develops on Wireless Mesh Network(WMN) as the new communication solution with a dedicated rescuing App designed.
What it does
LifeMesh is a system that connects personal devices(smartphone, laptop, tablets) to multiple WiFi modules and eventually to another personal device. LifeMesh system builds a network by placing network node modules within the disaster area. Users who have those wifi modules can send message to anyone within the network. For example, during a disaster that blocks normal communication between users stuck in the disaster area and people outside, the users of LifeMesh could send a life message via the mesh network to another LifeMesh node module that is nearby. The module would send the message further to nearby modules. Thus, this message would eventually reach the rescuing team’s device and shown in the LifeMesh APP. With the message arrives, they can start communicating with the survivor to get more information and making the rescuing plan. The ability to communicate between the survivors and rescue team helps to make the rescue action more time-efficient as time is the most important factors during rescue. Eliminating the dependency on high-power communication systems, real-time communication through mesh network nodes is more reliable and effective during disaster.
How we built it
Our LifeMesh 1.0 system comprised of two parts, the node hardware that forms the wireless mesh network and the end-user software which allows both survivor and rescuer to connect and communicate. The node hardware is made of an ESP8266 board together with a LED indicator and a battery pack. The firmware of the embedded controller is written in the Arduino framework. A mesh class is implemented which manage the incoming and outgoing connection. Every 30 secs the node search for its peer and maintain connection with them. The end-user software is a mobile app designed for both survivors and the rescue team. We designed the UI with coffeescript and demoed the workflow using Framer. For those who do not have the app installed, we implemented a simple web server within each node module, survivors can connect to the mesh network and access the simple call-for-help web-page in their browser.
Challenges we ran into
Due to limited hardware supply, we couldn’t get USB to serial FTDI cable which serve the purpose of uploading the binary program to ESP8266 module. We tried using the HC-05 Bluetooth serial module but in the end we solve the problem by using an Arduino with serial pass-through.
Reliability of wireless connection between node modules is another issue. The ESP modules are fairly low-cost so they are not as reliable as expected. We check the connection regularly and reset them whenever problems occur to make the system more robust.
Accomplishments that we're proud of
LifeMesh system is finally able to send and receive data between each unit reliably. A beautifully designed GUI shows how the app works. The rescuer get to know their location relative to the mesh network within the app, and they can track down survivors who sent SOS via the network. Survivors could contact the rescue team either using the app or in a web page. On the other end, the rescue team could see the information about app users who are waiting for rescue. This is could be very useful in any disastrous scenarios.
What we learned
We learned how to design and implement a distributed system. Our coding debugging and creative-thinking skills are significantly improved.
We also learned how to apply in-depth understanding of scientific and design subjects to create devices, structures and systems that improve rescue mission. The environment in which design takes place has a huge effect on the output of the designers within it. Who are we designing for is the first question we have to ask before commencing any design. It is the User — who is the king now, by the way — who governs all our actions.
What's next for LifeMesh
Technology on both hardware and software side of LifeMesh could be improved. Node module with different size and power could be designed in order to fulfill requirements under various disaster conditions. Power management could be optimized for longer battery life. Moreover, better casing should be made to protect the module under disasters. On the software side, we can further implement machine learning algorithms to help rescue teams making important decisions. With different survivor conditions and needs, we can calculate and identify rescuing priorities and logistics. Furthermore, more types of information could be collected through the mesh network to provide a complete picture to the rescuers.