MoisesAdame / DronesFlood

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Logo

"For every disaster there's a solution"

Explore the source code »

Contributors Forks Stargazers Issues GPL License

Table of Contents
  1. Motivation
  2. Objectives
  3. Requirement Features
  4. Especifications
  5. Learning Goals
  6. License
  7. Developers
  8. Acknowledgments

Motivation

Since the Industrial Revolution, a process that took place around the 18th and 19th centuries, the global average temperature has had a rapid increase that, although insignificant at first glance, has severely impacted our environment and how the future will probably go on (if it does). This "insignificant" growth of a little more than 1 degree Celsius, in fact, has triggered the warmest of times in all of human history.

You might be wondering: How will a warmer world affect me? Well, it is simple. Rising temperatures are worsening something we all fear: natural disasters, which at the same time, are more prolonged and hotter heat waves, worse and more frequent droughts, unimaginably powerful hurricanes, and of course, heavier and uncontrollable rains.

Figure 1. Flooding in Monterrey, Mexico (BBC News)

In addition, this warmer climate has another collateral effect, which is the rise in sea level, an additional consequence that, although is mainly caused by global warming, its two leading causes are the expansion of seawater (a phenomenon that occurs when it gets warm) and of course, the added water from melting ice caps and glaciers, thus, having a total average sea level rise since 1993 of 102.5 mm.

Figure 2. Sea level rise in the last few decades. (NASA)

Every year, these natural disasters devastate millions of people, numerous communities, and even entire societies worldwide. Evidently, the consequences of disasters are more significant when talking about countries in current development. Taking this into consideration, both Mexico and Brazil are regions that should prioritize the creation and optimization of protocols, systems and even engineering solutions as imperative prevention for any unconventional event, as these are countries that lie within one of the world's most active seismic regions; prone to constant droughts and in the path of hurricanes and tropical storms originating in the Caribbean Sea, Atlantic and Pacific Oceans. Indeed, this broad geographic exposure renders that a high share of the country's population may be at hazard risk.

Hence, it is crucial to develop an effective network that can provide internet access to people affected by any disaster so that they can communicate with emergency services even in the case that a communication shortage occurs, increase survival rates after similar incidents, quickly mitigate dangers to a region's population, and even help prevent greater catastrophes. Thus, the engineering of a proposal that incorporates a holistic approach and integral implementation of the Internet of Things as an advanced automation and analytics system that mainly incorporates drone networking, electronic and hardware connections, and cloud messaging through brokers and servers become fundamental to the construction of a robust, complete and resilient telecommunication infrastructure capable of sustaining emergency services in natural incidents. As a consequence, the motivation to work in a diverse group of engineers that aim to tackle one of the most frequent and significant challenges of Latin American societies grows and fuels the technological development required to innovate and connect humanity in the most needed of times, once again demonstrating our endurance, strength, empathy, and willingness to thrive.

Figure 3. Drone fleet to provide internet access for affected areas. (Crumley, B.)

(back to top)

Objectives

Taking into account the above information and after analyzing the various existing alternatives to carry out this solution, it is easy to determine that the main objective of this project is to successfully let people in need reach out the adequate rescue and support resources with very high time efficiency and quality through engineering and the Internet of Things to help mitigate the adverse human consequences of natural disasters.

Thus, by aiming to work on the correct implementation of the multistage architecture of the Internet of Things (IoT), it will also be essential to focus on the collection of data, data processing, and decision-making based on a 4-stage model that includes actuators, an IoT Gateway, Edge IT, and Cloud that efficiently obtain, react, aggregate, pre-process, and process data.

Figure 4. Internet of Things Architecture Implemented. (Microsoft)

For this implementation, as a team of developers, we will jointly need to build a native Android transaction-based mobile application capable of obtaining information from the victims, such as the severity of their condition, a short message describing their situation, and their exact location. Of course, this is where the drones will take place, as Internet access will be very poor or impossible after an adverse natural event, so drones will represent a method of providing life-saving opportunities to affected communities.

Figure 5. User interface of android application. (Barreto, A.)

The backbone of this project is the IoT protocol the solution relies on, given that a minimal quantity of resources is within reach of the victims. In this case, the targeted protocol to be used is MQTT, which is very lightweight and uses almost no energy, capable of handling the machine-to-machine (M2M) communications necessary for this context. Consequently, we have proposed ourselves to use the open-source implementation of the protocol with Eclipse-Mosquitto, which will additionally be capable of connecting massive servers with limited smartphones, allowing us to use various network configurations and adapt to the different conditions of devastating events. In this context, it will also be helpful to incorporate a bridge mode that distinguishes between a local broker (drones) and a central broker (the server/virtual machine).

Figure 6. MQTT Protocol example. (Paessler)

Finally, to thoroughly test the capabilities of our solution, we have decided to implement both emulated and actual nodes to generate and then process, store and display their information. This process will use the Mininet-WiFi Network emulator and some Python scripts that will jointly serve as nodes that emulate real people sharing their location, status, and message. Then, we will use a real node based on an Android phone using a developed mobile application, which, like the emulated nodes, will send its location, status, and a short message for the best emergency service attention.

Figure 7. Implementation of the drone network using real and virtual nodes. (Paessler)

(back to top)

Solution features

In order to be more specific and achieve the best results in the implementation of this challenge's solution, several characteristics and requirements need to be considered, including:

  • The development of a system of digital devices based on 5 microcontrollers, interconnected in a data network and programmed for the exchange of information through the MQTT communication protocol.
  • The design and implementation of an information architecture in an information hosting service in the Cloud, which enables data collection, communication between devices, and the generation of control actions in real time.
  • The programming, interconnection and controling of devices that enables data acquisition, actuator control and information generation for network services.
  • The analysis of specifications, planning and administration of the execution process of the implementation of networks and device-inteconnections for a real-life application.

(back to top)

Especifications

forthebadge

made-with-python

(back to top)

Learning Goals

  • Design, elaborate and analyse digital systems based upon the Internet of Things networks and environments.
  • Design and develop databases for the analysis of real-life applications of hard data.
  • Implement the management of a computer system's resources as a fundament for the development of engineering projects.
  • Incorporate principles of Interactive Design to optimize engineering solutions.
  • Build up expertise for the correct and integral Project and Process Management requirements to sustain technical developments.
  • Generate international experiences in the GSL initiative.

(back to top)

Final Deliverables

All the final deliverable files and their descriptions are in the repository, which can be found here.

(back to top)

License

Distributed under the GNU General Public License (GPL). See license for more information.

(back to top)

Developers

From Tecnológico de Monterrey

In collaboration with Instituto Tecnológico de Aeronáutica

(back to top)

Acknowledgments

  • A special thanks to our teachers ❤️.

(back to top)

About

License:GNU General Public License v2.0


Languages

Language:Java 28.7%Language:JavaScript 25.5%Language:Python 13.9%Language:C++ 12.9%Language:Objective-C++ 6.8%Language:Objective-C 4.4%Language:Makefile 2.8%Language:Ruby 2.7%Language:Starlark 1.1%Language:HTML 1.0%Language:CSS 0.1%