Cajas Nido Inteligentes -...

44
Cajas Nido Inteligentes [email protected] Horus. 2015.

Transcript of Cajas Nido Inteligentes -...

Page 1: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

Cajas Nido Inteligentes

[email protected]

Horus. 2015.

Page 2: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

2

Índice

Introducción.

Caja nido tipo A.

1. Introducción.

2. Descripción general.

3. Control de la caja nido.

4. Componentes.

5. Base de datos.

6. Monitorización con Nagios.

7. Enlaces y referencias.

Caja nido tipo B

1. Introducción.

2. Control de la caja nido.

3. Sensor de temperatura.

4. Servomecanismo.

5. Lector RFID.

6. Cámara y servidor de vídeo.

7. Acceso a los datos recogidos por la caja nido.

8. Enlaces y referencias.

Page 3: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

3

Introducción.

Las cajas nido inteligentes recogen información sobre lo que sucede en el interior del

nido, mediante cámaras, sensores y otros equipos. Están conectadas a un servidor al

que envían la información recopilada, que es almacenada en una base de datos

MySQL.

En Horus usamos dos tipos de cajas nido:

Caja nido tipo A. Están controladas por un Arduino Mega. Actualmente

tenemos 20 cajas de este tipo en el silo de la Palma del Condado. Cuentan con

una balanza para recoger el peso de los individuos que entran al nido, un lector

RFID que detecta a los individuos marcados mediante la antena colocada en la

entrada, una cámara analógica en blanco y negro con un iluminador infrarrojo

conectada a un servidor de vídeo, un sensor de temperatura en el interior del

nido, 3 barreras infrarrojas (sobre la balanza y otras dos en el pasillo para

detectar entradas y salidas) y una trampilla para capturar individuos activada

por un servomecanismo.

Caja nido tipo B. Están controlada por una Beaglebone Black. Estas cajas son

más simples: como en el tipo anterior tienen un lector RFID, una cámara

analógica conectada a un servidor de vídeo y un servidor de vídeo y una

trampilla activada por un servomecanismo. No tienen balanza ni barreras

infrarrojas. Las nuevas cajas nido que se instalen en el silo y en el primillar de la

EBD serán de este tipo.

Las placas controladoras de cada caja permiten recoger la información de los sensores

(barreras infrarrojas y temperatura) y del lector RFID y la balanza, así como actuar

sobre el servomecanismo que cierra la trampilla:

Arduino Mega es un modelo de placa Arduino, que es una plataforma de

hardware libre para desarrollar proyectos multidisciplinares en una placa con

un microcontrolador. Para la programación se dispone de un entorno de

Page 4: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

4

desarrollo integrado (IDE) que incluye soporte para los lenguajes de

programación C y C++. El programa que hemos elaborado para controlar la caja

nido se lo cargamos desde un ordenador.

Beaglebone Black es una placa computadora de hardware libre. Al ser una

placa computadora (Single Board Computer o SBC) tiene las características de

un ordenador en una placa de tamaño reducido y precio asequible, con las

ventajas que conlleva disponer de un sistema operativo. A diferencia de la

placa Arduino Mega, funciona con un sistema operativo que se puede cargar en

una tarjeta SD. Nosotros utilizamos la distribución Debian de Linux.

Arduino Mega

Beaglebone Black

Page 5: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

5

Cajas nido tipo A.

1. Introducción.

Actualmente hay 20 instaladas en el silo de la Palma del Condado, en frente de las

ventanas sexta planta del edificio. En la siguiente imagen puedes ver un plano de la

planta donde están las cajas nido y una de ellas en frente de una de las ventanas (la

6W1). Los nidos se nombran indicando la planta (6), la orientación de la fachada (N,S,E

y W) y el orden (izquierda a derecha en el interior del edificio).

1. Sexta planta del silo

En la parte central de la planta hay una oficina donde está el servidor que procesa la

información recibida por las cajas nido y el servidor de almacenamiento donde para las

fotos y vídeos de los nidos. La imagen 2 muestra las ventanas del lado norte vistas

desde la cámara exterior instalada en la azotea, que se ve en la imagen 3.

Page 6: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

6

2, 3 y 4. Interior de la sexta planta silo, ventanas y cámara exterior en la azotea

2. Descripción general.

Cada caja nido consta de un armario para la instrumentación y la caja nido

propiamente dicha (imagen 5). Cada armario tiene conexión a la red eléctrica y a una

red local conectada a internet en la oficina del silo. Todas las cajas nido son dobles, es

decir tienen dos nidos, pero sólo utilizamos la parte izquierda. En futuras ampliaciones

utilizaríamos el lado derecho de la caja para disponer de otro nido (en la figura 6

puede verse un esquema de la parte izquierda). La caja nido tiene un pasillo extraíble

(figuras 6 y 7) que permiten extraer los componentes para quitarlos o sustituirlos. En

este pasillo están los emisores y receptores de las barreras infrarrojas, el plato de la

balanza, que se encuentra justo debajo del pasillo, el sensor de temperatura y la

trampilla activada por el servomecanismo. La antena RFID se encuentra a la entrada de

la caja nido y está conectada al lector del armario de instrumentación.

5. Caja nido en el interior del silo

Page 7: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

7

6. Esquema de la caja nido y pasillo

7. Sensores de temperatura, antena RFID y trampilla cerrada por el

servomecanismo

La caja nido está conectada al armario de instrumentación. Dos cables con conectores

