The e-magazine for KNX home & building control

KNX IoT: Parte 7 – lo stack KNX IoT open-source

Nel settimo di questa serie di articoli su KNX IoT, Bruno Johnson e Wouter van der Beek spiegano lo stack open source KNX IoT.

La trasformazione digitale é stata uno dei maggiori argomenti strategici delle riunioni in agenda dell’esecutivo dell’azienda negli ultimi anni. L’opportunità di sviluppare servizi digitali a partire da applicazioni basate su cloud richiede connessioni di rete basate su protocollo Internet (IPv6) a dispositivi edge che diventano l’interfaccia del cliente. Le aziende di ogni forma e dimensione nel settore dell’automazione degli edifici commerciali hanno chiesto soluzioni IoT wireless per far sì che ciò avvenga, e KNX Association ha risposto rilasciando KNX IoT Point API (KNX IoT), incluso uno stack open-source.

Perché lanciare uno stack open-source?

L’implementazione di un nuovo stack è un’attività costosa L’Associazione KNX ha colto l’opportunità di finanziare l’implementazione dello stack open-source KNX IoT, che è stato implementato da Cascoda per conto dell’Associazione KNX. La licenza open-source è stata scelta in modo tale che tutti possano utilizzare lo stack nei loro prodotti. Poiché lo stack è generico, significa che è necessario un livello di porting per il sistema sottostante. Inoltre, significa che manca il livello applicativo, ad esempio quello che il dispositivo deve fare. Tuttavia, a supporto di ciò vi sono un livello di porting e un livello di applicazione che consentono di creare dispositivi funzionali. Quindi, avere uno stack open-source significa che molti livelli sono già implementati e pronti all’uso.

Componenti dello stack.

Livello di portabilità

La definizione di stack è che esiste un livello di porting per il sistema operativo sottostante. Ciò consente la portablitá a qualsiasi altro sistema. Lo stack supporta due porte per i sistemi operativi: Windows e Linux. Entrambi i sistemi operativi sono utilizzati per convalidare l’implementazione e possono essere usati per mostrare lo stack.

Quando si esegue lo stack su dispositivi basati su Thread, sono attualmente disponibili due porte: una di Cascoda sul modulo Chili e una di Nordic sui moduli basati su Zephyr.

Stack con API di livello applicativo e livello di portanza.

Livello di Applicazione

Il livello dell’applicazione dispone di un’API per creare i punti dati. I datapoint avranno un valore dpt e dpa e useranno un’API per registrare callback per gestire le funzioni GET (e PUT) che dovrebbero essere implementate per il datapoint effettivo. Lo snippet di codice per creare un datapoint è il seguente:

Lo snippet di codice per creare un punto di dati

I prototipi di funzione per i callback GET e PUT sono gli stessi, ma il comportamento è diverso. La funzione GET restituisce solo i dati. La funzione per inviare una variabile booleana globale come payload è rappresentata dalla funzione seguente:

La funzione per inviare una variabile booleana globale come payload.

La funzione PUT avrà un payload in ingresso che deve essere usato per eseguire un’azione; la maggior parte delle volte la funzione PUT non avrà un payload di ritorno, quindi la funzione per analizzare un booleano in ingresso è rappresentata nella funzione seguente:

La funzione per analizzare un booleano nell’input.

Tutte le altre meccaniche fanno già parte dello stack:

  • Implementazione di tutte le tabelle obbligatorie.
  • Inserimento sicuro con Spake.
  • Sicurezza OSCORE.

KNX IoT Virtuale

Sono disponibili anche due applicazioni di esempio che consentono di giocare con KNX IoT. Sebbene siano chiamati dispositivi virtuali, implementano applicazioni KNX IoT reali in esecuzione su un PC e possono essere visti come un gemello digitale. Le applicazioni virtuali possono essere configurate con ETS.

Knx_iot_virtual_pb è un’applicazione a pulsante con feedback. Implementa un pulsante, che dopo la configurazione può inviare un messaggio in modalità s.

Applicazione a pulsante.

Knx_iot_virtual_sa è un’applicazione per attuatori di interruttori. Implementa un attuatore che, dopo la configurazione, può mostrare il valore ricevuto di un messaggio in modalitá s.

Attuatore di commutazione.

Entrambe le applicazioni di esempio sono disponibili come codice su GitHub e GitLab.

Riassunto

KNX IoT può funzionare su qualsiasi sistema operativo e su qualsiasi rete IPv6. Ad esempio, KNX IoT funziona con Wi-Fi b fino a Wi-Fi 6 e con tutte le versioni di Thread.

Lo stack KNX IoT open-source è disponibile gratuitamente e può essere utilizzato per creare dispositivi KNX.

Per i dispositivi basati su thread è necessario un livello di portanza. Attualmente sono disponibili presso Cascoda kit di sviluppo KNX IoT basati su thread che implementano tale porta, oltre a un router per Wi-Fi ed Ethernet. Questo permette di costruire e testare dispositivi KNX IoT fisici tra loro o contro dispositivi virtuali KNX IoT, e le applicazioni di esempio sono liberamente disponibili per chiunque.

Bruno Johnson e Wouter van der Beek sono rispettivamente CEO e COO di Cascoda Limited. Cascoda è un’azienda di comunicazioni che produce radio e moduli semiconduttori sicuri per l’IoT e guida lo sviluppo di standard di comunicazione IoT sicuri per gli edifici e le città intelligenti. I suoi prodotti risolvono i problemi di portata, affidabilità, sicurezza, potenza e scalabilità per l’IoT industriale e commerciale grazie a innovazioni brevettate e ai più recenti standard di sicurezza, tutti integrati in moduli IoT economici a bassissimo consumo.

www.cascoda.com

Screen shots by Cascoda
Figures by Cascoda (on GitHub, as part of the stack documentation)

Condividi su facebook
Share
Condividi su twitter
Tweet
Condividi su linkedin
Share

SPONSORS

LUXA 103 KNX presence detectors


LUXA 103 KNX presence detectors
LUXA 103 presence detectors with a round detection area for individual and open-plan offices, meeting and storage rooms, cellars ...