Notas de estudio de la placa de desarrollo de Alibaba Cloud HaaS100 IoT (6) Sea una luz inteligente --- un ejemplo de desarrollo completo

Resumen: Este artículo combina varios temas del período anterior y diseña y produce una luz inteligente basada en el nuevo firmware de Alibaba Cloud HaaS100. Esta luz inteligente consta de una plataforma en la nube, un terminal de aplicación móvil y un terminal de dispositivo, y básicamente cubre los pasos principales necesarios para un pequeño proyecto de IoT.

Tabla de contenido

1. Registre el dispositivo en la plataforma Alibaba Cloud IoT

2. Escriba la aplicación ligera HaaS100 y grábela

3. Utilice IoT Studio para diseñar y controlar páginas móviles.

4. Utilice Android Studio para diseñar la aplicación Android

5. Prueba

6. Conclusión

 

Articulo de referencia:

1. Pasos básicos para que los principiantes comiencen con la placa de desarrollo Alibaba Cloud Haas100

2. Cómo adaptar el código fuente de la placa de desarrollo haas100 de Alibaba Cloud a la versión python3.7

3. Notas de estudio de la placa de desarrollo de Alibaba Cloud HaaS100 IoT (1) Introducción a los recursos de hardware

4. Notas de estudio de la placa de desarrollo de Alibaba Cloud HaaS100 IoT (2) Control de hardware preliminar: haga que las luces parpadeen

5. Notas de estudio de la placa de desarrollo de Alibaba Cloud HaaS100 IoT (3) Aplicación de luz preliminar: use js para hacer que las luces parpadeen

6. Notas de estudio de la placa de desarrollo de Alibaba Cloud HaaS100 IoT (4) Aplicación ligera preliminar: use javascript para conectarse a la plataforma Alibaba Cloud IoT

7. Notas de estudio de la placa de desarrollo de Alibaba Cloud HaaS100 IoT (5) Pasos para impulsar el código js basado en el firmware actualizado

8. ¿Qué es la herramienta de amplificación Aliyun?

9. Cómo agregar un nuevo dispositivo a la plataforma Alibaba Cloud IoT

10. Introducción a la aplicación de control de Internet de las cosas (1) --- Introducción a varios modos de hacer la aplicación de Internet de las cosas

11. El tema de comenzar con la aplicación de control de Internet de las cosas (2) --- Operación básica de la función de visualización móvil de Alibaba Cloud iot studio

12. Introducción a la aplicación de control de Internet de las cosas (3) --- Utilice una plataforma de terceros para empaquetar páginas web en la aplicación

13. El tema de comenzar con la aplicación de control de Internet de las cosas (4) --- Use android studio para crear un marco de aplicación para la página de control

15. El tema de cómo comenzar con la aplicación de control de Internet de las cosas (5) --- Use android studio para escribir directamente la aplicación de control de Internet de las cosas


Plataforma de hardware: HaaS100.

Plataforma de software: win7 x64, amp-win, notepad ++, vscode, IoT Studio

 

1. Registre el dispositivo en la plataforma Alibaba Cloud IoT

Referencia de luz de pasos detallados: cómo agregar un dispositivo a la plataforma Alibaba Cloud IoT

Preste atención a la diferencia entre "producto" y "equipo". Cuando se agrega un nuevo producto, se establecerá el "atributo" de este tipo de producto, y el nuevo "equipo" de este tipo de producto tendrá el mismo "atributo de producto" sin importar cuánto se agregue. ". Después de que el "equipo" se haya agregado con éxito, habrá un "triple" de equipo. Al depurar el equipo de Internet de las cosas, a veces se utiliza el "cuádruple". En cualquier caso, estas cadenas representan la "tarjeta de identificación" de un dispositivo especial. Con la "tarjeta de identificación", se puede demostrar que solo hay un "yo" en el mundo para caminar legalmente por los ríos y lagos, ¿verdad?

En particular, los nuevos dispositivos registrados en la plataforma Aliyun Life Internet of Things (plataforma Feiyan) también se pueden ver y administrar en la plataforma Aliyun Internet of Things.