RJ-45 en los extremos llevan los datos de la balanza, barreras infrarrojas y sensor de

temperatura a la placa Arduino, que además puede enviar la señal al servomecanismo

para que se mueva y baje la trampilla del pasillo. Tenemos dos fuentes de

alimentación: 12 voltios para el lector RFID, balanza y cámara y 5 voltios para Arduino,

barreras IR, servomecanismo y sensor de temperatura. En la figura 8 puedes ver un

esquema de los componentes y los tipos de conexiones. La placa del lector RFID envía

los códigos recibidos al Arduino, que lleva los datos recibidos de todos los equipos al

servidor en tiempo real.

Page 8: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

8

8. Esquema de los componentes de la caja nido

La siguiente figura detalla las señales de cada cable que conecta la caja nido con el

conector del Arduino (caja Arduino se refiere a la caja de la imagen 10 que protege a la

placa).

9. Esquema de conexiones. Se puede descargar aquí

Page 9: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

9

En la parte izquierda de la figura 9:

IR+, IR- (1 y 2): son los polos positivos y negativo de los emisores infrarrojos.

RX IR1, RX IR2, RX IR2 (3, 4 y 5): son las señales de los receptores infrarrojos.

DQ TEMP (6): es la señal de temperatura del sensor DS18B20.

BALANZA (7): son los datos transmitidos por la balanza mediante una conexión

serie.

SERVO (8): es la señal PWM que llega al servomecanismo para activarlo cuando

se quiera cerrar la trampilla del pasillo de la caja.

5V y GND (9 y 10): es la alimentación de los componentes de las barreras,

servomecanismo (que usa GND_SERVO en lugar de GND) y sensor de

temperatura.

GND_SERVO: es el polo negativo de la alimentación del servo, que se

desconecta cuando no se está usando.

En la parte derecha de la figura tenemos las conexiones del Arduino. Además de las

conexiones procedentes del pasillo (a color) también conectamos los pines de

transmisión y recepción de la conexión serie del lector RFID (pines 9 y 10 del conector),

una señal digital que está conectada al relé y desconecta la alimentación cuando no se

use (pin 3) y una señal digital procedente del servidor de vídeo (pin 5) que tiene el

objetivo de poder resetear la placa si es necesario.

La parte de abajo de la figura 9 muestra los pines del conector RS-232 de la balanza

conectada al Arduino, el conector de alimentación de éste, el relé que desactiva la

alimentación del Arduino y los pines de un potenciómetro que usamos para regular la

intensidad del emisor infrarrojo de forma que las barreras puedan funcionar

correctamente.

3. Control de la caja nido.

Para controlar la caja nido y conectar la placa Arduino Mega con los componentes

hemos diseñado 2 placas (figuras 11 y 12). Estas placas añaden funciones y además

Page 10: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

10

proporcionan la interfaz de conexión. Añadimos la tarjeta Arduino Ethernet Shield para

conectar las placas a la red local. Las placas están diseñadas con KiCad, los esquemas

pueden descargarse en el apartado de enlaces.

A continuación se indican las funciones de las placas Arduino y las placa Horus que las

complementan, que permiten monitorizar todos los componentes del sistema

excepto el sistema de filmación de vídeo que es autogestionable:

Interfaz de conexión. Las placas Arduino están diseñadas para usar como un kit

de desarrollo de electrónica, y para la puesta en práctica es necesario que las

conexiones sean robustas y de fácil manejo, por lo ue añadimos las placas

Horus.

Reloj en tiempo real (RTC). Se ha creído conveniente su uso para proporcionar

una etiqueta de tiempo a la información que se trasmita.

Adaptación de niveles TTL a RS-232 en puertos serie. Los niveles de voltaje que

suministran los puertos serie de la placa arduinos son TTL (0-5 V) por lo que es

necesaria la adaptación a niveles según la norma RS-232.

Posibilidad de interfaz RS-485. Actualmente ningún módulo Arduino lo lleva

incorporado. Es útil porque se pueden conectar a este puerto hasta 32,

mientras que con los puertos RS-232 la comunicación es simpre punto a punto.

Sensor de temperatura interno. Su función controlar la temperatura de las

placas con el objetivo de evitar fallos en el sistema.

Reset remoto por comando. El controlador Arduino no tiene implementado

ningún comando software que realice el reset del dispositivo, aunque se puede

hacer por hardware con el pin de reset. Para ello usamos la salida digital de los

servidores de vídeo.

Recoger y analizar los pesos de la balanza a través de un puerto RS-232.

Recibir los códigos enviados por el lector RFID a través de un puerto RS-232

Detectar cortes en las barreras infrarrojas mediante la salida digital de los

receptores infrarrojos.

Recibir la temperatura del sensor mediante la interfaz 1-wire.

Page 11: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

11

Enviar la señal digital al servomecanismo que cerrará la trampilla del pasillo de

la caja nido.

En la placa de la figura 12 o placa Horus 1 conectamos la alimentación de 5V y los

datos procedentes de la caja nido en el conector rojo de la izquierda de la placa, que

vienen de la placa Horus 2. Las funciones de la placa están indicadas en la figura y hay

que señalar que la conversión de 12V para alimentar la placa con 12 voltios no se está

usando ya que disponemos de una fuente de 5V con la que alimentar directamente a

la placa sin convertir la tensión.

