Git Product home page Git Product logo

Comments (15)

schollz avatar schollz commented on May 19, 2024 1

Very cool! Maybe you can make a repo for this and I can link to it? That way people could fork / PR.

from find3.

schollz avatar schollz commented on May 19, 2024 1

@DatanoiseTV Awesome, nice job! I can't wait to try it.

from find3.

david81 avatar david81 commented on May 19, 2024 1

Was passive scanning ever added? I'd love to setup a few scanners around the house to use either phones or ble beacons for different purposes (perhaps a ble beacon in the car to detect when it's parked in the garage)

from find3.

DatanoiseTV avatar DatanoiseTV commented on May 19, 2024

@schollz There you go - https://github.com/DatanoiseTV/esp-find3-client

from find3.

schollz avatar schollz commented on May 19, 2024

Thanks @DatanoiseTV ! Updated in the docs. I'm excited to try out your code!

from find3.

DatanoiseTV avatar DatanoiseTV commented on May 19, 2024

Thanks @schollz. I have cleaned up the code a lot and now it works perfectly. It syncs time via NTP and uses ArduinoJson to properly serialise the data. Can you please point me how to submit bluetooth scan results in /track and /learn then I will add BLE scanning to ESP32.

from find3.

schollz avatar schollz commented on May 19, 2024

Cool! I was just thinking about doing that too. Here's the API reference: https://www.internalpositioning.com/doc/api.md#sensor. You can ignore GPS and you can ignore location if you are just doing tracking. Your data will basically just need to look like:

{  
   "d":"DEVICE",
   "f":"FAMILY",
   "t":1520424248897,
   "s":{  
      "bluetooth":{  
         "20:25:64:b7:91:42":-72,
         "20:25:64:b8:06:38":-81,    
      },
      "wifi":{  
         "20:25:64:b7:91:40":-73,
         "70:4d:7b:11:3a:c8":-81,
         "88:d7:f6:a7:2a:4c":-39,
         "8c:0f:6f:e7:2b:78":-42,
         "8c:0f:6f:e7:2b:80":-43,
         "92:0f:6f:e7:2b:80":-43,
         "96:0f:6f:e7:2b:78":-39,
         "9e:0f:6f:e7:2b:80":-43,
         "ac:9e:17:7f:38:a4":-55,
         "dc:fe:07:79:aa:c0":-90,
         "dc:fe:07:79:aa:c3":-89
      }
   }
}

Submit this via POST to /data. If you want to do learning, you use the exact same JSON but also add "l":"LOCATION" to specify the location.

from find3.

DatanoiseTV avatar DatanoiseTV commented on May 19, 2024

@schollz Is there any possibility to submit BLE results to /learn and /track as well? ArduinoJson seems to have trouble with nested arrays :(

from find3.

DatanoiseTV avatar DatanoiseTV commented on May 19, 2024

@schollz BLE support and other goodies added!

from find3.

schollz avatar schollz commented on May 19, 2024

@DatanoiseTV cool! Did you get over the problem with nested arrays?

from find3.

DatanoiseTV avatar DatanoiseTV commented on May 19, 2024

@schollz Yes. All sorted out and BLE added. Using the /data POST endpoint now!

from find3.

DatanoiseTV avatar DatanoiseTV commented on May 19, 2024

@schollz I am able to now capture management frames / implement monitor mode on ESP32 for passive scanning. Do I just need the BSSIDs for passive scanning or also the RSSI? What is the request for /passive? Can't see it in the docs.

from find3.

schollz avatar schollz commented on May 19, 2024

@DatanoiseTV Wow!! I didn't know you could do that with an ESP32! That's so cool. You need both the BSSIDs and the RSSI for passive scanning. Although, if you can't get RSSI maybe we could still use it. For passive data you just do POST /passive with similar JSON as before:

{  
   "d":"DEVICE",
   "f":"FAMILY",
   "t":1520424248897,
   "s":{  
      "bluetooth":{  
         "20:25:64:b7:91:42":-72,
         "20:25:64:b8:06:38":-81,    
      },
      "wifi":{  
         "20:25:64:b7:91:40":-73,
         "70:4d:7b:11:3a:c8":-81,
         "88:d7:f6:a7:2a:4c":-39,
         "8c:0f:6f:e7:2b:78":-42,
         "8c:0f:6f:e7:2b:80":-43,
         "92:0f:6f:e7:2b:80":-43,
         "96:0f:6f:e7:2b:78":-39,
         "9e:0f:6f:e7:2b:80":-43,
         "ac:9e:17:7f:38:a4":-55,
         "dc:fe:07:79:aa:c0":-90,
         "dc:fe:07:79:aa:c3":-89
      }
   }
}

When this data enters the server, it will automatically collect these and then "reverse" them (so that the DEVICE is actually the sensor and the sensors are actually the devices).

Note also, the bluetooth data is just scanned as before because bluetooth data is device specific and not router-specific.

from find3.

DatanoiseTV avatar DatanoiseTV commented on May 19, 2024

I will look how we can get RSSI in a passive scan.

By the way: Are the "bluetooth" and "wifi" just keywords? Can any extra tag be used? Could we include other sources like LoRa here, as long as it uses a 6 octet MAC address?

from find3.

albinekb avatar albinekb commented on May 19, 2024

@DatanoiseTV do you have any rough numbers of what you could get in power usage/battery life running this on esp with sleep?

from find3.

Related Issues (20)

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.