2

As you can see from my question on h/w recommendations, I am trying to design an evacuation system for a chemical factory.

That requires knowing which room each employee is in at any given time. I can handle the system to track the employees, but have been looking for a long time for a durable wearable with long battery life for each employee to wear or carry.

  • I had considered Android 'phone, but theymight be too expensive/bulky/fragile/short battery life.

  • A Raspberry Pi Zero W is cheap, but also quite large, needs a casing and I am unsure about battery life.

  • Passive RFID might not have the range, and active requires battery.

  • The AdaFruit Flora BLE looks interesting, but I can't find data about its battery life.

The I had an epiphany when I looked at my wrist and saw the cheap fitness tracker on my wrist. It's a Xiaomi Mi Band 3 which I got free with my last 'phone.

I am charging it about once every 3 weeks, although I currently do not turn BT. I will need to calibrate that, although reviews give it 7 days of heavy usage.

So - finally - to the question: how can I detect transmissions from the device? If they are frequent enough (say, more than once per minute), then it doesn't matter what the signal is, so long as I can get a MAC address out of it and use that to locate the device.

1 Answer 1

3

The band is a BLE (Bluetooth low energy) device, as such it will broadcast beacon packets at regular intervals (the BLE spec can configure this interval).

These beacons are how devices (e.g. phones) know that they are in range and can then connect to then to get more data, but the beacons can also contain a small amount of data (e.g. BLE temp sensors, physical web URL beacons or iBeacons). Beacon only devices can run for years on just a coin cell.

As for a detector, any thing with a BLE capable adapter can be used. A raspberry pi zero w is a good start for a prototype, a simple BLE beacon can be written as a shell script, with the hcitool command line tool or any number of other languages (e.g. Node-RED has a BLE beacon listener node).

Each device will have a MAC address, but be aware that cheap devices may not be unique (I once bought 20 USB BLE dongles and found 5 with the same MAC address)

3
  • Sounds good. I imagine that I could start with WireShark, just to detect the band, then move on to a device like R Pi? Question: will there be something like a MAC address in each packet, to allow me to uniquely identify each device? Jan 7, 2019 at 7:52
  • 1
    Just use hcitool -lescan, And go look up the 7 layer model for networks
    – hardillb
    Jan 7, 2019 at 7:54
  • I wasn't aware of hcitool, not being a BT guy. I will try first with what I know -Wireshark. If , for some reason, that won't hack it, I will try hcitool. I will award the answer if you can assure me that I will be able to uniquely identify each individual device, if here are several present, e.g. by MAC address, or something similar. Please bear in mind that I can't program this device (which makes me wonder if I ought not to use a cheap Android watch), so can only use whatever packets it transmits in normal operation. Jan 7, 2019 at 8:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.