Sto costruendo un dispositivo IoT usando ESP8266. Il dispositivo alla fine conterrà un paio di motori e vorrei controllarli usando MQTT. Vorrei rendere il dispositivo il più economico possibile, quindi vorrei evitare cose come display e tastiere.
Quindi, quando il dispositivo viene acceso, dovrebbe connettersi al WiFi locale e quindi a un broker MQTT. Ma come fa a sapere dell'SSID locale a cui connettersi e che ne è di nome utente e password? Dal momento che il dispositivo non ha display o tastiera, non c'è modo di inserire queste cose. E come fa l'utente a sapere se il dispositivo è stato in grado di connettersi o meno? Per la risoluzione dei problemi, sarebbe bello se il dispositivo avesse almeno un modo per indicare quale potrebbe essere il problema.
La soluzione a cui ho pensato è di avere un pulsante e un LED sul dispositivo. Il pulsante sarebbe contrassegnato come "config" o simile. Quando si preme il pulsante, il dispositivo inizierà a funzionare come un punto di accesso WiFi con un SSID predefinito. Avrà un server web, quindi l'utente può connettersi con un laptop o un telefono a questo punto di accesso predefinito e inserire le impostazioni della rete locale (SSID, nome utente e password), nonché l'indirizzo per il broker MQTT. Il LED verrà utilizzato per indicare la modalità di funzionamento e anche come indicazione di errore. Ad esempio, quando il LED è acceso fisso tutto è collegato, lampeggi lunghi indicano che è in modalità config, lampeggi brevi indicano che c'è un errore o qualcosa di simile.
La mia domanda è: la soluzione che ho proposto è un modo standard di fare le cose quando si tratta di questo problema? Vale a dire che sembrerà un flusso familiare all'utente o sarebbe meglio in qualche altro modo? Dopo aver fatto un po 'di ricerca, ho trovato ad esempio questo , che sembra essere un flusso utente simile. Sarebbe comunque interessato a sentire quale esperienza hai di questo e sentire come lo risolveresti?
Se si scopre che questo è un modo buono e utile per risolvere questo problema, e poiché è una specie di soluzione generica, sarebbe bello non reinventare troppo la ruota. Sto pensando che potrebbe esserci una biblioteca in grado di fare tutto questo. La libreria verrebbe configurata con il pin di input per il pulsante e il pin di output per il LED, quindi si occuperà del resto. Potrebbe essere basato sulla libreria PubSubClient e basato sul tutorial ESP8266: Connessione al broker MQTT . Quindi c'è una biblioteca che fa questo o qualcosa di simile? Altrimenti prenderò una pugnalata e creerò la mia, ma vorrei sapere cosa c'è prima.
Grazie!