Ir al contenido principal
Todas las coleccionesConecta tus dispositivos
Conectar cualquier placa Pycom a Ubidots usando Wi-Fi sobre HTTP
Conectar cualquier placa Pycom a Ubidots usando Wi-Fi sobre HTTP

Aprende a configurar y conectar tus placas Pycom a Ubidots a través de WiFi utilizando HTTP.

Sergio M avatar
Escrito por Sergio M
Actualizado hace más de 2 meses


Las placas de Pycom ofrecen una forma fácil de construir aplicaciones de Internet de las Cosas utilizando Wi-Fi, Bluetooth, Lte, LoRa y Sigfox. Si deseas saber un poco más sobre Pycom y sus placas de desarrollo, visita su sitio web en www.pycom.io

Con una placa en mano y un proyecto en mente, este artículo está diseñado para ayudar a conectar tu placa Pycom utilizando Wi-Fi a la nube de Ubidots.

Requisitos

1. Configuración del Hardware

Antes de comenzar, es importante verificar los puntos a continuación para asegurarte de que tu placa esté programada correctamente:

Si esta es tu primera vez trabajando con una placa Pycom, te recomendamos que consultes sus materiales de inicio y luego regreses a esta guía para más instrucciones una vez que te hayas familiarizado más.

2. Configuración del Firmware

  • Configuración del Proyecto

1. Abre el editor Atom y luego, ve a la pestaña de plugins y selecciona "Pymakr" para activar el plugin.

2. Conecta la placa a tu PC y el editor Atom detectará automáticamente la conexión. Una vez que la placa esté conectada, verás el mensaje "conectado" en el estado:

3. Para comenzar, crea un nuevo directorio llamado "ubidots" para gestionar los códigos y bibliotecas. Una vez creado el directorio, en el editor Atom selecciona Abrir un Proyecto, y busca el directorio "ubidots," que fue creado previamente y ábrelo.

4. En el archivo "ubidots" vamos a gestionar las bibliotecas y los códigos main/boot. Por favor, consulta y sigue la estructura a continuación para construir tu proyecto correctamente:

> ubidots  - boot.py  - main.py  > lib    -urequests.py

Primero, vamos a agregar la carpeta para las bibliotecas. Haz clic derecho en la carpeta "ubidots" y selecciona "Nueva carpeta", asigna "lib" como nombre.

Ahora, vamos a agregar los archivos main y boot :

  • Haz clic derecho en la carpeta "ubidots" y selecciona "Nuevo Archivo", asigna "boot.py" como nombre

  • Repite los pasos anteriores para crear el main llamado "main.py":

Una vez que ambos archivos estén creados, la estructura de tu proyecto se verá así:

Para finalizar, tenemos que agregar el archivo de biblioteca en la carpeta "lib":

  • Haz clic derecho en la carpeta "lib" y selecciona "Nuevo Archivo", asigna como nombre "urequests.py"

Una vez que se crea el archivo de biblioteca, la estructura final del proyecto debería ser así:

NOTA: Si estás importando una biblioteca y después de compilar recibes un mensaje como el siguiente, es porque estás utilizando una biblioteca externa y el archivo necesita estar presente junto a boot.py y main.py. Por esta razón, agregamos previamente el archivo de biblioteca.

5.- Ahora sincroniza el proyecto. Presiona el icono "Sync" desde la consola, o selecciona Paquetes –> Pymakr –> Sincronizar proyecto.

  • Hora de codificar

Ahora que tenemos el proyecto construido y sincronizado, ¡es hora de codificar!

1.- Copia y pega la biblioteca de este enlace en el archivo "urequests.py". Una vez que hayas pegado el código guárdalo.

2.- A continuación, copia y pega el código a continuación en el archivo "boot.py":

from machine import UARTimport machineimport osuart = UART(0, baudrate=115200)os.dupterm(uart)machine.main('main.py')

Guarda tu código una vez que lo hayas subido al archivo "boot.py" .

3.- A continuación, copia y pega el código a continuación en el archivo "main.py":

from network import WLANimport urequests as requestsimport machineimport timeTOKEN = "Assign_your_Ubidots_token_here" #Pon aquí tu TOKENDELAY = 1  # Retraso en segundoswlan = WLAN(mode=WLAN.STA)wlan.antenna(WLAN.INT_ANT)# Asigna tus credenciales de Wi-Fiwlan.connect("wifi-SSID-here", auth=(WLAN.WPA2, "wifi-password-here"), timeout=5000)while not wlan.isconnected ():    machine.idle()print("Conectado a Wifi\n")# Construye el json para enviar la solicituddef build_json(variable1, value1, variable2, value2, variable3, value3):    try:        lat = 6.217        lng = -75.567        data = {variable1: {"value": value1},                variable2: {"value": value2, "context": {"lat": lat, "lng": lng}},                variable3: {"value": value3}}        return data    except:        return None# Envía la solicitud. Por favor, consulta la referencia de la API REST https://ubidots.com/docs/api/def post_var(device, value1, value2, value3):    try:        url = "https://industrial.api.ubidots.com/"        url = url + "api/v1.6/devices/" + device        headers = {"X-Auth-Token": TOKEN, "Content-Type": "application/json"}        data = build_json("fuel", value1, "position", value2, "speed", value3)        if data is not None:            print(data)            req = requests.post(url=url, headers=headers, json=data)            return req.json()        else:            pass    except:        passwhile True:    fuel = 123 # Valores de datos    speed = 234 # Valores de datos    post_var("pycom", fuel, 1, speed)    time.sleep(DELAY)

Una vez que hayas pegado, asigna tu Token de Ubidots y las credenciales de Wi-Fi donde se indica en el código, y guarda el código cuando termines. Si no sabes cómo encontrar tu TOKEN de Ubidots, consulta este artículo a continuación.

Guarda tu código una vez que lo hayas subido al "main.py" con tus credenciales de Wi-Fi, guarda tu trabajo.

4. Ahora el proyecto está listo para ejecutarse. Pero primero verifica si el proyecto está sincronizado y que todos los códigos están guardados correctamente.

Para ejecutar el proyecto, simplemente presiona el icono "Ejecutar" desde la consola:

Cuando se ejecute correctamente, recibirás algo como lo siguiente:

NOTA: Si recibiste un mensaje de error que hace referencia a ImportError: no module named 'urequests', sincroniza el proyecto nuevamente y luego vuelve a ejecutar el proyecto.

3. Visualización de datos

Ve a la sección de Dispositivos de tu Cuenta de Ubidots y verás un nuevo dispositivo llamado "pycom" que contiene las variables asignadas en el código de muestra proporcionado anteriormente:

4. Resumen

En un par de minutos estás publicando datos en la nube de Ubidots utilizando cualquier placa de Pycom a través de Wi-Fi.

Ahora es el momento de crear un panel de control para controlar y gestionar las variables de tus dispositivos Pycom. Para aprender más sobre los widgets y eventos de Ubidots, consulta estos tutoriales en video.

Otros lectores también han encontrado útil...

¿Ha quedado contestada tu pregunta?