2. Escriba la aplicación ligera HaaS100 y grábela

Con las "cosas" virtuales de la plataforma Alibaba Cloud IoT --- dispositivos, es necesario hacer un dispositivo real en el mundo real y dejar que se corresponda con los dispositivos en Alibaba Cloud.

Para que los dispositivos reales se correspondan con los dispositivos virtuales de Alibaba Cloud, existen varios requisitos previos: uno debe estar conectado a Internet, ya sea wifi o gprs; el otro, cumplir con las mismas reglas de comunicación, y Alibaba Cloud usa mqtt (de hecho, IBM en ese entonces No esperaba que este material se convirtiera en un estándar internacional en el verdadero sentido del Internet de las cosas actual); el tercero es cumplir con ciertas reglas de cifrado. El cliente MQTT tiene ciertas reglas de cifrado para garantizar que los dispositivos de Internet de las cosas (no un simple Las luces pequeñas pueden ser dispositivos de control en maquinaria grande) seguridad y confiabilidad, cuarto, tienen los mismos "atributos", por ejemplo, los dispositivos virtuales tienen atributos de "interruptor", y este dispositivo real también debe tener un programa de respuesta de "interruptor" correspondiente; En quinto lugar, tiene la misma "tarjeta de identidad" que el dispositivo virtual, es decir, datos triples o cuádruples.

Para lograr los cinco puntos anteriores, se puede lograr a través de una variedad de hardware. Este artículo se basa en la superconveniente placa de desarrollo HaaS100 Internet of Things, que utiliza el método de "aplicación ligera" para desarrollar.

La aplicación Light es una tecnología de desarrollo de IoT desarrollada por el equipo de Alibaba Cloud IoT, que se puede desarrollar con JavaScript.

El código fuente de la aplicación ligera consta de dos archivos, app.js y app.json. El archivo js es la entrada de la lógica empresarial, que puede entenderse como el código fuente; el archivo json es la configuración global, que puede entenderse como la configuración de recursos de hardware, utilizando el popular formato json.

El código fuente del archivo js de este artículo es el siguiente:

/* iot - 阿里云IoT连接平台连接组件示例,产品功能定义:
 * [功能类型] ------ [功能名称] ------ [标志符] ------ [数据类型]
 *   属性            主灯开关        LightSwitch      bool (0-关闭 1-开启) 
 *   服务            开关翻转     ToggleLightSwitch   -
 *   事件            故障上报           Error         参数标志符:ErrorCode
 * */

var iot = require('iot');
var network = require('network');
var gpio = require('gpio');
var net = network.openNetWorkClient();

var productKey = 'a19x7NT4nEn';
var deviceName = 'haas-ltv1';
var deviceSecret = 'e22735c2d28da99c1c9b85**********';

var lightSwitch = 0;

var led1 = gpio.open({
    id: 'LED3',
    success: function() {
        console.log('gpio: open led success')
    },
    fail: function() {
        console.log('gpio: open led failed')
    }
  });

var device;

function createDevice() {
    device = iot.device({
        productKey: productKey,
        deviceName: deviceName,
        deviceSecret: deviceSecret,
        region: 'cn-shanghai',
        success: function () {
            console.log('connect success');
            onConnect();
        },
        fail: function () {
            console.log('connect failed');
        }
    });

    device.on('connect', function () {
        console.log('(re)connected');
    });
    
    /* 网络断开事件 */
    device.on('disconnect', function () {
        console.log('disconnect ');
    });
    
    /* 关闭连接事件 */
    device.on('close', function () {
        console.log('iot client just closed');
    });
    
    /* 发生错误事件 */
    device.on('error', function (err) {
        console.log('error ' + err);
    });
    
    /* 云端设置属性事件 */
    device.on('props', function (payload) {
        console.log('cloud req data is ', payload);
        console.log('LightSwitch ', payload.LightSwitch ? 'ON' : 'OFF');
        /**/
        if (payload.LightSwitch == 1) {
        led1.writeValue(1);
        device.postProps({
            payload: {
                LightSwitch: 1
            }
        })
    }
    if (payload.LightSwitch == 0) {
        led1.writeValue(0);
        device.postProps({
            payload: {
                LightSwitch: 0
            }
        })
    } 
    });
    
    /* 云端下发服务事件 */
    device.on('service', function (id, payload) {
        console.log('received cloud serviceid is ' + id);
        console.log('received cloud req_data is ' + payload);
    });
}

