***ADVERTENCIA***: Este tutorial se basa en el Repositorio Contiki creado en 2016 por un desarrollador externo. Los materiales dentro de este tutorial no pueden ser garantizados por el Equipo de Soporte de Ubidots. Si surgen problemas durante su uso del Repositorio Contiki, comuníquese directamente con los desarrolladores de firmware en https://github.com/Zolertia/contiki/.
Re-Mote es una potente placa de desarrollo para construir proyectos y soluciones IoT reales. La placa de hardware Re-Mote IoT fue desarrollada por Zolertia.io con universidades y socios industriales de diferentes países en el contexto de un Proyecto Europeo para crear hardware IoT potente para ciudades inteligentes, logística, iluminación y proyectos industriales. Totalmente compatible con los principales sistemas operativos IoT.
En el siguiente tutorial, Ubidots demostrará cómo configurar y programar el Zolertia RE-Mote para mostrar sus datos de manera eficiente utilizando la Plataforma de Desarrollo de Aplicaciones IoT de Ubidots.
Requisitos
Para completar este tutorial, necesitarás:
Al menos un Zolertia RE-Mote.
Un Router Orion.
Relé.
Paso a Paso
Configuración del Router del Sistema
Configuración del Hardware
Enviando (PUBLICAR) datos a Ubidots
Resumen
1. Configuración del Router del Sistema
1. Clona el repositorio del paquete Zolertia si aún no lo tienes Zolertia contiki. Para clonar el repositorio, ejecuta el siguiente comando en la terminal de tu computadora:
git clone https://github.com/Zolertia/contiki.git
Con el repositorio ya clonado, necesitas actualizar el repositorio ejecutando el siguiente comando:
git submodule update --init
Luego, cambia a la rama Zolertia-Packs
:
git checkout Zolertia-packs
2. Programa los archivos binarios en el Router Orion para conectividad a internet a través de 6lbr y crea una red 6LoWPAN. Para programar un dispositivo, utiliza la imagen cetic_6lbr_router_eth_gw.bin que se puede encontrar en el repositorio previamente descargado.
Primero, necesitas entrar en la carpeta adecuada que es mqtt-node
. Para entrar en carpetas, ejecuta el siguiente comando en la terminal de tu computadora:
cd /contiki/examples/zolertia/tutorial/99-apps/mqtt-node
Ahora que estás en la carpeta correcta, descarga la imagen ejecutando el siguiente comando:
$ python ../../../../../tools/cc2538-bsl/cc2538-bsl.py -e -w -v -a 0x200000 Binaries/router cetic_6lbr_router_eth_gw.bin
En este punto, deberías ver algo como esto:
/contiki/examples/zolertia/tutorial/99-apps/mqtt-node$ python ../../../../../tools/cc2538-bsl/cc2538-bsl.py -e -w -v -a 0x200000 Binaries/router cetic_6lbr_router_eth_gw.bin Abriendo puerto /dev/ttyUSB0, baud 460800Leyendo datos de Binaries/router/cetic_6lbr_router_eth_gw.binArchivo de firmware: Raw BinaryConectando al objetivo...CC2538 PG2.0: 512KB Flash, 32KB SRAM, CCFG en 0x0027FFD4Dirección IEEE primaria: 00:12:4B:00:06:16:0E:52Borrando 524288 bytes comenzando en la dirección 0x00200000 Borrado completadoEscribiendo 524288 bytes comenzando en la dirección 0x00200000Escribiendo 16 bytes en 0x0027FFF0F8 Escritura completada Verificando comparando cálculos CRC32. Verificado (coincidencia: 0x57ee5c91)
3. Conecta el cable Ethernet y alimenta por PoE o USB.
4. Ten en cuenta que el Router Fronterizo también anuncia una dirección IPv6 local (bbbb::/64
como predeterminado), siendo la dirección predeterminada del Router Fronterizo bbbb:100
. Podemos usar esta dirección para comunicarnos con el Router Fronterizo utilizando IPv6.
5. Ahora abre un navegador y usa [bbbb::100]
Este es el servicio web 6lbr; muestra el estado del Router Fronterizo y las opciones de configuración. Puedes gestionar y configurar tanto las redes IPv4/IPv6 como las redes 6LoWPAN, y también gestionar los nodos inalámbricos en la red 6LoWPAN.
6. En la pestaña Configuración encontrarás todos los parámetros de la red, tanto de la red 802.15.4 como de la red Eth. Para este ejemplo, la seguridad está habilitada en la red 6LoWPAN y es necesario habilitarla en el router:
Seguridad de capa de enlace: Pre-compartida
Nivel de seguridad de capa de enlace: AES-CCM-128
Habilitar solución anti-repetición: activado
7. Luego haz clic en "Enviar", lo que reiniciará el Router Orion.
2. Configuración del Hardware
1. El RE-Mote utiliza conectores de 5 y 3 pines conectores. El relé se puede conectar en ADC1, la humedad del suelo debe conectarse en ADC3 porque puede proporcionar 5V en el pin de señal.
3. Enviando (PUBLICAR) Datos a Ubidots
1. En la ruta a continuación encontrarás un ubidots.h código de muestra, que es el encargado de tomar las lecturas de los sensores conectados a la placa y publicar esos valores en Ubidots.
../contiki/blob/Zolertia-packs/examples/zolertia/tutorial/99-apps/mqtt-node/cloud/ubidots.h
2. Luego, asigna tu TOKEN de Ubidots donde se indica en el ubidots.h.
Incluye el token en el encabezado de la plataforma ubidots.h.
3. Verifica en el Makefile que:
MQTT_PLATFORM ?= ubidots
MQTT_SENSORS ?= ubidots_demo
# Opciones de plataforma: relayr, thingsio, bluemix, ubidotsMQTT_PLATFORM ?= ubidots# Opciones de sensores: fridge, coldchain, agriculture, watering, remote, coinbox,flowerpot, smartcities, ubidots_demoMQTT_SENSORS ?= ubidots_demo
4. Compila la aplicación y programa el RE-Mote ejecutando el siguiente comando:
$ make clean && make TARGET=zoul BOARD=remote-revb mqtt-client.upload
En este punto, deberías ver algo como esto:
contiki/examples/zolertia/tutorial/99-apps/mqtt-node$ make clean && make TARGET=zoul BOARD=remote-revb mqtt-client.uploadusando el objetivo guardado 'zoul'rm -f *~ *core core *.srec \ *.lst *.map \ *.cprg *.bin *.data contiki*.a *.firmware core-labels.S *.ihex *.ini \ *.ce *.corm -rf *.zoul symbols.c symbols.h *.d *.elf *.hexrm -rf obj_zoulmkdir obj_zoul CC ../../../../../cpu/cc2538/./ieee-addr.c CC ../../../../../cpu/cc2538/cc2538.lds CC ../../../../../cpu/cc2538/./startup-gcc.c CC ../../../../../apps/mqtt/mqtt.c CC ../../../../../platform/zoul/dev/adc-zoul.c ... ... ... CC ./internals/mqtt-sensors.c CC ./internals/mqtt-res.c CC ./cloud/ubidots.c CC ./device/ubidots_demo.c LD mqtt-client.elfarm-none-eabi-objcopy -O binary --gap-fill 0xff mqtt-client.elf mqtt-client.binFlasheando /dev/ttyUSB0Abriendo puerto /dev/ttyUSB0, baud 460800Leyendo datos de mqtt-client.binArchivo de firmware: Raw BinaryConectando al objetivo...CC2538 PG2.0: 512KB Flash, 32KB SRAM, CCFG en 0x0027FFD4Dirección IEEE primaria: 00:12:4B:00:06:0D:B3:3CBorrando 524288 bytes comenzando en la dirección 0x00200000 Borrado completadoEscribiendo 516096 bytes comenzando en la dirección 0x00202000Escribiendo 8 bytes en 0x0027FFF8F00 Escritura completada Verificando comparando cálculos CRC32. Verificado (coincidencia: 0x2fe9a913)rm obj_zoul/ubidots.o obj_zoul/startup-gcc.o mqtt-client.co obj_zoul/ubidots_demo.o
5. Cuando el RE-Mote esté conectado con el Router, lo encontrarás en la pestaña de Sensores de la lista de dispositivos:
6. Una vez que el RE-Mote esté conectado con el Orion, Ubidots debería crear automáticamente las variables dentro del dispositivo que son identificables utilizando los IDs de Dispositivo proporcionados en el código de muestra:
4. Resumen
Con este simple tutorial, somos capaces de PUBLICAR datos en Ubidots con la facilidad de los Productos Zolertia. Para aprender más sobre diferentes Plataformas IoT para prototipar y desarrollar dispositivos conectados que pueden convertirse fácilmente en un producto final real en un corto período de tiempo, consulta el Sitio Web de Zolertia.
Ahora es el momento de crear Tableros de Ubidots para visualizar e interpretar tus datos para controlar y monitorear tus máquinas y entornos, manteniendo a tus clientes felices y a ti emocionado por haber sido el integrador de otra solución exitosa.
Otros lectores también han encontrado útil...