Hacer que las redes de sensores de malla sean eficientes energéticamente

3

ESCENARIO:

Supongamos que tiene una red de malla de sensores que miden algo como la temperatura ambiente. Los nodos están fuera del alcance de la estación base; sin embargo, sucede que hay un nodo intermedio lo suficientemente cerca como para transmitir sus mensajes a la base. Estos sensores toman muestras de la temperatura, dicen cada 30 minutos (sin embargo, no están sincronizados), por lo que, idealmente, para conservar la energía, nos gustaría ponerlos en un estado de menor potencia el resto del tiempo. El problema es que si ese nodo intermedio no está activado, entonces el resto de los mensajes de los nodos se perderán o tendrán que permanecer encendidos hasta que el nodo intermedio se active a la temperatura de la muestra, momento en el cual podría transmitir otros mensajes de sensores. si reenvían su mensaje antes de que se vuelva a dormir.

PREGUNTA:

¿Hay alguna forma en que un nodo pueda enviar una baliza que excite un componente, sintonizado a una cierta frecuencia, en los otros sensores (¿sería esto una antena sintonizada?) conectada a una línea de interrupción de despertador. Esto permitiría que un sensor fuera de rango active el sensor intermedio.

    
pregunta blcArmadillo

2 respuestas

5

Así es como lo haría ...

La estación base envía un mensaje en un intervalo regular. El mensaje es algo como: Dame todos tus datos y te enviaré el siguiente mensaje en N minutos.

Una vez que todo está en funcionamiento, cada nodo sabe cuándo va a pasar el siguiente mensaje y, por lo tanto, puede irse a dormir hasta entonces. Idealmente, el nodo se activaría justo antes de enviar el mensaje y permanecería despierto hasta que todos los nodos hayan respondido.

Por supuesto, esto causa algunos problemas, especialmente si un nodo no ha recibido el primer mensaje de la estación base. Entonces funciona así ... Cuando un nodo se enciende, siempre está encendido, esperando el primer mensaje. Una vez que recibe un mensaje, puede irse a dormir hasta el siguiente mensaje. Si se despierta y no recibe un mensaje, permanecerá encendido hasta que lo haga. De esta manera, siempre se sincronizará con la estación base.

Otro problema es que el reloj en la estación base y el reloj en el nodo se desviarán. El nodo necesita predecir eso y despertarse un poco antes. Qué tan temprano depende de qué tan sofisticado quieras ser. Simplemente puede hacer que se levante una cantidad fija (como 1 minuto) antes de tiempo. O podría hacer que el nodo mida la deriva entre los dos relojes y calcule la cantidad adecuada. Comenzaría con una cantidad fija simple.

Y para hacer las cosas más robustas, cuando un nodo devuelve la temperatura actual, también debería devolver el estado actual del nodo (nivel de la batería, etc.), así como el tiempo que lleva esperando un mensaje. De esta manera, la estación base puede detectar problemas de RF con diferentes nodos para que puedan ser resueltos.

Tendrías que experimentar, pero podría tener sentido cambiar la velocidad del mensaje de 30 minutos a 15 o incluso 5 minutos. Debe equilibrar el mayor consumo de energía de la tasa de sondeo más frecuente en comparación con el consumo de energía de un nodo que espera un total de 30 minutos a la espera de su primer mensaje.

    
respondido por el user3624
6

El problema de mirar solo una sola frecuencia para la actividad es que puedes hacer que otras personas usen la misma banda que tú y podrían despertarte mucho. Por lo tanto, para evitar esto, debe tener algún tipo de preámbulo que el receptor pueda verificar para ver si coincide con lo que está esperando. La mejor opción que conozco para hacer esto es el CC430 que incluye TRABAJO incorporado .

TI también tiene un documento que explica cómo se puede usar el CC430 en una red de malla .

    
respondido por el Kellenjb

Lea otras preguntas en las etiquetas