La placa de la figura 11 o placa Horus 2 (que colocamos detrás de la caja blanca de la

figura 10) tiene los conectores RJ-45 para la conexión con el pasillo de la caja nido (a la

izquierda de la imagen), el potenciómetro (POT), la conexión con la placa Arduino

(conector rojo), el relé (en la parte superior) y los terminales de conexión para

conectar, como se indicó en el apartado anterior, la señal digital del servidor de vídeo,

la alimentación de 5 V y las señales de la conexión serie del lector RFID. Las conexión

en los terminales la realizamos de la siguiente forma (esquema):

1: alimentación 5V polo negativo.

2: alimentación 5V polo positivo.

3: tierra para la conexión con el servidor de vídeo.

4: señal digital procedente del servidor de vídeo.

5: tierra de la conexión con el lector RFID.

6: señal RX de la conexión con el lector RFID.

7: señal TX de la conexión con el lector RFID.

8-12: no se usan.

Page 12: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

12

10. Placas que controlan la caja nido (1)

11. Placa Horus 2

Page 13: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

13

12. Placa Horus 1

4. Componentes.

RFID.

La placa de las siguientes figuras muestran la placa RFID que utilizamos

(decodificador LID650 de Dorset para transponders ISO FDX-B) y que conectamos con

las placas de Arduino en el armario de instrumentación de la caja nido (según la

versión de la placa tiene 12 o 13 pines) de acuerdo con los pines indicados en la figura.

A la placa de la izquierda le hemos añadido un fusible de protección a la alimentación

(terminales R y N en la imagen). La figura 15 muestra el transponder en la anilla de PVC

que será detectado por la antena en la entrada de la caja nido y el lector RFID mandará

el código al Arduino.

13. Placa RFID (1)

Page 14: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

14

14. Placa RFID (2)

15. Transponder RFID en la anilla de PVC

Page 15: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

15

Balanza.

La balanza empleada en este proyecto es el modelo Blauscal-AH600 (imagen 16), que

permite un peso máximo de 600 gramos con una precisión de 0.01 g. Tiene salida de

datos RS-232C y USB. Tiene la ventaja de que transmite tanto medidas estables como

inestables, pudiendo obtener los pesos de los individuos en movimiento.

16. Balanza de precisión

Sensor de temperatura.

El sensor utilizado es el modelo DS18B20 de Maxim (datasheet), que tiene los pines

indicados en la figura 17 (VDQ es el que da la temperatura). Tiene las siguientes

características:

Interfaz 1-Wire.

Precisión configurable de 5°C a 0.0625°C.

Rango de temperatura –55°C a +125°C.

Alimentación de 5V.

Page 16: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

16

17. Sensor de temperatura DS18B20

Servidores de vídeo.

Para almacenar fotos y vídeos de los nidos que se graban en el servidor NAS, la imagen

de la cámara analógica se digitaliza mediante un servidor de vídeo. Usamos el servidor

VS8102 de Vivotek y la minicámara KPC-500 blanco y negro, que posee una lente de

2,45 mm con un ángulo de visión de 150º y 0,0003 Lux, adecuado para la poca

luminosidad en el interior de la caja nido. Las conexiónes de este equipo se encuentran

en la figura 18 (usamos los pines 2 y 4 para la conexión de una señal digital con el

Arduino).

Podemos acceder a cada uno de los servidores de vídeo de los nidos del silo de forma

remota. Además hemos compuesto un mosaico con las imágenes de todas las cámaras

para verlas al mismo tiempo. Las cámaras web de los nidos del silo pueden verse en la

página web de Horus en este enlace.

Page 17: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

17

18. Servidor de vídeo Vivotek 8102 (1)

19. Servidor de Video Vivotek 8102 (2)

Page 18: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

18

20. Mosaico de las cámaras de las cajas nido

Los servidores de vídeo tiene activada grabación por detección de movimiento, de

forma que se graban fotos y vídeos de 10 segundos cada vez que se detecta actividad

en el nido. Entre los años 2011 y 2015 hemos grabado una cantidad de información en

cada nido según su actividad. Aquí puedes ver más información (carpeta de Google

Drive).

21. Tamaño de fotos y vídeos del silo

Page 19: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

19

5. Base de Datos.

Los datos que se están recogiendo en el silo en cada nido se almacenan en una base de

datos MySQL, que guarda los datos en el silo, y que se copia periódicamente en la EBD.

Cada nido está almacenando datos en las siguientes tablas:

1. Detección del corte de barrera infrarroja 1 (barrera exterior) o 2 (barrera

interior): se almacena en la tabla SENSORPASO.

2. Pesos de la Balanza en gramos: se almacenan en la tabla BALANZA.

3. Códigos RFID (ISO-FDX-B animal o Trovan Unique): se almacenan en la tabla

RFID

4. Temperatura ambiente en el interior del nido en ºC: se almacena en la tabla

TEMPHUME.

Aquí puedes descargar un esquema de la base de datos (es un archivo con extensión

mwb, que se puede abrir con MySQL Workbench). A continuación se muestran los

campos de cada tabla. A cada nido le corresponde un número de objeto que se

muestra en la siguiente figura.

22. Correspondecia entre el nido y el número de objeto en la base de datos

Page 20: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

20

Campos de las tablas de la base de datos.

1.- Barreras infrarrojas:

Campo Tipo Null Clave Comentario

ID_SEIO int(10) unsigned No PRI auto_increment

OBJE_X_SEIO int(10) unsigned No MUL Identificador del nido

CREADO varchar(20) No

FECHACREADO datetime No

MODIFICADO varchar(20) No

FECHAMODIFICADO datetime No

TIPO int(10) unsigned No

1 o 2 según la barrera infrarroja

EVENTO int(10) unsigned No

META_X_PASO int(11) Yes MUL

2.- Balanza

Campo Tipo Null Clave Comentario

ID_BALA int(10)

unsigned No PRI auto_increment

META_X_BALA int(10)

unsigned Yes MUL

OBJE_X_BALA int(10)

unsigned No MUL Identificador del nido

TARA float No MUL tara en gramos

CREADO varchar(45) No

FECHACREADO datetime No

MODIFICADO varchar(45) No

FECHAMODIFICADO datetime No

Page 21: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

21

VALOR float No

peso en gramos

MEDIDA int(10)

unsigned Yes

COMENTARIO varchar(255) Yes

TIPOMEDIDA int(10)

unsigned Yes

Indica si la medida es estable (1) o

inestable (0)

MODOPESADA int(10)

unsigned Yes

EVENTO int(10)

unsigned No

3.- RFID:

Campo Tipo Null Clave Comentario

ID_RFID int(10) unsigned No PRI auto_increment

META_X_RFID int(10) unsigned Yes MUL

OBJE_X_RFID int(10) unsigned No MUL Identificador del nido

ANIM_X_RFID int(10) unsigned Yes MUL

CREADO varchar(45) No

FECHACREADO datetime No

MODIFICADO varchar(45) No

FECHAMODIFICADO datetime No

IDENTIFICADO_ISO bigint(20) Yes

TIPO varchar(20) No

CODIGO_PAIS_ISO int(10) unsigned Yes

CODIGO_NO_ISO varchar(40) Yes

EVENTO int(10) unsigned No

Page 22: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

22

4.- Temperatura:

Campo Tipo Null Clave Comentario

ID_TEHU int(10)

unsigned No PRI auto_increment

META_X_TEHU int(10)

unsigned Yes MUL

OBJE_X_TEHU int(10)

unsigned No MUL Identificador del nido

CREADO varchar(45) No

FECHACREADO datetime No

MODIFICADO varchar(45) No

FECHAMODIFICADO datetime No

RHUMEDAD double Yes

Anteriormente había instalados sensores

de temperatura y humedad además de

sensores de temperatura. Actualmente

no se utiliza este campo.

TEMPERATURA double No

ºC

TIPO_MEDIDA varchar(20) No

Identificador del sensor de temperatura

6. Monitorización con Nagios.

Nagios es un sistema de monitorización de redes de código abierto muy utilizado, para

controlar equipos y servicios. Para controlar los equipos instalados tanto en el silo

como en la Palma del Condado como en la EBD y comprobar su correcto

funcionamiento se ha instalado Nagios en la máquina virtual de Horus

(horus.ebd.csic.es, cuya IP es 161.111.228.128), junto con otras herramientas

adicionales como Nagvis, para visualizar las comprobaciones en un mapa.

Page 23: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

23

23. Nagios en horus.ebd.csic.es

24. Nagvis en horus.ebd.csic.es

Muchas de las comprobaciones que se han programado en el sistema son pasivas, es

decir hechas por programas externos que indican el resultado de cualquier

comprobación a Nagios. Se han utilizado scripts de Linux programados en el cron en la

máquina donde se ha instalado Nagios. Además las comprobaciones indicadas, existen

las comprobaciones de la propia máquina Horus y del servidor del silo, donde se ha

usado NRPE, un plugin de Nagios que permite hacer comprobaciones activas en otros

hosts. Para acceder a los equipos del silo con sus direcciones IP y facilitar las

comprobaciones realizadas por Nagios se ha creado una VPN de tipo Intranet entre el

servidor del silo y la máquina de Horus horus.ebd.csic.es.

Page 24: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

24

25. NRPE de Nagios

Se han establecido los siguientes grupos de comprobaciones:

HORUS-SILO: para monitorizar el servidor de silo y la conexión con otros

equipos (cámara de seguridad, cámara exterior, servidor NAS, portátil, PC

“Sínope” y Switch).

HORUS-EBD: para controlar la máquina virtual donde está instalado el propio

Nagios y la conexión con otros equipo (servidor NAS, nidos del primillar y

cámara exterior).

HORUS-CONEXIONES: para monitorizar el estado de las 2 conexiones a internet

que hay en el silo (ADSL, utilizada hasta abril de 2014, y la conexión a través de

un radioenlace, actualmente la conexión principal)

HORUS-SILO-SERVIDORES-VIDEO: para comprobar que los servidores de vídeo

del silo reciben imagen de la cámara analógica y también graban imágenes y

vídeos de los nidos.

HORUS-SILO-ARDUINOS: en este apartado se incluyen siguientes

comprobaciones para cada una de las cajas nidos del silo:

o Que el programa de recogida de datos se está ejecutando en el servidor.

o Que se almacenan datos en la base de datos.

o Número de muestras en la base de datos del sensor de temperatura,

lector RFID, balanza y barreras infrarrojas.

HORUS-SILO-OTROS: este grupo incluye la comprobación de que hay conexión

con otro host externo para determinar si no hay conexión con los equipos

debido a algún corte en el acceso a internet.

Page 25: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

25

7. Enlaces y referencias.

1. Código C++ que hemos programado para ejecutar en el Arduino de cada caja

nido (aquí) y para controlar en el servidor las cajas nido (aquí).

2. Esquema de la base de datos del silo.

3. Esquema de conexiones del silo, conexiones terminales Horus 2 (imagen),

placa Horus 2 y placa pasillo caja nido (PDF).

4. Placas Horus (KiCad): 1 y 2.

5. Arduino: Arduino Mega 2560, Arduino Ethernet Shield.

6. Componentes: RFID LID650 (web y manual), sensor de temperatura DS18B20

(datasheet), servidor de vídeo Vivotek VS8102(web y manual) y balanza (web).

7. Recopilación de enlaces Horus.

8. Información sobre las fotos y vídeos grabados entre 2011 y 2015 (carpeta de

Google Drive).

9. Web monotorización de Horus con Nagios (requiere usuario y contraseña).

10. Guía rápida de Nagios para Horus (documento de Google Drive)

Page 26: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

26

Cajas nido tipo B.

1. Introducción.

El objetivo de este documento es tener un guía para usar y configurar las cajas nido

que hemos llamado del tipo B. Estas cajas están controlada por una Beaglebone Black y

tienen menos componentes conectados que en el caso anterior: un sensor de

temperatura, un lector RFID, una cámara analógica conectada a un servidor de vídeo y

una trampilla activada por un servomecanismo. Las nuevas cajas nido que se instalen

en el silo y en el primillar de la EBD serán de este tipo. En 2015 se probó instalar una

caja nido de este tipo en el primillar de la EBD, que cuenta con cajas como la que se

muestra continuación.

1. Caja nido del primillar de la EBD

Page 27: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

27

Beaglebone Black es una placa computadora de hardware libre. Nos referiremos a ella

como BB o BBB. Al ser una placa computadora tiene las características de un

ordenador en una placa de tamaño reducido y precio asequible, con la ventaja de

poder usar un sistema operativo, a diferencia de la placa Arduino Mega, que además

se puede cargar en una tarjeta SD.

2. Caja nido tipo B

En la imagen anterior vemos el esquema de la caja nido donde conectamos los

componentes a una BBB y vemos los resultados en una interfaz web:

Sensor de temperatura: la temperatura del interior del nido se almacena

periódicamente.

Servomecanismo: el usuario lo activa de forma remota para cerrar una

trampilla.

Lector de RFID: se almacenan RFID detectados.

Cámara: en nuestro caso vamos a usar una cámara analógica conectada a un

servidor de vídeo como en el otro tipo de caja, aunque la BB tiene la posibilidad

de usar una cámara web conectada al puerto USB, que podremos usar más

adelante, para retransmitir directamente un stream de vídeo y grabar fotos y

vídeos del nido cuando se produzcan eventos, por ejemplo una detección de un

código RFID.

Page 28: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

28

2. Control de la caja nido.

El control de la caja nido lo realiza la Beaglebone Black (BB o BBB). La BB tiene una CPU

ARM a 1 GHz y 512 MB de RAM. Sus especificaciones y más información puede

encontrarse en su página web: http://beagleboard.org/black. Cuenta con una amplia

comunidad de usuarios y que posibilitan mejoras continuas y correcciones de errores.

Su manual de referencia se puede descargar aquí.

Para controlar la caja nido y conectar la BB hemos diseñado una placa, que añade

funciones y además proporcionan la interfaz de conexión. Las placas están diseñadas

con KiCad, los esquemas pueden descargarse aquí (Google Drive).

3. Placa diseñada para caja nido tipo B

La imagen anterior muestra la placa, que se conecta encima de la BB. Cuenta con el

circuito RTC para que la Beaglebone no pierda la hora cuando se desconecta y la

adaptación de niveles TTL a RS-232 para los puertos serie. En el conector de la

izquierda se conecta la alimentación de 5 voltios y a la derecha (CON1) se pueden

conectar el servo, el sensor de temperatura y el lector RFID. Hay conexiones para dos

servos y lectores RFID, aunque de momento sólo usamos uno de cada. Los pines

utilizamos en la BB se muestran en la siguiente figura. Además hemos usado una

batería LiPo para la BB como se describe en este enlace.

Page 29: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

29

4. Pines que usamos en la Beaglebone Black

En Horus utilizamos el sistema operativo Debian para usarlo en la tarjeta SD de la BB.

Puede descargarse en este enlace: http://beagleboard.org/latest-images. Los pasos

que seguimos para usar el sistema operativo en la BB son:

Grabar archivo imagen *.img en una tarjeta SD con Ubuntu Image Writer

mediente imagewriter.

Acceder por ssh a través del cable USB usando la dirección IP 192.168.7.2:

root@jesus:~#ssh [email protected]

Instalar x11vnc o tightvnc en BB, para poder acceder por escritorio remoto

además de por consola, además de los programas como emacs que puedan ser

útiles.

Configurar idioma, fecha y hora mediante dpkg-reconfigure

Para ejecutar tareas al inicio para leer automáticamente la temperatura,

códigos RFID, activar el servo, etc. se crean scripts en la carpeta /etc/init.d y se

utiliza update-rc.d para crear los enlaces a los scripts de inicio.

Page 30: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

30

Las modificaciones realizadas para controlar la caja nido las hemos grabado en una

imagen del sistema operativo, que se puede descargar en la siguiente carpeta (Google

Drive). Una vez copiada una imagen de la tarjeta SD, podemos arrancar una nueva

