Skip to content

phil-d-wilson/balena-locating

Repository files navigation

balenaLocating

Use Raspberry Pi's and Bluetooth beacons to ensure you never lose your important stuff again. It gives you a web dashboard, viewable from anywhere, that shows you where all your stuff is:

dashboard

If you want to read the detailed blogpost for this project, follow this link.

Contents

Introduction

This project turns devices into Bluetooth Low Energy (BLE) sensors. By naming those devices to the location you put them in (e.g. house, office, garage) any BLE beacons detected can be related to the location. So attach BLE beacon tags to your stuff, and use this project to locate it!

Hardware required

  • Raspberry Pi (3B+ or 4) or a balenaFin
  • A 4GB or greater micro SD Card (we always recommend 16Gb SanDisk Extreme Pro SD cards)
  • Power supply
  • Some BLE beacon tags or a smartphone app to make a virtual beacon for testing.

Software Required

  • Software to flash an SD card (we recommend balenaEtcher)
  • A free tier balenaCloud account to setup and manage your fleet of Raspberry Pi sensors
  • A free tier InfluxDB Cloud account

Setup the Application

You can deploy this project to a new balenaCloud application in one click using the button below:



Or, you can create an application in your balenaCloud dashboard and balena push this code to it the traditional way.

Configure

Now you need to update (or create if you used the balena push approach) the following environment variables:

  • INFLUX_BUCKET - this is a bucket created in InfluxDB cloud
  • INFLUX_HOST - this is the host URL from influxDB cloud,
  • INFLUX_KEY - this is a key you need to create in influxDB cloud.
  • INFLUX_ORG - this is the org ID from, yep you guessed it, influxDB cloud

You can also name your tags/beacons by setting some more environment variables in balenaCloud. Each one must start with the name ‘TAG_’ followed by the name of the thing: TAG_Wallet The value is the ID of the tag.

Setting an enviroment variable called DEBUG to true if you need more output from the services, mainly to find out why/if a tag is being found and ignored, or just not found at all.

The variable RSSI_THRESHOLD can be set to a number between -100 and 0. The default is -75. It’s the threshold for the strength of signal received from a tag, filtering out weak signals. What this allows you to do is trim each sensor, so that their coverage plots don’t overlap.

Lastly you can set SEP_PERIOD to the number of seconds between reporting each tag beacon.

Again, if none of this make sense - check out the blog post with the full tutorial

About

Never lose something important to you again by using Bluetooth Low Energy (BLE) beacons and Raspberry Pi sensors to track your stuff.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published