Aprenda cómo empezar a desarrollar e iterar sobre su controlador Tulip Edge
Introducción
- Lo que aprenderás
- Cómo desarrollar tu primer proyecto Edge Driver
- Construir un proyecto
- Actualizar los archivos de manifiesto e índice
- Cómo desarrollar tu primer proyecto Edge Driver
- Qué necesitará (requisitos previos)
- Haber seguido todos los pasos de SDK Create
Cómo empezar
Una vez que haya creado su nuevo Edge Driver con la herramienta create-edge-driver
, ¡está listo para comenzar a implementar su propio código de controlador!
Actualizando manifest.json
En primer lugar, tenemos que definir los eventos y funciones implementados por nuestro controlador. Los eventos del dispositivo se pueden utilizar como disparadores para la lógica en Tulip Apps. Por ejemplo, puede configurar un disparador App como:
"Cuando mi sensor dispara un evento de medición, almacena los datos de temperatura en la variable 'Shop Floor Temperature'".
Los controladores también pueden implementar funciones de dispositivo, que pueden ejecutarse en respuesta a disparadores dentro de una app. Por ejemplo:
"Cuando haga clic en este botón, llama a la función 'Alternar luz' de mi dispositivo".
En este ejemplo, nuestro driver no tendrá funciones, pero disparará un evento llamado "data" cuando nuestro sensor tome una medida. Actualiza la sección functions en tu archivo src/manifest.json dejándola vacía o eliminándola por completo:
json... "functions":``[],...
A continuación actualiza la sección events para definir la forma del evento "data". Este evento será un objeto con dos propiedades flotantes, "temperatura" y "humedad":json... "events": [ { "name": "data", "schema": { "type": "object", "properties": { "temperatura": { "type": "float" }, "humidity": { "type": "float" } } } } ],...
Actualizando index.ts
Ahora vamos a escribir el código del controlador que utiliza el SDK Edge Driver para encontrar y conectarse a un puerto serie, lee los datos serie entrantes, analiza los mensajes JSON, y dispara el evento "data" utilizando fireEvent(). Reemplaza el código de ejemplo en tu archivo src/index.ts con este nuevo código:
serial.onData((data) => { try { const decoder = new TextDecoder(); const stringData = decoder.decode(new Uint8Array(data)); const espData = JSON.parse(stringData.split("ESP: ")[1]); edgeDriverSdk.fireEvent("data", espData); } catch (error) { console.error(error); } });
serial.open();});```Este es un ejemplo muy simple que automáticamente intenta encontrar el dispositivo usando el Product ID del dispositivo USB, una sola vez cuando el driver se inicia. El SDK de Edge Driver también soporta el registro de drivers para ser iniciados cuando nuevos dispositivos son detectados por el sistema, lo que puede ayudar a hacer drivers de producción más robustos.
#### Creación del controlador
Después de actualizar el código del controlador y manifest.json, construya el controlador de nuevo`:npm run build`
Esto generará el archivo JavaScript compilado y empaquetado, así como una copia del manifiesto validado dentro del directorio dist.{height="" width=""}