Gateway - Juanma24-/CoapLowConsumeSensortag GitHub Wiki
Build
Para realizar el build del firmware del gateway es necesario utilizar la copia de Contiki que contiene este proyecto
(se añadirá en unos días) ya que Contiki por defecto no da soporte a la plataforma cc2538-cc1200-eth. En caso de no querer hacer uso de esta copia de Contiki se debe copiar la carpeta cc2538-cc1200-eth del directorio /contiki/platform/ al mismo directorio en su copia de Contiki.
El software original de esta plataforma y las instrucciones para modificar la versión de contiki pueden ser descargadas desde la página web del fabricante.
Al igual que con el archivo make del Sensortag, si se ha modificado la ruta a los archivos será necesario modificar
la línea Contiki = ../../../..
para hacerla coincidir con la raíz del sistema de directorios de Contiki.
Una vez modificado el archivo make se debe abrir una ventana de terminal con la ruta de la carpeta border-router
e introducir la siguiente orden:
make border-router TARGET=cc2538-c1200-eth
Esta vez el firmware del dispositivo será modificado con el archivo .bin resultante de la operación anterior.
Upload Firmware
Para cargar el nuevo firmware en el gateway es necesario utilizar una de las herramientas de las que dispone Contiki llamada cc2538-bsl. Así seguimos los siguientes pasos para configurar el gateway:
- Conectar el gateway mediante USB al PC y entrar en modo Bootloader. Se consigue pulsando el botón de selección del Gateway mientras se hace un reset.
- Se abre una nueva ventana de terminal con la siguiente ruta (dentro del directorio raíz del proyecto) y se ejecuta la orden:
cd /tools/cc2538-bsl
sudo python cc2538-bsl.py -e -w -v -b 460800 -p /dev/ttyUSB0 /path/to/file.bin
Sustituyendo /path/to/file.bin
por la ruta hasta el archivo .bin generado anteriormente. Se recomienda copiar el .bin al directorio de cc2538-bsl para facilitar y reducir el código de la línea (menos trabajo).
Los argumentos de entrada al programa son los siguientes:
- -e: Erase. Borra la memoria antes de cargar el nuevo firmware.
- -w: Write. Escribe el nuevo firmware.
- -v: Mode verbose. Facilita el debug.
- -b [num]: Baud rate. La baud rate del gateway en modo bootloader es 460800.
- -p [port]: Puerto al que está conectado el gateway. Puede obtenerse con el comando
lsusb
. - [Ruta al archivo de firmware]
Uso de SLIP en Gateway
Para usar el gateway es necesario "forzar" la dirección introduciendo un prefijo ipv6 para crear dicha dirección. Se consigue mediante la herramienta (incluida en Contiki) Tunslip6. Las órdenes a ejecutar son las siguientes:
cd /tools/
sudo ./tunslip6 aaaa::1/64
Esta orden forzará el prefijo y se podrá obtener la información del gateway mediante navegador web. Para ello solo es necesario introducir la dirección con el prefijo introducido que el programa devuelve tras completar su objetivo.
Para obtener los datos de debug del gateway se debe conectar mediante puerto serie con el PC usando putty.
Es muy importante arrancar putty en root para evitar problemas de permisos (sudo putty
). Los parámetros son los siguientes:
- Serial En pestaña Serial
- /dev/ttyUSB0
- Baud Rate = 115200
- Data Bits = 8
- Stop Bits = 1
- Parity = None
- Flow Control = None