viernes, 24 de febrero de 2017

Implementación de un Paso de Peatones con Sensores Inteligentes de Bajo Coste. Parte II

Sistema Software

 El sistema software esta compuesto por dos subsitemas principales:
  • Software presente en el nodo central
  • Software presente en los nodos terminales
Sofware Nodo Central
Se parte de que el nodo central está formado por el ciruicto Raspberry Pi3 tiene instalado el sistema operativo Raspbian.
A continuación es necesario instalar el servidor y cliente MQTT 
Instalar Mosquitto MQTT
 (abrir terminal)

>> sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
>> sudo apt-key add mosquitto-repo.gpg.key
>> cd /etc/apt/sources.list.d/
>> sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list
>> sudo apt-get update
>> sudo apt-get install mosquitto mosquitto-clients python-mosquitto
>> sudo apt-get install python-pip
>> pip install paho-mqtt 

Para comprobar que se ha instalado todo correctamente, abrir dos terminales. 
En una de ellas introducir el siguiente comando:

>> mosquitto_sub -h 192.168.0.5 -v -t "hello/world"

En el otro:  

>> mosquitto_pub -h 192.168.0.5 -t "hello/world" -m "Hello from Terminal 2!"
(192.168.0.5: IP de la interfaz Ethernet de la Raspberry)

En la primera debería aparecer el mensaje  "Hello from Terminal 2!"

Para monitorizar los eventos que se producen se ha desarrollado un programa Python, tambien, capaz de enviar los distintos eventos y de detectar cuando hay un peaton a través de los eventos. Dicho programa pesee una sola pantalla con una interfaz implementada con la librería TKinter.
Enlace al código Python
Librería TkInter 
paho MQTT
 
  • En la parte superior izquierda se muestra una caja de texto en la que se notifica la presencia o no de un peaton
  • Mediante los elementos de seleccion y el boton que aparecen a continuacion es posible enviar un evento al servidor MQTT, el evento dependerá de la seleccion
  • En el area de texto inferior se muestra un monitor de los eventos que suceden en el broker bajo un determinado topic, en este caso: PASOPEATONES/#
Por otro lado se hace necesario establecer una IP estática a la interfaz Ethernet de la RaspBerry, para ello hacer click con el botón derecho sobre el icono de conexiones de la barra principal y entrar en Wireless & Wired Network Settings. A continuación establecer los siguientes parámetros.



El router debe estar configurado para que tenga un rango de IPs reservadavas las cuales no tenga en cuenta el servido DHCP a la hora de las asignaciones automáticas: en este caso tiene reservada desde la 192.168.0.2 hasta las 192.168.168.0.100
 
Si no se dispone de un monitor, es posible controlar la Raspberry por control remoto a través de VNC, para ello introducir en el terminal

>> sudo raspi-config

En el apartado Advanced Options activar la funcionalidad VNC. Desde Windows es posible acceder remotamente utilizando el cliente VNC Viewer. Tambien es posible acceder mediante SSH (utilizando el cliente putty) ya que viene activado por defecto.
Datos de conexion por defecto:
  • [IP]
  • user: pi
  • password: raspberry
<<Anterior 

 

No hay comentarios:

Publicar un comentario