function onConnect() {
    setInterval(function () {
        /** post properties */
        /*device.postProps({
            payload: {
                LightSwitch: 0
            },
            success: function () {
                console.log('postProps success');
            },
            fail: function () {
                console.log('postProps failed');
            }
        });*/
        /** post events */
        /*device.postEvent({
            id: 'Error',
            params: {
                ErrorCode: 'error'
            },
            success: function () {
                console.log('postEvent success');

            },
            fail: function () {
                console.log('postEvent failed');
            }
        });*/
    }, 3000);
}

var status = net.getStatus();

if (status == 'disconnect') {
    net.on('connect', function () {
        console.log('========wifi connected========');
        createDevice();
      });
} else {
    createDevice();
}

net.connect({
  ssid: 'xiao****',
  password: 'li*****'
});

Recordatorio especial, utilice un software de edición adecuado para editar y asegúrese de que el formato de codificación del archivo sea UTF-8. El equivocado puede no tener éxito. . .

El código del archivo json utilizado en este artículo es el siguiente:

{
    "version": "1.0.0",
    "io": {"LED3": {
      "type": "GPIO",
      "port": 36,
      "dir": "output",
      "pull": "pulldown"
}},
    "debugLevel": "ERROR"
  }
  

Después de editar el código fuente, use la herramienta amp para presionar.

Para conocer los pasos específicos, consulte: Notas de estudio de la placa de desarrollo de Alibaba Cloud HaaS100 IoT (5) Pasos para impulsar el código js basado en el firmware actualizado

Después de descargar la herramienta amp-win, puede llamar a teminal a través de vscode para operar, que es más conveniente que la operación de línea de comando en win7.

 

3. Utilice IoT Studio para diseñar y controlar páginas móviles.

Un dispositivo de IoT sin una aplicación de teléfono móvil está incompleto. La plataforma Alibaba Cloud IoT proporciona funciones de operación de visualización móvil, que es la "visualización móvil" del estudio de IoT.

Hace unos meses, esta función también admitía la generación en línea de paquetes de instalación de aplicaciones. Posteriormente, esta función se revisó. La versión actual admite la generación de aplicaciones de "versión de página". Después de la publicación exitosa, puede escribirla a través de un tercero o usted mismo usando Android Studio Un marco de aplicación, simplemente deje que el marco se abra es la página diseñada.

Los pasos específicos pueden referirse a

Introducción a la aplicación de control de Internet de las cosas (2) --- Operación básica de la función de visualización móvil de Alibaba Cloud iot studio

La imagen a continuación es una captura de pantalla del proceso de diseño. El desarrollo de visualización móvil de iot studio proporciona un diseño de aplicación móvil casi sin código. Esta función se encuentra actualmente en versión beta pública y algunas funciones tienen limitaciones.

Si se publica esta página, se requiere la IP pública del nombre de dominio para acceder a ella normalmente. Agregue el nombre de dominio en iot studio (se requiere que se haya presentado correctamente, este proceso es relativamente lento, puede demorar unos 20 días), haga clic en publicar.

Este método de desarrollo tiene una ventaja: solo necesita modificar la página en iot studio, hacer clic en Publicar y luego visitar esta página para convertirse en la última página.

4. Utilice Android Studio para diseñar la aplicación Android

La forma de presentación del desarrollo de visualización móvil de Alibaba Cloud Internet of Things iot studio es solo una página a la que se puede acceder a través de un nombre de dominio. Por ejemplo, en la figura siguiente, hay un control de interruptor en la página. Haga clic en este control para controlar el dispositivo HaaS100 y abrir o cerrar la placa de desarrollo. Especifique luces LED. Al acceder a esta página a través de un navegador móvil, puede controlar el dispositivo real, pero este método no es adecuado para el desarrollo de proyectos reales.

