Giter Club home page Giter Club logo

indoor_positioning_using_esp32_mqtt_ble's Introduction

Indoor Positioning Using ESP32, MQTT and BLE

A proof of concept demonstrating tracking of an asset in a warehouse using ESP32 stations to track an asset using BLE device attached to it. The dashboard is built using React framework hosted by node.js server running on Raspberry Pi. Dump the code of ESP32 station in ESP32 module and run the dashboard app on the Raspberry Pi.

Credit to :

Initial Framework : https://github.com/jarkko-hautakorpi/iBeacon-indoor-positioning-demo

Algorithm :

  1. Each ESP32 module is connected to the Raspberry Pi 3B+ with their respective MAC addresses via MQTT Protocol

  2. Each ESP32 module is hardcoded with MAC address of BLE device that needs to be tracked. This will filter out all other emitting BLE devices and only sniffs for the required device.

  3. ESP32 modules continuously scan for the BLE device.

  4. If BLE device is visible to all three ESP32 modules, then the server receive RSSI values (On the process of implementing the method of using more than three modules and when the BLE device is in indoor premise, then the server should filter out three highest RSSI values).

  5. Each ESP32 module sends their respective RSSI values and their MAC address as payload to the Raspberry PI 3B+ using MQTT Subscribe- Publish protocol.

  6. Trilateration algorithm is made to run on the received RSSI values and position is determined.

  7. Using a React application the Position of the BLE Beacon is displayed on the Raspberry Pi display.

Flowchart :

image

Block Diagram :

image

indoor_positioning_using_esp32_mqtt_ble's People

Contributors

sourabhmisal avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.