In che lingua sono scritti i sistemi di smart home?
Questa è una domanda un po' più ampia di quanto si possa pensare. Ci sono così tante parti diverse in un "sistema di casa intelligente", che non c'è modo di scriverle tutte nella stessa lingua.
C'è il singolo componente (interruttore della luce, serratura della porta, sensore, ecc.), l'unità hub (dato che i componenti molto probabilmente non sono in grado di funzionare in Wi-Fi), l'applicazione web back-end e l'applicazione mobile.
Le applicazioni mobili saranno probabilmente scritte in Swift o Objective-C (iOS), Java o Kotlin (Android) o C# (qualsiasi sistema operativo mobile).
Il software dei singoli componenti sarà molto probabilmente scritto in C, ma potrebbe anche essere scritto direttamente in Assembly. Poiché questi dispositivi sono molto poco potenti, il software non può imporre molto overhead. In questi, il C sarebbe più comune.
Gli hub sono probabilmente anche scritti in C, o C++. Ma potrebbero anche essere scritti in Java o C#, o qualsiasi tipo di linguaggio che potrebbe essere eseguito su un dispositivo moderatamente potente (qualcosa di simile a un Raspberry Pi, per quanto riguarda la potenza di calcolo).
I sistemi web backend saranno simili a tutti i sistemi backend. Possono essere scritti in qualsiasi cosa: Java, C#, Python, Ruby, JavaScript. Qualsiasi cosa in cui sarebbe scritta una normale applicazione web. Naturalmente dovrete mischiare HTML, CSS e JavaScript anche qui, dato che questi sono onnipresenti in tutte le applicazioni web.
Tra l'hub e il backend ci saranno altre tecnologie per aiutare con le comunicazioni di massa. Poiché l'applicazione web sarà probabilmente costruita per servire decine di migliaia o centinaia di migliaia di clienti (chiunque abbia un hub con dispositivi collegati ad esso) avrà bisogno di gestire enormi dati in entrata e in uscita. Questo richiederà una coda di messaggistica di qualche tipo (di cui Microsoft Azure e Amazon Web Services offrono entrambi) e naturalmente un database backend, che richiederà SQL per interfacciarsi con.
Ci sono pezzi che sto lasciando fuori, la maggior parte dei quali saranno personalizzati al modo in cui ogni singolo fornitore sceglie di implementare il proprio sistema, da un punto di vista di architettura/infrastruttura, ma questo copre abbastanza bene le parti principali.
Articoli simili
- Ci sono aziende che sviluppano sistemi operativi mobili virtualizzati a distanza, come sistemi operativi come Android e iOS?
- Cosa intendi per 'Street smart' e cosa ti rende 'street smart'? Che tipo di personalità dovrebbe avere una persona street smart?
- Qual è il miglior dizionario di spagnolo per la lingua spagnola della Spagna? E per la lingua spagnola delle Americhe?
- Qual è il modo per convertire i contatti del telefono Android in lingua inglese in lingua Marathi?