Sviluppare SDK

Prev Next

Scoprite come iniziare a sviluppare e iterare il vostro driver Tulip Edge

Introduzione

  1. Cosa imparerete
    1. Come sviluppare il vostro primo progetto di edge driver
      1. Creare un progetto
      2. Aggiornare i file manifest e index
  2. Cosa vi serve (pre-requisiti)
    1. Aver seguito tutti i passaggi di SDK Create

Come iniziare

Dopo aver creato il vostro nuovo driver Edge con lo strumento create-edge-driver, siete pronti per iniziare a implementare il codice del vostro driver!

Aggiornamento di manifest.json

Per prima cosa, dobbiamo definire gli eventi e le funzioni implementate dal nostro driver. Gli eventi del dispositivo possono essere utilizzati come trigger per la logica delle applicazioni Tulip. Ad esempio, è possibile impostare un trigger dell'App come:

"Quando il mio sensore genera un evento di misurazione, memorizza i dati sulla temperatura nella variabile 'Shop Floor Temperature'".

I driver possono anche implementare funzioni del dispositivo, che possono essere eseguite in risposta a trigger all'interno di un'app. Ad esempio:

"Quando faccio clic su questo pulsante, richiama la funzione 'Toggle Light' sul mio dispositivo".

In questo esempio, il nostro driver non avrà funzioni, ma attiverà un evento chiamato "data" quando il nostro sensore effettua una misurazione. Aggiornare la sezione functions nel file src/manifest.json, lasciandola vuota o rimuovendola completamente:

json... "functions":``[],...Quindi aggiornare la sezione events per definire la forma dell'evento "data". Questo evento sarà un oggetto con due proprietà float, "temperatura" e "umidità":json... "eventi": [ { "name": "data", "schema": { "type": "object", "properties": { "temperature": { "type": "float" }, "humidity": { "type": "float" } } } } ],...

Aggiornamento di index.ts

Ora scriviamo il codice del driver che utilizza l'Edge Driver SDK per trovare e connettersi a una porta seriale, legge i dati seriali in arrivo, analizza i messaggi JSON e lancia l'evento "data" utilizzando fireEvent(). Sostituire il codice di esempio nel file src/index.ts con questo nuovo codice:

``jsedgeDriverSdk.SerialPort.listAvailablePorts().then((ports) => { const esp32port = ports.find((port) => port.product_id === 33128); const serial = new edgeDriverSdk.SerialPort(esp32port.path, { baudRate: 115200, });

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();});```Questo è un esempio molto semplice che cerca automaticamente di trovare il dispositivo utilizzando l'ID prodotto del dispositivo USB, una sola volta all'avvio del driver. L'SDK Edge Driver supporta anche la registrazione dei driver da avviare quando il sistema rileva nuovi dispositivi, il che può aiutare a realizzare driver di produzione più robusti.

Creazione del driver

Dopo aver aggiornato il codice del driver e il manifest.json, compilare nuovamente il driver: npm run build

Questo genererà il file JavaScript compilato e distribuito in bundle, nonché una copia del manifest convalidato all'interno della cartella dist.SDK