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 5status: 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: