Skip to content

Wireless Sensor Network based on LoRa and Dashboard for MQTT events

License

Notifications You must be signed in to change notification settings

chewydc/PFI_UADE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PFI UADE

Design and Simulation of a Wireless Sensor Network based on long-range technology.


About

This code is part of the final engineering project to obtain the degree of telecommunications engineer at UADE. The authors of the work and the following code are:

  • Damian del Campo
  • Jonatan Salini

Table of Contents

  1. Objective
  2. Arduino Node algorithm
  3. Simple Server Dashboard
  4. Installation
  5. Contributing
  6. License

Objective

Create a simple lora mesh network based on the open source RadioHead library, with arduino uno and esp32 modules equipped with LoRa tranceivers. Publishes the information collected by the nodes on a web dashboard via MQTT events.

Arduino Node algorithm

This program should set up a LoRa mesh network. Depending on its node ID, it will wait for incoming LoRa messages and reply an ACK message to the sender. If the node ID is #1, it also relays the message via MQTT events to a public cloud broker. All other nodes will send hello messages to the other nodes on the network waiting for the ACK. If any node is out of coverage, the entire network is in charge of rerouting the routes so that the messages continue to reach their destination.

It was designed to work with two modules:

Simple Server Dashboard

Simple Server for a Dashboard. It's shows MQTT incoming messages.

Installation

For the deployment of the solution, you only have to upload the node code to each device taking into account the previously assigned node ID. You must also configure in both codes the MQTT Brocker and Topic to use.

To deploy the dashboard, follow the instructions below:

$ git clone https://github.com/chewydc/PFI_UADE.git
$ cd PFI_UADE
$ cd Dashboard
$ npm install
$ npm start

Contributing

Contributions are welcome! If you want to contribute to this project, please follow these steps:

  1. Fork the repository
  2. Create a new branch (git checkout -b feature/my-new-feature)
  3. Make your changes and commit them (git commit -am 'Add some feature')
  4. Push your changes to your forked repository (git push origin feature/my-new-feature)
  5. Create a new pull request

License

This project is licensed under the MIT License. See the LICENSE file for details.