How can I detect the presence of a Xiaomi Mi Band 3 (which uses BlueTooth)?
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.
bluetooth
add a comment |
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.
bluetooth
add a comment |
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.
bluetooth
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.
bluetooth
bluetooth
asked Jan 7 at 7:31
MawgMawg
2,298425
2,298425
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
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)
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?
– Mawg
Jan 7 at 7:52
1
Just usehcitool -lescan
, And go look up the 7 layer model for networks
– hardillb
Jan 7 at 7:54
I wasn't aware ofhcitool
, 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.
– Mawg
Jan 7 at 8:02
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "666"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fiot.stackexchange.com%2fquestions%2f3765%2fhow-can-i-detect-the-presence-of-a-xiaomi-mi-band-3-which-uses-bluetooth%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
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)
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?
– Mawg
Jan 7 at 7:52
1
Just usehcitool -lescan
, And go look up the 7 layer model for networks
– hardillb
Jan 7 at 7:54
I wasn't aware ofhcitool
, 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.
– Mawg
Jan 7 at 8:02
add a comment |
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)
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?
– Mawg
Jan 7 at 7:52
1
Just usehcitool -lescan
, And go look up the 7 layer model for networks
– hardillb
Jan 7 at 7:54
I wasn't aware ofhcitool
, 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.
– Mawg
Jan 7 at 8:02
add a comment |
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)
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)
edited Jan 7 at 16:05
answered Jan 7 at 7:49
hardillbhardillb
6,5411826
6,5411826
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?
– Mawg
Jan 7 at 7:52
1
Just usehcitool -lescan
, And go look up the 7 layer model for networks
– hardillb
Jan 7 at 7:54
I wasn't aware ofhcitool
, 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.
– Mawg
Jan 7 at 8:02
add a comment |
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?
– Mawg
Jan 7 at 7:52
1
Just usehcitool -lescan
, And go look up the 7 layer model for networks
– hardillb
Jan 7 at 7:54
I wasn't aware ofhcitool
, 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.
– Mawg
Jan 7 at 8:02
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?
– Mawg
Jan 7 at 7:52
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?
– Mawg
Jan 7 at 7:52
1
1
Just use
hcitool -lescan
, And go look up the 7 layer model for networks– hardillb
Jan 7 at 7:54
Just use
hcitool -lescan
, And go look up the 7 layer model for networks– hardillb
Jan 7 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.– Mawg
Jan 7 at 8:02
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.– Mawg
Jan 7 at 8:02
add a comment |
Thanks for contributing an answer to Internet of Things Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fiot.stackexchange.com%2fquestions%2f3765%2fhow-can-i-detect-the-presence-of-a-xiaomi-mi-band-3-which-uses-bluetooth%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown