monkeyserna edited this page Jun 3, 2014 · 6 revisions

Ejecución de comandos

Además de scripts realizados en el bloque de programación gráfica, el servidor de comandos se encarga de recibir y controlar otros dos tipos de mensajes: Comandos Raspberry Pi y Comandos Arduino.

WebSockets

Una vez el dispositivo Android y la Raspberry Pi se encuentran conectados a la misma red, se puede establecer una comunicación entre ellos.

Para ello, se utiliza el protocolo WebSocket. WebSocket es una tecnología que proporciona un canal de comunicación bidireccional y full-duplex sobre un único socket TCP. Está diseñada para ser implementada en navegadores y servidores web, pero puede utilizarse por cualquier aplicación cliente/servidor.

El servidor de WebSocket está alojado en la Raspberry Pi. Se encarga de recibir mensajes, interpretarlos y realizar la tarea asociada al mensaje, ya sea reenviar el comando a Arduino, ejecutar un script realizado en el modo de programación gráfica o cambiar la posición del servomotor.

Por otra parte están los clientes WebSocket, realizados en JavaScript. La aplicación Android está realizada empleando tecnologías web mediante el framework de desarrollo PhoneGap. Las comunicaciones WebSocket se realizan tanto en el modo Drive, como en el modo Code.

Cliente JavaScript

Servidor Python

Comuniciación entre Raspberry y Arduino

Para comunicar estos dos componentes se emplea una comunicación en serie USB a 9600 baudios. La Raspberry Pi envía comandos de 3 bytes de longitud, y recibe las lecturas de los sensores infrarrojos. Para ello, se emplea lenguaje Python.

Python

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.