Si realmente desea controlar los dispositivos de IoT en modo APP, puede empaquetar esta página en un paquete de instalación de APK a través de una plataforma de terceros. Si conoce Android Studio, también puede escribir su propio marco.

En teoría, este tipo de aplicación enmarcada no necesita actualizarse después de la instalación, solo es necesario actualizar la página. Después de la publicación, la última página se mostrará automáticamente la próxima vez que se abra. Después de todo, APP es un navegador con una dirección fija.

Para conocer los pasos específicos, consulte los dos artículos siguientes.

Introducción a la aplicación de control de Internet de las cosas (3) --- Utilice una plataforma de terceros para empaquetar páginas web en la aplicación

Tema de entrada de la aplicación de control de Internet de las cosas (4) --- Utilice Android Studio para crear un marco de aplicación de la página de control

5. Prueba

El propósito de la prueba es controlar el encendido y apagado de LED3 en la placa de desarrollo HaaS100 a través de la aplicación móvil. El atributo correspondiente es "LightSwitch".

Después de la prueba, LED3 se puede encender y apagar a través de la aplicación móvil.

6. Conclusión

La placa de desarrollo de Alibaba Cloud HaaS100 IoT es una placa muy buena, adecuada para principiantes y desarrolladores profesionales. La mano de obra de la placa también es muy buena. Algunos proyectos de wifi se pueden fijar directamente a la carcasa de destino para su uso. La fuente de alimentación es muy estable y puede funcionar durante mucho tiempo. Este artículo utiliza un caso simple para explicar paso a paso cómo hacer una luz inteligente de IoT que pueda ser controlada por una aplicación de teléfono móvil. Parece simple, pero aún debe superar concienzudamente todas las dificultades posibles en el proceso de desarrollo. Una vez dominado, se convertirá en un arma de desarrollo.

 

La siguiente es una introducción detallada paso a paso de algunas operaciones básicas, adecuadas para comenzar, y puede omitirla directamente si tiene los conceptos básicos.

1. Pasos básicos para que los principiantes comiencen con la placa de desarrollo Alibaba Cloud Haas100

2. Cómo adaptar el código fuente de la placa de desarrollo haas100 de Alibaba Cloud a la versión python3.7

3. Notas de estudio de la placa de desarrollo de Alibaba Cloud HaaS100 IoT (1) Introducción a los recursos de hardware

4. Notas de estudio de la placa de desarrollo de Alibaba Cloud HaaS100 IoT (2) Control de hardware preliminar: deje que las luces pequeñas parpadeen

5. Notas de estudio de la placa de desarrollo de Alibaba Cloud HaaS100 IoT (3) Aplicación de luz preliminar: use js para hacer que las luces parpadeen

6. Notas de estudio de la placa de desarrollo de Alibaba Cloud HaaS100 IoT (4) Aplicación ligera preliminar: use javascript para conectarse a la plataforma Alibaba Cloud IoT

7. Notas de estudio de la placa de desarrollo de Alibaba Cloud HaaS100 IoT (5) Pasos para impulsar el código js basado en el firmware actualizado

8. ¿Qué es la herramienta de amplificación Aliyun?

9. Cómo agregar un nuevo dispositivo a la plataforma Alibaba Cloud IoT

10. Introducción a la aplicación de control de Internet de las cosas (1) --- Introducción a varios modos de hacer la aplicación de Internet de las cosas

 

11. El tema de comenzar con la aplicación de control de Internet de las cosas (2) --- Operación básica de la función de visualización móvil de Alibaba Cloud iot studio

12. Introducción a la aplicación de control de Internet de las cosas (3) --- Utilice una plataforma de terceros para empaquetar páginas web en la aplicación

13. El tema de comenzar con la aplicación de control de Internet de las cosas (4) --- Use android studio para crear un marco de aplicación para la página de control

15. El tema de cómo comenzar con la aplicación de control de Internet de las cosas (5) --- Use android studio para escribir directamente la aplicación de control de Internet de las cosas

 

Bienvenidos

 

Supongo que te gusta

Origin blog.csdn.net/youngwah292/article/details/112194632
Recomendado
Clasificación