Come selezionare un semplice server IoT leggero per lo sviluppo?


13

Stiamo esplorando i diversi casi e soluzioni d'uso dell'IoT. Al fine di facilitare l'esplorazione, la sperimentazione, la progettazione, lo sviluppo e il test di possibili soluzioni, sto studiando la possibilità di impostare localmente un semplice server IoT.

Pertanto, vorrei comprendere l'architettura sottostante dei server che servono i dispositivi IoT. In generale i dispositivi IoT collegano il servizio che fornisce servizi ai dati e rende le informazioni disponibili per l'uso da parte di altri dispositivi. Questo è piuttosto semplice.

Per ora i possibili dispositivi periferici IoT useranno il Wi-Fi, ma prevedono di migrare a una bassa velocità di trasmissione dati, protocollo a bassa potenza come ZigBee, BLE o potrebbe essere Z-Wave, a quel punto avrò bisogno di un certo tipo di hub . Il payload dei dati sarà di circa 100 byte, al massimo la trasmissione potrebbe arrivare a una transazione al minuto. I dispositivi periferici IoT caricheranno principalmente dati, con un download occasionale sui dispositivi.

Mi è stato suggerito di esaminare MQTT e RabbitMQ come possibili opzioni. Inoltre sono stato indirizzato alla " Visualizzazione dei messaggi MQTT in un browser in tempo reale " a cui sto esaminando al momento della scrittura.

Ecco alcune domande che ritengo siano correlate:

  • Cosa differenzia un server IoT da un server web, un server di posta o un server FTP?
  • Qual è l'architettura di base di un server IoT di base?
  • Quali caratteristiche sono importanti quando si considera un server IoT semplice e leggero?

Risposte:


6

Risponderò alla tua prima domanda. Penso che sarebbe meglio fare una sola domanda per ... domanda :)

Cosa differenzia un server IoT da un server web, un server di posta o un server FTP?

  • Un server Web comunica HTTP per fornire pagine Web.
  • Un server di posta comunica POP / IMAP / SMTP per scambiare e-mail.
  • Un server FTP comunica il protocollo FTP per il trasferimento di file.

In sostanza sono solo tutti i modi per trasferire informazioni tra un client e un server. Un server IoT non è diverso, parla solo di un protocollo "IoT" per comunicare tra client e server. Le informazioni che vengono trasmesse non sono pagine Web, e-mail o file, sono messaggi come "la temperatura corrente è di 20 ° C". I protocolli di esempio IoT sono MQTTe CoAP.


Ad esempio, il tuo server "IoT" potrebbe essere il "broker MQTT" e questo lo renderebbe un server IoT se usi MQTT per passare i dati intorno ai dispositivi nella tua infrastruttura IoT.
m4l490n,

5

Cosa differenzia un server IoT da un server web, un server di posta o un server FTP?

Come indicato da @ralight, il server IoT funziona con lo stack del protocollo IoT. Ciò non si limita a un livello OSI, in realtà ogni fase è o può essere ottimizzata per l'uso dell'IoT e ovviamente sono necessari nuovi protocolli.

Inoltre è possibile che l'hardware sia atipico: in poche configurazioni un dispositivo di raccolta dati come Raspberry PI può contenere le attività del server in tutto o in parte.

Parzialmente significa nebbia informatica, in cui i dati vengono elaborati dove vengono raccolti e solo i risultati finali vanno al server principale.

Qual è l'architettura di base di un server IoT di base?

Da questo sito alcune specifiche hardware:

Nell'ipotesi ipotetica del tuo caso, supponiamo che 300 client siano mantenuti aperti contemporaneamente sul server e ogni client invii 10 msg / secondo, per un totale di 3000 messaggi al secondo. Credetemi, anche un broker ospitato su dual core con 2 GB di RAM non avrà alcun consumo significativo.

Quindi, hardware di base del server.

Quali caratteristiche sono importanti quando si considera un server IoT semplice e leggero?

Non ho molte idee a riguardo, ma sarei personalmente interessato a sapere se Raspberry PI è sufficiente come una sorta di server MQTT. Ho letto da qualche parte a Quora che Esp8266 non lo è, ma ho visto un normale desktop Linux lavorare su RPI, quindi perché non potrebbe fungere anche da server.

Cosa considerare prima di provare Raspberry sono i requisiti hardware dello stack di servizio selezionato. Con l'hardware normale del server le quantità di memoria al giorno d'oggi sono così alte che non ci saranno problemi.

I 3000 msg / sec menzionati sono relativamente alti rispetto ai casi di test IoT e RPI3 ha 1G di RAM. Questo è la metà, quindi dipende dal fatto che i messaggi riempiano la memoria in quel caso o di quanto l'MQTT nudo abbia bisogno. Ciò influenza quanto sarebbe adatto.


1
Sembra che non ci siano problemi con RPI come server: iot.stackexchange.com/questions/1858/…
mico
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.