placa BB con esta tarjeta. Para empezar a usarla correctamente editamos los archivos

/var/www/identificador.txt y /root/identificador.txt cambiando el identificador a

BBB_nn (donde nn es un número que identifica la caja nido, 02 por ejemplo).

En la siguiente figura se muestra un esquema de los programas utilizados en la BB para

recoger datos de temperatura, RFID y activaciones del servo (el programa de la cámara

no se va usar ya que utilizamos una cámara analógica conectada a un servidor de vídeo

en lugar de una cámara web conectada al puerto USB de la BB).

5. Programas que usamos en la Beaglebone Black

3. Sensor de temperatura.

El sensor de temperatura que usamos es el mismo que en el otro tipo de caja nido, el

sensor DS18B20 (datasheet). La comunicación se realiza a través del bus 1-Wire, que

requiere una sola línea de datos. El rango de funcionamiento es -55 ° C a + 125 ° C y

tiene una precisión de± 0.5 ° C en el rango de -10 ° C a + 85 ° C.

Page 31: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

31

6. Sensor de temperatura DS18B20

En la siguiente figura se muestra la conexión del sensor con una BB:

7. Sensor de temperatura DS18B20 con BB

Para usar el sensor hay que crear y compilar el Device Tree para la interfaz 1-Wire del

dispositivo DS18B20, siguiendo los siguientes pasos, que se han incluido en el arranque

en /etc/inti.d/inicio:

Crear el archivo /root/sensor_temperatura/w1.dts, que se puede descargar

aquí (enlace a Google Drive)

Compilarlo, copiarlo a la carpeta /lib/firmware y cargarlo:

Page 32: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

32

root@beaglebone:~# dtc -O dtb -o w1-00A0.dtbo -b 0 -@ w1.dts

root@beaglebone:~# cp w1-00A0.dtbo /lib/firmware

root@beaglebone:~# echo w1>/sys/devices/bone_capemgr.9/slots

Y por último comprobar que lo anterior es correcto:

root@beaglebone:~# cat /sys/devices/bone_capemgr.9/slots

...

4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G

5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI

7: ff:P-O-L Override Board Name,00A0,Override Manuf,w1

Para leer la temperatura del sensor conectado a la placa (la carpeta 28… indica la

dirección del sensor):

root@beaglebone:~/sensor_temperatura#cat /sys/devices/w1_bus_master1/28-

00000315d5f3/w1_slave

9c 01 4b 46 7f ff 04 10 7a : crc=7a YES (Indica una temperatura de 25.750 ºC)

Para leer la temperatura y almacenarla en un fichero de forma automática se usa el

script leer_temperatura.sh que lee la temperatura en grados centigrados del sensor

DS18B20 (ver el correspondiente código en esta carpeta de Google Drive). La

temperatura se guarda automáticamente incluyendo este script en el cron y los

resultados se guardan en 3 ficheros de texto:

/root/sensor_temperatura/registro_temperatura.txt

/var/www/registro_temperatura.txt: para mostrar el último registro en la

interfaz web.

/var/www/registro_temperatura_horus.txt: para mostrar todo el registro en la

interfaz web.

El formato de estos archivos es temperatura(ºC) – fecha – identificador. El contenido

de /root/sensor_temperatura/registro_temperatura.txt es similar a (se puede abrir con

editor de archivos csv con los campos separados por punto y coma):

Page 33: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

33

25.250 - FECHA: 11-18-2014 12:40:02 - BBB_01

25.250 - FECHA: 11-18-2014 12:41:02 - BBB_01

25.250 - FECHA: 11-18-2014 12:42:02 - BBB_01

25.250 - FECHA: 11-18-2014 12:43:02 - BBB_01

4. Servomecanismo.

El servomecanismo se utiliza para cerrar una trampilla en la entrada del nido y realizar

capturas de individuos que entren en la caja nido. Usamos el mismo servomecanismo

digitales en los dos tipos de caja (en la imagen), que conectamos a una BB usando un

relé, de acuerdo a las tablas siguientes.

8. Servomecanismo con BB

SERVO BB

Señal PWM (cable naranja) Resistencia 1K para proteger BBB - P8_13 BBB

GND (cable marrón) ⅂ Relé

Servo VDD (cable rojo) 5V fuente externa

Tabla conexión servo – BB

Page 34: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

34

RELÉ FUENTE 5V EXTERNA / BB / SERVO

VCC 5 V fuente externa

IN P9_12 BBB (GPIO_60)

GND GND fuente externa - P8_2 (DGND) BBB

୮ no conectar

\ GND relé

⅂ GND SERVO

Tabla conexión BB con relé (desconecta alimentación del servo mientras no se esté

usando)

Para activar la señal PWM de la Beaglebone (am33xx_pwm), y utilizar el pin

correpondiente para ello (P8_13 en el caso de Horus) seguimos los siguientes pasos:

root@beaglebone:~# echo am33xx_pwm > /sys/devices/bone_capemgr.?/slots

root@beaglebone:~# echo bone_pwm_P8_13 > /sys/devices/bone_capemgr.?/slots

root@beaglebone:~# cat /sys/devices/bone_capemgr.?/slots

...

4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G

5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI

7: ff:P-O-L Override Board Name,00A0,Override Manuf,am33xx_pwm

8: ff:P-O-L Override Board Name,00A0,Override Manuf,bone_pwm_P8_13

