Sommario:

Comunicazione da Arduino a Laravel: 4 passaggi
Comunicazione da Arduino a Laravel: 4 passaggi

Video: Comunicazione da Arduino a Laravel: 4 passaggi

Video: Comunicazione da Arduino a Laravel: 4 passaggi
Video: Comunicazione Seriale tra Arduino e Raspberry (e programmare Arduino da Raspy) 2024, Novembre
Anonim
Image
Image
Comunicazione da Arduino a Laravel
Comunicazione da Arduino a Laravel

Ciao a tutti, In questo Instructable, ti mostrerò come inviare dati da un Arduino a un'applicazione Laravel.

Passaggio 1: Introduzione

introduzione
introduzione
introduzione
introduzione

Ogni volta che abbiamo un progetto che richiede la visualizzazione e la registrazione di alcuni dati, di solito è necessario che i dati siano disponibili sul web. In questo modo possiamo eventualmente monitorare lo stato di un oggetto da remoto o persino controllare i nostri dispositivi da qualsiasi parte del mondo.

Per questo progetto utilizzeremo una scheda NodeMCU v1.0 con un modulo ESP8266 12e a bordo. Inoltre dovremo utilizzare un computer in cui possiamo ospitare la nostra applicazione Laravel. Se vuoi scoprire come è possibile configurare tale ambiente, controlla il mio video su questo.

Passaggio 2: preparare l'applicazione Laravel

Prepara l'applicazione Laravel
Prepara l'applicazione Laravel
Prepara l'applicazione Laravel
Prepara l'applicazione Laravel

Il nostro primo passo è installare Laravel tramite Composer. Non entrerò nei dettagli su come puoi farlo poiché la documentazione lo spiega in dettaglio e puoi trovarlo qui.

Per mantenere questa demo semplice, all'interno di Laravel registreremo le informazioni inviate da Arduino in un file di testo in modo da poterle rivedere in seguito. Per questo creeremo prima una nuova route POST nel file " api.php ". Nella richiamata, inseriremo i dettagli della richiesta in modo da poter successivamente recuperare i parametri inviati.

Per scrivere su un file, sto usando la facciata di archiviazione di Laravel con il suo pratico metodo di aggiunta. Quando viene chiamato, questo metodo riceve un nome file e dati di stringa in cui aggiunge questi dati al file specificato. Se il file non è presente, viene creato alla prima chiamata.

I dati che scriviamo in ogni riga sono costituiti dalla data e dall'ora correnti, seguiti dai valori di richiesta per la temperatura e l'umidità. Se disponi di più di questi valori, puoi ripetere lo stesso processo di recupero per tutti.

Passaggio 3: preparare il mittente Arduino

Prepara il mittente Arduino
Prepara il mittente Arduino
Prepara il mittente Arduino
Prepara il mittente Arduino

Vediamo ora il codice Arduino e l'invio dei dati.

Affinché la scheda NodeMCU possa connettersi al nostro WiFi e inviare una richiesta, dobbiamo prima includere diverse librerie nella parte superiore. Successivamente dobbiamo specificare l'SSID della rete a cui ci colleghiamo e la sua password. Se stai usando uno con uno scudo Ethernet, il tuo processo sarà diverso.

Inoltre, salviamo qui l'URL principale del server Laravel che abbiamo appena creato. Nel mio caso questo è l'indirizzo IP del mio computer locale, ma puoi aggiungere qualsiasi URL host in cui il codice è accessibile.

Nella funzione di configurazione, avviamo la comunicazione seriale in modo da poter monitorare cosa sta succedendo. Inoltre, dobbiamo configurare la scheda NodeMCU in modo che possa connettersi correttamente al WiFi. Fatto ciò, possiamo avviare la connessione e attendere fino a quando non riceviamo un indirizzo IP dal router.

Per questo esempio, in realtà non ho alcun sensore collegato alla scheda. Invece sto solo generando alcuni dati casuali usando la funzione casuale e li sto inviando.

Questi dati devono essere preparati sotto forma di stringa di query e dopo l'avvio della richiesta HTTP, è necessario inviarli utilizzando il metodo POST sul client HTTP. L'intestazione che abbiamo aggiunto prima serve per far sapere al server che ci sono dati nella richiesta che deve raccogliere.

Di conseguenza, otteniamo prima il codice di stato HTTP e poi il payload della risposta. Se tutto è andato liscio, dovremmo ottenere 200 come codice e poiché non abbiamo restituito nulla dalla nostra applicazione Laravel, il payload sarà vuoto.

Se per qualche motivo il codice di stato non è 200, il payload di solito conterrà il messaggio di errore dell'accaduto.

Alla fine, dobbiamo assicurarci di chiudere la richiesta e attendere un certo tempo, 5 secondi nel nostro esempio per ripetere lo stesso processo.

Il risultato è che otteniamo quei valori salvati nel file di testo ad ogni iterazione in modo che possiamo in seguito utilizzarli per visualizzarli o mapparli su un grafico.

Passaggio 4: ulteriori passaggi

Ulteriori passaggi
Ulteriori passaggi

Come puoi vedere, il processo è abbastanza semplice e può essere facilmente ampliato per leggere i valori di diversi sensori e magari scriverli in un database. Il risultato di ciò che puoi costruire con questo è solo limitato dalla tua immaginazione. Per aiutarti a iniziare, di seguito è riportato un collegamento al codice sorgente completo utilizzato nell'esempio.

github.com/bkolicoski/arduino-laravel-comm…

Spero che tu sia riuscito a imparare qualcosa di nuovo da questo Instructable e, se l'hai fatto, fammelo sapere nei commenti, seguimi su Instructables e non dimenticare di iscriverti al mio canale YouTube.

Grazie!

Consigliato: