Skip to main content
added 514 characters in body
Source Link
Jon
  • 466
  • 2
  • 5

Consider using two basic XXMhz transceivers:

-Master loops through used ID's and transmits them one at a time.
-If a belt receives an ID other than it's own, it remains quiet.
-If a belt receives it's own ID, it transmits "Marco" (quietly) to the other belts.
-For a receiver to hear the very quiet signal, it will need to be very close.
-The RSSI signal can be monitored for signal strength to determine close(enough) proximity.
-If sufficient proximity is detected, the event is reported to the Master.
-If it receives no response, it informs the Master.
-Master proceeds to the next ID.

In this setup, you only need to provide networking (WiFi/Ethernet) to the master. (cheaper)

So that each belt can identify the others, "Marco" could be the transmitter's ID, but you'll need to add some sort of "protocol" so the belts know if the ID they hear is from the Master or another belt.

If ID is only 7 bits, the "protocol" could be as simple as a bitmask: Server = Send(ID & (1 << 7));

Server = Send(ID &  (1 << 7)); //1XXXXXXX
  Belt = Send(ID & ~(1 << 7)); //0XXXXXXX

Belts only reply to their ID if MSB is 1

This example has excessive range for your purpose //1XXXXXXX Belt = Send(ID & ~(1 << 7)250m); //0XXXXXXXthese radios will be screaming at each other and the RSSI signal is unlikely to provide meaningful data. http://www.seeedstudio.com/depot/nRF24L01Module-p-1394.html

Using RFID, you are wanting (very)long range from an (intentionally) short-ranged system.
Using ISM, you are wanting (very)short range from an (intentionally) long-ranged system.

Neither is 100%, but both should work.

Consider using two basic XXMhz transceivers:

-Master loops through used ID's and transmits them one at a time.
-If a belt receives an ID other than it's own, it remains quiet.
-If a belt receives it's own ID, it transmits "Marco" (quietly) to the other belts.
-For a receiver to hear the very quiet signal, it will need to be very close.
-The RSSI signal can be monitored for signal strength to determine close(enough) proximity.
-If sufficient proximity is detected, the event is reported to the Master.
-If it receives no response, it informs the Master.
-Master proceeds to the next ID.

In this setup, you only need to provide networking (WiFi/Ethernet) to the master. (cheaper)

So that each belt can identify the others, "Marco" could be the transmitter's ID, but you'll need to add some sort of "protocol" so the belts know if the ID they hear is from the Master or another belt.

If ID is only 7 bits, the "protocol" could be as simple as a bitmask: Server = Send(ID & (1 << 7)); //1XXXXXXX Belt = Send(ID & ~(1 << 7)); //0XXXXXXX

Consider using two basic XXMhz transceivers:

-Master loops through used ID's and transmits them one at a time.
-If a belt receives an ID other than it's own, it remains quiet.
-If a belt receives it's own ID, it transmits "Marco" (quietly) to the other belts.
-For a receiver to hear the very quiet signal, it will need to be very close.
-The RSSI signal can be monitored for signal strength to determine close(enough) proximity.
-If sufficient proximity is detected, the event is reported to the Master.
-If it receives no response, it informs the Master.
-Master proceeds to the next ID.

In this setup, you only need to provide networking (WiFi/Ethernet) to the master. (cheaper)

So that each belt can identify the others, "Marco" could be the transmitter's ID, but you'll need to add some sort of "protocol" so the belts know if the ID they hear is from the Master or another belt.

If ID is only 7 bits, the "protocol" could be as simple as a bitmask:

Server = Send(ID &  (1 << 7)); //1XXXXXXX
  Belt = Send(ID & ~(1 << 7)); //0XXXXXXX

Belts only reply to their ID if MSB is 1

This example has excessive range for your purpose (250m); these radios will be screaming at each other and the RSSI signal is unlikely to provide meaningful data. http://www.seeedstudio.com/depot/nRF24L01Module-p-1394.html

Using RFID, you are wanting (very)long range from an (intentionally) short-ranged system.
Using ISM, you are wanting (very)short range from an (intentionally) long-ranged system.

Neither is 100%, but both should work.

Source Link
Jon
  • 466
  • 2
  • 5

Consider using two basic XXMhz transceivers:

-Master loops through used ID's and transmits them one at a time.
-If a belt receives an ID other than it's own, it remains quiet.
-If a belt receives it's own ID, it transmits "Marco" (quietly) to the other belts.
-For a receiver to hear the very quiet signal, it will need to be very close.
-The RSSI signal can be monitored for signal strength to determine close(enough) proximity.
-If sufficient proximity is detected, the event is reported to the Master.
-If it receives no response, it informs the Master.
-Master proceeds to the next ID.

In this setup, you only need to provide networking (WiFi/Ethernet) to the master. (cheaper)

So that each belt can identify the others, "Marco" could be the transmitter's ID, but you'll need to add some sort of "protocol" so the belts know if the ID they hear is from the Master or another belt.

If ID is only 7 bits, the "protocol" could be as simple as a bitmask: Server = Send(ID & (1 << 7)); //1XXXXXXX Belt = Send(ID & ~(1 << 7)); //0XXXXXXX