Git Product home page Git Product logo

ibeacon-indoor-positioning-demo's Introduction

iBeacon-indoor-positioning-demo

Indoor positioning of iBeacon tags (tagged people, dogs, cats and objects) with trilateration.

Mosquitto

Edit mosquitto-demo.conf -file. Set the path to acl files, like:

acl_file /home/w3/Downloads/iBeacon-indoor-positioning-demo/mosquitto_acl.config password_file /home/w3/Downloads/iBeacon-indoor-positioning-demo/mosquitto_pw.config

Start mosquitto with command: mosquitto -v -c ./mosquitto-demo.conf

MQTT users are "station" and "dashboard" and all passwords are "bledemo".

See https://github.com/jpmens/mosquitto-auth-plug

ESP32 stations

ESP32 modules will work as iBeacon monitoring stations, reporting all found beacons to MQTT topic, with their MAC address and RSSI.

Dashboard

Dashboard is a simple React app, connecting to MQTT server (mosquitto) and showing each beacon on screen. Beacons are shown on a map (office/home floor plan).

Screenshot

##TODO

  • improve accuracy (average value, faster beacons, sync stations)
  • add beacon MAC whitelist to sidebar
  • add server settings to sidebar
  • add properties to beacon icons
  • connect to iTAG's
  • ... what else?

ibeacon-indoor-positioning-demo's People

Contributors

jarkko-hautakorpi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ibeacon-indoor-positioning-demo's Issues

geofence

First of all thanks for sharing your project / knowledge!!

Is it possible to send out actions when a tag is in a room or circle for example?
Something over mqtt would be perfect to me.

ESP32 loses connection with the Wifi

Hello, I installed the code in some ESP32 modules, it works well monitoring the ibeacons and reporting all found beacons to MQTT topic, my problem is that after a few hours working, the ESP32 loses connection with the Wifi and is not able to reconnect until I do a reboot. I will appreciate any help

Save cordinates (x,y) and UUIDS/Mac address to mysql db

Hi, I have this exact project and it is working fine as described. My aim is to use the beacon coordinates to control movement in a 3d project. I would appreciate much to know how i can save the coordinates and other info such as Mac/uuid to mysql database.

BLEData are not transfered to MQTT

Hi ALL

I was successfully able to upload the sketch to the ESP32 and the device was able to built-up a connectivity to my MQTT Server.

However although the connection was built, no MQTT message is transfered to the server although in the serial monitor I can see that a lot of BLE Devices were found , but nothing is transfered.

The issue must be site here arround in this coding:

payloadString.getBytes(message_char_buffer, payloadString.length() + 1);
result = client.publish("/beacons/office", message_char_buffer, payloadString.length(), false);
Serial.print("PUB Result: ");
Serial.println(result);

If I look to the serial monitor I can see that the Serial.println(result) = 0

If I just use the following coding as a demo: "client.publish("/beacons/office", "hello World")" The message arrived on the MQTT Server

Any tip here? I didnt touch the code

Markus

Screenshot 2023-04-06 141810

How to: predefined MAC

Hi,

actually it's running fine, but how can i just publish a specified device, and not everything around me? :)

Dashboad not working

Hello Hautakorpi,

i have installed the demo but can´t get it working.
Mqtt and ESP32 working correctly, but the Dashboard won´t.
Getting following error:
Line 91: 'mqtt' is assigned a value but never used no-unused-vars
I have installed npm install mqtt but it dose't help.

How to define stations?

I am pretty new to React, I am having a hard time trying to figure out how to define which mac addresses are stations vs which mac addresses are beacons? If i leave everything as it is, and start the application i can see the mac address of my station, but its not displayed on the map..

help

Hi, I would like some help... everything is connected, esp32, dashboard, mqtt, but I don't see the information on the screen and neither in the mqtt /beacons/office nor does this topic appear directly in the mqtt

Latest ESP32 libraries too big, uses 119% of memory

Sketch can be compiled using older library versions (uses 94%):

Linking everything together...
Multiple libraries were found for "WiFi.h"
 Used: /home/jarkko/Arduino/hardware/espressif/esp32/libraries/WiFi
Multiple libraries were found for "BLEDevice.h"
 Used: /home/jarkko/Arduino/libraries/ESP32_BLE_Arduino
Using library WiFi at version 1.0 in folder: /home/jarkko/Arduino/hardware/espressif/esp32/libraries/WiFi 
Using library PubSubClient at version 2.6 in folder: /home/jarkko/Arduino/libraries/PubSubClient 
Using library ESP32_BLE_Arduino at version 0.4.7 in folder: /home/jarkko/Arduino/libraries/ESP32_BLE_Arduino 
Sketch uses 1234222 bytes (94%) of program storage space. Maximum is 1310720 bytes.
Global variables use 77392 bytes (26%) of dynamic memory, leaving 217520 bytes for local variables. Maximum is 294912 bytes.

How to build using older libraries?

Solution1: Checkout old version of ESP32 libraries and rebuild sketch.

  1. cd ~/Arduino/hardware/espressif/esp32
  2. git checkout 52d47054
  3. git submodule update --init --recursive &&
    cd tools &&
    python2 get.py
  4. Start/restart Arduino IDE and rebuild sketch

Solution2: You got any ideas? Please comment.

UUID

I would love to be able to use the uuid instead the mac, since my phone uses random mac dresses, is that posible?

PUB Result: 0

always getting this result when publish data from esp32,
i just tried
payloadString="";
payloadString+="Hello";
and it is published fine, but i've no idea why actual payloadString isn't able to publish.

Trilateration Concept in BLE Indoor Positioning System

Hi,

Consider I have three BLE gateways/stations which receives the RSSI value from the BLE Tag/Beacon. The BLE tag would have sent RSSI value to all the three gateways say for ex,

BLE Tag1 to Gateway1 = -45
BLE Tag1 to Gateway2 = -56
BLE Tag1 to Gateway3 = -61

I have coordinate for all the three gateways like,

Gateway1 = 10,10
Gateway2 = 100,10
Gateway3 = 10,100

Now How to convert the RSSI values as distance in order to proceed with the trilateration technique?

TypeError: Cannot read property 'length' of undefined

` 25 | if(msg !== null) {

26 | for(let i=0; i<msg.e.length;i++) { <--------
27 | let mac = msg.e[i].m.toLowerCase();
28 | let station = msg.st.toLowerCase();
29 | if(this.stations.includes(station)) {`

Thankyou for created this great project, i need some help in here.

Stations not showing up on dashboard

I got the beacons to show up once on the dashboard, but the location of the beacon wasn't accurate. Unfortunately, I can't get any of the scanners to show up on the dashboard now, even though they are posting to the mosquitto server.

Here is a screenshot of the mosquitto server:
image

The only errors I see are from the ESP32s:
image

I'm not sure if this is related. Any help would be greatly appreciated. Thanks!

RSSI not stable

RSSI value keeps on changes it's hard to predict is there any solution to make rsRSSI little stable

ESP32 is not able to connect to wifi

Hello There,

i had done this using another guide.
but your map function is i want to check.

i'm running ESP32 code on ESP32 MH et code is running smoothly.
BUT after BLE scan, ESP 32 is not able to connect to any wifi

is there any change in board.txt file()?
or is there any other configuration i have to do?

Thanks

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.