Ya nos ha llegado nuestro kit Argon de Particle! Particle, es una plataforma para el desarrollo y despliegue de sistemas IoT de manera rápida y sencilla (no, este post no está patrocinado :P). Aún no lo he probado pero por lo que he podido leer permite conectar las diferentes placas de desarrollo a ‘la nube’ de manera rápida.

Caja del kit Argon

Primer vistazo del entorno Particle

Así de un primer vistazo lo que más me ha sorprendido ha sido la programación OTA y la creación de funciones y variables “online”. Lo primero, la programación OTA, es que podemos dejar la mota conectada a la red donde trabajará y programarla desde la otra punta del mundo, sin que nadie se tenga que desplazar a conectarla por USB. Y lo segundo es algo así como variables y funciones que se ejecutan en la placa hardware pero que realmente se manejan desde la nube.

Por ejemplo creas la variable temperatura conectada a la nube y podrías ver en tiempo real el valor de esa variable en la mota que tu quieras, online. Lo mismo en el sentido contrario, tener una variable que se maneja su valor a través de la web.

Estas dos características nos permiten programar, probar y actuar sobre todas las motas a través de internet sin movernos de casa. Así que una vez desplegadas en sus localizaciones se pueden actualizar sin necesidad de estar físicamente con la mota.

Desde el punto de vista del Hardware, usan como core el mismo que el ESP32, el cual rodean de algunas partes interesantes como es la circuitería para la alimentación y carga de baterías LiPo. Además, parece ser que están programados con su propio OS (Device OS).

A lo largo de este post vamos a ver una introducción a Particle, con el kit Argon, como empezar a trabajar con ellas y los problemas que me voy encontrando.

Instalación

Este proceso recomiendo realizarlo en casa y con una conexión Wifi, ya que durante el proceso necesitaremos descargar aplicaciones para Android y además, estas aplicaciones descargarán más información, como actualizaciones de firmware. Además, la duración del proceso no es de más de 30 minutos (dependiendo de tu conexión)

Lo primero que tenemos que hacer una vez nos llegue nuestro kit Argon es registrarnos en la web Consola de Particle, ya que todo nuestro trabajo software con la plataforma de Particle, va a ser a través de su Web (programación incluida). Los tutoriales y guías están muy bien explicados y es muy fácil seguirlos. De todas formas antes de empezar con el proceso os adelanto que necesitáis tener a mano:

  • El kit Argón de Particle
  • Un cable USB para alimentarlo
  • Un móvil con Android/iOS
  • Un navegador Web

Foto del kit Argon

Una vez que tenemos todo listo los pasos nos vienen marcados por el proceso de instalación del nuevo dispositivo, al cual se accede a través de https://setup.particle.io/. Una vez elijamos el dispositivo, nos pedirá instalar una aplicación en el móvil. Esta aplicación sirve para hacer una foto al código QR de la mota, enlazarla con nuestro perfil en Particle y para hacer la primera actualización del firmware.

Primeras pruebas

Una vez que tenemos la mota enlazada con nuestra cuenta, podremos acceder a ella a través de nuestra consola de Particle (https://console.particle.io/). En la consola podremos encontrar el IDE online desde el cual podemos programarla. Ya trae algunos ejemplos de como usar bastantes de sus características como son las variables y funciones “online”, y la subscripción y generación de eventos. Os recomiendo echarle un vistazo a todas ellas, por ejemplo vamos a ver como utilizar el ejemplo 3 – Function Variable .

Nuestra primera función online

Vamos a usar una de las cosas que a mi, personalmente, más me gustan: las funciones online. Vamos a usar el ejemplo 3 que viene con el IDE de Particle (https://build.particle.io/).

Lo más interesante de este código está en la línea 23. En ella se define una función que aparecerá en la web como “led” y que estará conectada a la función de C: “ledToggle”.

1
Particle.function("led",ledToggle);

Una vez dentro de la función vemos que se encarga de recibir el comando en modo texto y en función de si es “on” o “off” enciende o apaga todos los LEDs.

1
2
3
4
5
6
7
8
9
10
11
12
13
    if (command=="on") {
        digitalWrite(led1,HIGH);
        digitalWrite(led2,HIGH);
        return 1;
    }
    else if (command=="off") {
        digitalWrite(led1,LOW);
        digitalWrite(led2,LOW);
        return 0;
    }
    else {
        return -1;
    }

Por lo tanto ahora, podemos ir a nuestra lista de dispositivos, y al seleccionar el que acabamos de programar con el ejemplo 3, nos aparecerá una función “led” listada a la derecha. Si hacemos click sobre ella podremos enviar nuestro comando y ver como se ejecuta en tiempo real. Si vamos a la función “led”, escribimos “on” y le damos a llamar, podremos ver como se enciende nuestro led. Mientras que si hacemos lo contrario, y escribimos “off”, nuestro led se apagará.

Este ejemplo es muy tonto, pero me parece que muestra bastante bien el poder y la capacidad de estas pequeñas tarjetas. En el siguiente post y en mi Twitter podréis saber para que proyecto voy a usar esta nueva plaquita :D, estad atentos!

Categorías: Programacion

Gluón

Teleco con ganas de aprender más y compartirlo. Viajero empedernido y amante de la fotografía y la tecnología. Espero dejar mi granito de arena y que este pueda servir de ayuda.