How can I detect the presence of a Xiaomi Mi Band 3 (which uses BlueTooth)?












1















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.










share|improve this question



























    1















    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.










    share|improve this question

























      1












      1








      1








      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.










      share|improve this question














      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






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 7 at 7:31









      MawgMawg

      2,298425




      2,298425






















          1 Answer
          1






          active

          oldest

          votes


















          2














          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)






          share|improve this answer


























          • 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 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











          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
          });


          }
          });














          draft saved

          draft discarded


















          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









          2














          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)






          share|improve this answer


























          • 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 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
















          2














          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)






          share|improve this answer


























          • 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 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














          2












          2








          2







          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)






          share|improve this answer















          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)







          share|improve this answer














          share|improve this answer



          share|improve this answer








          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 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



















          • 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 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

















          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


















          draft saved

          draft discarded




















































          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.




          draft saved


          draft discarded














          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





















































          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







          Popular posts from this blog

          Mario Kart Wii

          What does “Dominus providebit” mean?

          Antonio Litta Visconti Arese