root@beaglebone:~# cd /sys/devices/ocp.?/pwm_test_P8_13.??/;ls

driver duty modalias period polarity power run subsystem uevent

Como podemos ver ya podemos usar el pin correspondiente para activar el servo. En la

siguiente tabla se encuentran las funciones de los ficheros de la carpeta PWM:

Fichero Función

period Período (ns) de la señal PWM conectada al servo. Debe ser igual o mayor que

duty

duty Período de tiempo en el que la señal permanece en el valor indicado en duty

run Habilita (1) o deshabilita (0) señal PWM

polarity Si vale 1: la señal empieza a nivel alto durante la duración de duty

Page 35: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

35

Si vale 0: la señal empieza a nivel bajo durante la duración de duty

Tabla con las funciones de los arrchivos PWM

Los parámetros los ajustamos para usarlos en la caja nido:

root@beaglebone:/sys/devices/ocp.3/pwm_test_P8_13.15#echo 0 > run (Desactivar PWM)

root@beaglebone:/sys/devices/ocp.3/pwm_test_P8_13.15#echo 500000 > period

root@beaglebone:/sys/devices/ocp.3/pwm_test_P8_13.15#echo 200000 > duty

root@beaglebone:/sys/devices/ocp.3/pwm_test_P8_13.15#echo 1 > run (Activar PWM)

root@beaglebone:/sys/devices/ocp.3/pwm_test_P8_13.15#echo 0 > run (Desactivar PWM)

Para realizar las tareas anteriores en el inicio del sistema, se ha modificado el archivo

/etc/init.d/inicio como se indicó anteriormente. También es posible editar el archivo

/boot/uboot/uEnv.txt e incluir la siguiente línea (de acuerdo al pin que estamos

usando): cape_enable=capemgr.enable_partno=am33xx_pwm,bone_pwm_P8_13

Además tenemos que usar una señal digital para controlar el relé que activa y

desactiva la alimentación del servo. Para ello se ha usado la salida digital P9_12

mediante:

root@beaglebone:~# echo 60 > /sys/class/gpio/export

Podemos activar el servo de forma remota usamos el script servo.sh que gira el servo

dos veces cerrando la trampilla de la caja nido. Este script está en la siguiente carpeta

compartida de Google Drive.

El servo puede activarse desde la interfaz web. Para ello se utiliza el script

/etc/init.d/activar_servo_web que ejecuta en segundo plano desde el arranque el

programa /root/servo/codigo/servocpp (ver código fuente en la carpeta compartidao).

5. Lector RFID.

La placa de las siguientes figuras muestran la placa RFID que utilizamos (decodificador

LID650 de Dorset para transponders ISO FDX-B) y que conectamos con la placas BB

(según la versión de la placa tiene 12 o 13 pines) de acuerdo con los pines indicados en

Page 36: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

36

la figura. A la placa de la izquierda le hemos añadido un fusible de protección a la

alimentación (pines R y N en la imagen).

9. Placa RFID (1)

10. Placa RFID (2)

Page 37: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

37

Las siguientes figuras muestran cómo se hace la conexión del lector con la BB.

11. Lector RFID

12. Conexión RFID – BB

Page 38: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

38

El lector RFID transmite los datos por el puerto serie, conectado a la UART1 de la BB a

través del circuito conversor RS-232 – TTL. De forma similar a los apartados anteriores,

se habilita el puerto serie 1 de la BB mediante:

root@beaglebone:~# echo BB-UART1 > /sys/devices/bone_capemgr.*/slots

Para habilitar el puerto serie 1 de la BB al inicio incluimos la línea echo BB-UART1 >

/sys/devices/bone_capemgr.9/slots en el archivo /etc/init.d/inicio de acuerdo con lo

descrito anteriormente.

Podemos ver los códigos RFID recibidos por el puerto serie se puede usar algún

programa como Cutecom, usando el puerto serie 1 de la BB (/dev/ttyO1) a 19200 bps,

sin paridad, con 8 bits de datos y un bit de parada. Del mismo modo mediante stty se

puede configurar el puerto serie para ver luego las tramas recibidas del lector RFID con

od. La opción cs8 de stty indica 8 de bits de datos y -cstopb un bit de parada en la

configuración del puerto serie de la BB.

Para leer los códigos RFID e insertarlos en ficheros de texto de forma automática se ha

escrito un programa en C++(ver código fuente de Example1.cpp en la carpeta de

Google Drive). Para compilar el código fuente del programa:

root@beaglebone:~/rfid/codigo/serialib# g++ Example1.cpp serialib.cpp -o serial

De forma similar a temperatura, los códigos RFID guardan en 3 ficheros de texto:

/root/rfid/registro_rfid.txt

/var/www/registro_rfid.txt: para mostrar el último registro en la interfaz web.

/var/www/registro_rfid_horus.txt: para mostrar todo el registro en la interfaz

web.

El formato de estos archivos es RFID-decimal fecha identificador. El contenido de

/root/rfid/registro_rfid.txt es similar a (se puede abrir con editor de archivos csv con

los campos separados por punto y coma):

Page 39: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

39

5099597 - FECHA: 18-11-2014 12:28:38 - BBB_01

5099597 - FECHA: 18-11-2014 12:40:52 - BBB_01

3580199 - FECHA: 18-11-2014 12:41:02 - BBB_01

Los códigos RFID se leen de forma automática desde del arranque mediante el script

