Necesitará un microcontrolador de algún tipo para realizar esta tarea. (Mi microcontrolador favorito al interactuar con Arduino con XBee es el Arduino FIO o OSEPP Fio )
Puedes realizar esta tarea de dos maneras:
Método 1, lee el pin XBee RSSI usando Arduino pulseIn ()
En los módulos XBee y XBee-PRO, el pin 6 es PWM0 / RSSI Output PWM Output 0 / RX Signal Strength Indicator
. Cuando AT Command, P0
en el módulo XBee se establece en 1 (predeterminado), el pin 6 genera el valor RSSI como pulsos eléctricos temporizados (PWM, modulación de ancho de pulso).
Puede leer esos pulsos utilizando el pulseIn de un Arduino función . Esos pulsos equivaldrán a un número en hexadecimal. Ese número hexadecimal se puede traducir a decibelios (dB), que es la unidad de medida para nuestro valor RSSI.
Método 2, lea el valor RSSI en el modo de API XBee
XBee se puede poner en modo API, que es el modo de interfaz de programación de aplicaciones. En este modo, el Arduino puede acceder a un rango más amplio de datos XBee que en el modo AT. (Hay una biblioteca de Arduino disponible para ayudar con el modo API).
En el modo API, hay un tipo de paquete específico que XBee puede enviar al Arduino que contiene el valor RSSI. El Arduino enviaría un paquete de api al XBee solicitando ese tipo de paquete, y el XBee recopilaría los datos y respondería al Arduino con el paquete de datos. El Arduino luego analizaría el paquete y le daría el ID de cuadro que contiene el valor RSSI. Luego, puede hacer el procesamiento que desee con el valor RSSI.
Puede obtener más información sobre el uso del modo API en XBee manual , y más acerca de los marcos API específicos utilizando utilidad de marco de API de Digi .