Project

General

Profile

Esta wiki es de la version antigua pero fue dejada para referencia, muchas cosas ya no son validas, como el servidor bottle que ya no se usa.

API del Servidor (Bottle) en Módulo de ABS

Diccionario

Recursos

  • Bits:

ub2: Output 0
ub1: Output 1
ub0: Output 2
db2: Output 3
db1: Output 4
db0: Output 5

status: estado del módulo ABS
message: estado detallado del Módulo

Verbos

  • urls:

http://192.168.1.XX:8080/status
http://192.168.1.XX:8080/write

  • GET: Para monitoreo del módulo. Indica si Servidor en C está corriendo o no.
user@IGP:~$ curl -XGET http://192.168.1.1:8080/status

Respuesta:

user@IGP:~$ curl -XGET http://192.168.1.1:8080/status
user@IGP:~$ curl -i -XGET http://192.168.1.1:8080/status
{"status": 1, "message": "Module 1 is running"}

Respuesta con Header:

user@IGP:~$ curl -i -XGET http://192.168.1.1:8080/status
HTTP/1.0 200 OK
Date: Mon, 19 Jan 1970 22:55:06 GMT
Server: WSGIServer/0.1 Python/2.6.3
Content-Length: 47
Content-Type: application/json

{"status": 1, "message": "Module 1 is running"}
  • POST: Para enviar Lista de Beams a módulo ABS
curl -XPOST -F beams=!<!( http://192.168.1.1:8080/write
{"status": 1, "Configuration has been successfully sent"}

Conversión de Lista de Beams

  • Para configurar 1 solo módulo ABS, es necesario enviar 6 bits (000000 - 111111), siendo los tres primeros bits para UP y los tres restantes para DOWN. Este conjunto de 6 bits, corresponden a un Beam o Apunte.

BITS (en orden)
ub2: Output 0
ub1: Output 1
ub0: Output 2
db2: Output 3
db1: Output 4
db0: Output 5

  • Sin embargo, una configuración para ABS puede tener más de un solo Beam o Apunte, por lo que es necesario hallar una codificación para reducir la cantidad de bits enviados a los módulos ABS.

  • Se decidió convertir los 6 bits en 1 caracter ASCII. Es decir, cada caracter ASCII respresenta 6 bits (000000 - 111111).

  • Para este objetivo, se obtuvo los valores equivalentes en decimal para cada conjunto de 6 bits (los cuales están en binario). Es decir, los valores de un conjunto de 6 bits va de 000000 - 111111, entonces los valores enteros serían de 0 a 63.

  • Sin embargo, se optó por añadir al número decimal 33 para evitar caracter de "space". De esta manera, los valores enteros sería de 33 a 96.

  • En la siguiente tabla se muestra los valores decimales y sus caracteres ASCII equivalentes:

ascii-codes-table.png View (52 KB) Fiorella Quino, 12/28/2017 08:35 PM

ascii.png View (34.2 KB) Fiorella Quino, 12/28/2017 08:42 PM