/etc/init.d/rfid que ejecuta en segundo plano desde el arranque el programa

/root/rfid/codig/serialib/serial.

El programa que lee los códigos serial tiene la posibilidad de ejecutar otro script

/root/rfid/codigo/serialib/test.sh. Esto se puede utilizar para ejecutar el script

/root/webcam/webcam.sh y almacenar una foto y/o video de la webcam en

horus.ebd.csic.es cada vez que se lee un código RFID. Esto no se está usa actualmente

ya que en lugar de una webcam conectada al puerto USB de la BB hemos optado por

usar, al menos de momento, la misma cámara analógica que en el caso del otro tipo de

caja nido, conectada también a un servidor de vídeo.

El manual del lector RFID que usamos está disponible en este enlace y el programa

para conectarnos con un portatil al lector RFID en este otro (ambos enlaces llevan a la

web de Dorset)

La configuración que hemos usado en el lector RFID para estas cajas es la siguiente:

Communications: 19200 bps

Settings:

Transponders list: Trovan Unique, ISO FDX-B. Hexadecimal.

Read options: Use all ID codes.

Decoder options: Use LED during read, 2 sec waittime after read, Use LED

during waittime, Antenna on, Relay continously on.

Trovan Flex: 7 Number of blocks

Conexión del lector RFID:

Page 40: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

40

En las cajas nido el lector RFID lo podemos conectar directamente a la Beaglebone.

Solemos usar conectores RS-232 (hembra en el lector y macho en la BB), por si

queremos conectarnos directamente al lector con un portátil utilizando ese

conector. En este documento de Google Drive se ha indicado más detalles sobre la

configuración del lector RFID y su conexión con la BB, directamente o través

conectores RS-232.

6. Cámara y servidor de vídeo.

De la misma forma que las cajas instaladas en el silo, la imagen de la cámara analógica

se digitaliza mediante un servidor de vídeo y grabamos imágenes y vídeos de los nidos

por detección de movimiento que guardamos en un servidor de almacenamiento.

Utilizamos un iluminador infrarrojo junto con la cámara para ver el nido en la

oscuridad. En la siguiente imagen aparecen la cámara y el servidor de vídeo que

usamos (Vivotek 8100, más pequeño pero similar al que utilizamos en el silo).

13. Cámara y servidor de vídeo VS8100

También existe la posibilidad de conectar una webcam al puerto USB de la BB, o

incluso conectar una cámara analógica a una capturadora de vídeo y la salida de ésta al

puerto USB de la BB. La cámara web que se probó aparece en la siguiente imagen. Para

retransmitir el stream de la cámara usamos mjpg-streamer, para ver la imagen a través

de internet con la IP de la placa. Capturar una imagen o grabar un vídeo de la webcam

es sencillo ya que basta usar el comando wget en la propia BB, y en el caso del vídeo

se puede convertir al formato mp4 mediante ffmpeg.

Page 41: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

41

14. Cámara web conectada al puerto USB de la BB

15. Captura de la cámara web

7. Acceso a los datos recogidos por la caja nido.

Mediante la interfaz web que hemos realizado en la BB podemos acceder a la imagen

de la cámara del nido, a las lecturas del sensor de temperatura, los códigos RFID leídos,

y así como activar el servo de forma remota. Se accede en la dirección

http://IP_BB:8080/horus.php, donde IP_BB es la dirección IP de la BB en la interfaz

Page 42: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

42

eth0 (en el acceso por USB se utiliza la IP 192.168.7.2). Además podemos acceder por

FTP a los datos guardados en la BB en la dirección ftp://IP_BB.

En la interfaz web se muestran:

La imagen de la cámara.

El último registro de temperatura y RFID leído.

Un botón para activar el servo.

Enlaces para los registros almacenados de temperatura, lecturas RFID y

activaciones del servomecanismo.

16. Interfaz web caja nido tipo B (1)

Page 43: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

43

17. Interfaz web caja nido tipo B (2)

Los datos de temperatura, RFID y activaciones del servo contenidos en los ficheros de

la BB pueden almacenarse en una base de datos. En 2015 se instaló una caja tipo B en

el primillar de la EBD para probar este tipo de caja nido y se utilizó con base de datos

MySQL con el esquema de la imagen siguiente. Para introducir los datos en la base de

datos se realizó un programa para parsear los ficheros de datos de la BB

periódicamente accediendo desde el servidor de Horus en la EBD.

18. Esquema de la base de datos de la caja nido que se instaló en el primillar

Page 44: Cajas Nido Inteligentes - horus.ebd.csic.eshorus.ebd.csic.es/wphorus/wp-content/uploads/2016/01/Cajas-Nido... · Base de datos. 6 ... usando ya que disponemos de una fuente de 5V

44

8. Enlaces y referencias.

1. Manual de referencia de la Beaglebone Black y página web de Beagleboard.

2. Utilización de batería LiPo con Beaglebone Black.

3. Sensor de temperatura (datasheet) y servidor de vídeo (manual de usuario)

4. Información sobre el acceso a los datos de la caja nido que se instaló en el

primillar: archivo de txt.

5. Recopilación de enlaces Horus.

6. Esquemas de KiCad de la placa diseñada para añadir a la BB: enlace de Google

Drive.

7. Web monotorización de Horus con Nagios (requiere usuario y contraseña).

8. Guía rápida de Nagios para Horus (documento de Google Drive)