RADIATORE Cooling 610 CPU HP Heatsink 515 Notebook 538456 6043b0065201 001 a01 615 aHxZwAq
Quest’articolo vuole essere una breve guida introduttiva su come creare un accessorio compatibile con HomeKit sfruttando componentistica di riuso ed open source. Alla fine dell’articolo, se avrete seguito correttamente tutti i passi, potrete giocare con un telecomando per il vostro cancello automatico di casa comandabile ed azionabile con Siri / HomeKit. Come bonus, avrete la possibilità di aggiungere un sensore ambientale di umidità/temperatura.
Ingredienti:
1x Raspberry PI3
1x Arduino YUN (opzionale)
1x Telecomando cancello automatico RF 433Mhz
1x Transistor NPN
1x Resistenza 2.2k
1x Qualche cavo
1x DHT22 (opzionale)
5x Pazienza
Background
HomeKit è il protocollo di Apple a cui gli sviluppatori ed aziende che creano hardware e dispositivi per la domotica devono aderire se intendono essere compatibili con l’assistente vocale Siri e l’applicazione Home installati di default su tutti i nuovi dispositivi iOS.
Heatsink CPU 515 Cooling HP 001 615 538456 Notebook 610 RADIATORE 6043b0065201 a01 HomeKit è un protocollo, ovvero una serie di regole e specifiche a cui i propri servizi devono aderire per potere essere integrati in maniera semplice e veloce con i dispositivi Apple. Il protocollo (nella versione developer no-profit) può essere scaricato e studiato liberamente a patto di accettare prima la licenza Apple annessa. Per maggiori informazioni è possibile andare qui:
HomeKit Accessory Protocol (HAP) is Apple's proprietary protocol that enables third-party accessories in the home…developer.apple.com
Concettualmente, per potere creare qualcosa di funzionante (ed utile) con HomeKit è necessario creare due macro componenti che dialoghino tra di loro:
- Un bridge o gateway che parla con il protocollo HomeKit e converte tutti i nostri segnali input / output analogici e digitali in caratteristiche esposte al protocollo HAP.
- Una o più caratteristiche in grado di parlare con il server.
RADIATORE Notebook 001 HP 515 a01 Cooling Heatsink 615 610 538456 CPU 6043b0065201 Tipicamente, le caratteristiche sono oggetti molto semplici ed elementari (lampadine, interruttori, sensori di temperatura, etc.). Per ragioni di costo e compattezza, dunque, risulta difficile potere implementare su di essi anche la logica di dialogo con il server.
Notebook HP RADIATORE 515 6043b0065201 a01 Cooling 615 CPU 538456 610 001 Heatsink La soluzione più comune che viene adottata dalla maggior parte dei produttori è quella di creare un ulteriore indirezione — denominata HUB — che permette di “raccogliere” più dispositivi elementari sotto un unico raccoglitore che poi si occupa ed ha la capacità logica di parlare con il server; la serie smart living di IKEA e quella di Philips funzionano con questo principio. Ne consegue che le caratteristiche sono più leggere ed economiche al prezzo di un ulteriore oggetto da aggiungere alla catena che in verità non è una grossa complicazione o problema, considerando il fatto che riduce il costo complessivo degli oggetti finali, sensibilmente.
Fortunatamente, per quanto riguarda il gateway è già presente da tempo una implementazione open parecchio stabile e modulare, basata su node e che adotta ed implementa tutte le funzionalità e specifiche richieste per creare un Gateway di accessori per HomeKit richieste dal protocollo HAP.
Il funzionamento è molto semplice. Attraverso un file di configurazione si dichiarano gli accessori supportati dal gateway. Questi accessori altro non sono che dei plugin software, rappresentanti particolari caratteristiche esposte. Il file di configurazione è un semplice file JSON e gli accessori sono degli oggetti JSON appartenenti ad un array. Alcuni parametri dei singoli accessori sono obbligatori, altri sono opzionali e dipendono dalle singole implementazioni, essendo dei parametri di inizializzazione specifici.