Sommario:
- Passaggio 1: parti e materiali
- Passaggio 2: progettazione elettrica
- Passaggio 3: progettazione meccanica
- Passaggio 4: montaggio del telaio: faccia e base
- Passaggio 5: assemblaggio di componenti elettronici e sensori
- Passaggio 6: configurazione di Twitter
- Passaggio 7: software e configurazione
- Passaggio 8: Contribuire all'archivio dei sensori
Video: Tweeting stazione meteo: 8 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
Hai mai desiderato monitorare le condizioni meteorologiche attuali, l'impronta di carbonio, i livelli di rumore e inquinamento della tua città? Vuoi essere un crociato del cambiamento climatico o impostare la tua stazione meteorologica su Twitter e condividere le condizioni meteorologiche locali con il mondo?
Incontra Tweeting Weather IoT Station aka TWIST - una piattaforma di monitoraggio ambientale e acquisizione di dati meteorologici open-source fai-da-te. Lo scopo di TWIST è che gli individui e le comunità possano raccogliere dati su ciò che sta realmente accadendo nel loro ambiente e condividere questi dati sui social media come Twitter.
- TWIST è una piattaforma basata su Internet of Things (IoT).
- Il cervello di TWIST è una Intel Edison Board.
- TWIST è compatibile con una varietà di sensori.
- Tutto il codice, i file di progettazione (schemi e layout PCB) sono Open-Source. Ciò significa che chiunque può contribuire alla piattaforma TWIST condividendo codice e schemi per diversi sensori.
TWIST si compone di tre strati tecnologici:
Il primo strato è una scheda hardware che contiene tutti i sensori meteorologici e ambientali noti come "Scheda sensore". Come suggerisce il nome, trasporta sensori che misurano la composizione dell'aria, la temperatura, l'umidità, la pioggia. È inoltre possibile aggiungere sensori aggiuntivi come attività sismica, indice UV, pressione barometrica, altitudine, lux (luminosità), livelli sonori, velocità e direzione del vento, ecc. Una volta configurata, la Sensor Board è in grado di trasmettere i dati misurati dai sensori al secondo livello. Il secondo livello è la Intel Edison Board che riceve i dati dalla Sensor Board, li elabora e li invia al livello successivo. Il terzo livello collega la tua Edison Board a Internet tramite Wi-Fi utilizzando il modulo wireless sulla scheda Edison e Tweet le condizioni meteorologiche e ambientali attuali.
L'alimentazione al dispositivo può essere fornita da un pannello solare o da un adattatore CA.
Repository controllati dalla versione
Tutti e tre i livelli tecnologici di TWIST sono Open-Source e quindi tutti i file che utilizziamo per il codice, lo sviluppo PCB, la progettazione meccanica, ecc. sono prontamente disponibili sul nostro repository Github.
Partecipazioni al concorso
Intel IoT Invitational
Vorrei ringraziare Intel+Instructables per avermi fornito la Intel Edison Board. Ho intenzione di realizzare molti altri Instructables relativi all'IoT utilizzando la scheda Edison.
#iotweatherstn
Se fai TWIST, non dimenticare di twittare il meteo usando #iotweatherstn. #iotweatherstn può essere un hashtag utilizzato da tutte le stazioni meteo tweeting alimentate da IoT.
Passaggio 1: parti e materiali
QuantitàParteDettagli 1
Intel Edison
con Arduino Breakout Board
1
Sensore di gas combustibile MQ2
1
YL-83
Sensore di pioggia
1
SL-HS-220
Sensore di temperatura e umidità
1
Resistore
32K
4.7K
3 Distanziatori in metallo da 1 pollice
1
Resistore
32K
4.7K
2
Foglio di legno formato A4
Può essere successivamente tagliato a misura
3
Distanziatore in metallo
1 pollice
Passaggio 2: progettazione elettrica
Potenza
L'intero sistema è alimentato da un alimentatore 5V 1A. I sensori (temperatura, umidità, pioggia, gas) assorbono circa 200 mA, l'Edison circa 500 mA, poiché la corrente totale richiesta è inferiore a 1 amp, un'alimentazione da 1 amp dovrebbe funzionare bene. Il LED verde integrato sul pin digitale 13 della scheda Edison viene utilizzato per mostrare lo stato dell'alimentazione.
ControlAn Intel Edison gestisce lo spettacolo per TWIST. L'Edison è montato su una breakout board Arduino, che facilita la lettura dei segnali digitali e analogici dai sensori. L'Edison è collegato al binario 5V tramite un cavo micro USB. L'Edison ha una radio Wi-Fi integrata, che gli consente di connettersi a Twitter senza la necessità di hardware aggiuntivo.
Orologio in tempo reale (RTC)
Poiché la marcatura temporale eseguita automaticamente da Twitter per ogni tweet ha una risoluzione limitata al numero di giorni totali dall'ora del Tweet, viene utilizzato un orologio in tempo reale per marcare accuratamente la data e l'ora nel formato Ora-Minuto- Secondo formato. L'orologio in tempo reale utilizzato nella piattaforma TWIST è il modulo RTC DS-1307.
Sensori La configurazione di base di questo sistema ha quattro sensori (temperatura, umidità, pioggia, gas) che si collegano a Edison. È possibile aggiungere ulteriori sensori come Rumore, Vento, ecc. Ciascun sensore è alimentato direttamente dalla linea 5V e ha il suo pin di segnale collegato rispettivamente ai pin analogici da A0 ad A2 e al pin digitale 2 sulla scheda breakout Edison. I sensori hanno inoltre ciascuno un potenziometro di regolazione della sensibilità montato su ciascuna scheda sensore; L'MQ-2 è un sensore di gas combustibile (gas di petrolio liquefatto, propano, idrogeno e metano) che emette una tensione analogica proporzionale alla concentrazione di gas in parti per milione. L'SL-HS-220 ha un termistore che fornisce il valore della temperatura. Poiché l'uscita del termistore non è lineare, la tabella della temperatura corrispondente è fornita nell'archivio del sensore. Il termistore richiede un circuito divisore di tensione quando è collegato alla scheda Edison come mostrato nello schema elettrico. L'SL-HS-220 dispone anche di un igrometro integrato che misura l'umidità ed emette una tensione analogica che corrisponde a un valore di umidità fisso. La tabella umidità-tensione è presente anche nell'archivio dei sensori. Un sostituto comune all'SL-HS-220 è il sensore DHT11. Il sensore pioggia/sensore acqua ha un potenziometro che viene regolato per fornire un'uscita digitale per una certa quantità di pioggia la cui sensibilità può essere regolata dall'utente.
Stazione meteo.fzz
Passaggio 3: progettazione meccanica
Il corpo del TWIST è costituito da due lastre di fogli di legno. Anche se ho usato compensato da 1/4", il design può essere assemblato da qualsiasi materiale in fogli poiché la spaziatura (mantenuta da distanziatori in alluminio da 1") è l'unico elemento critico. Ho allegato i file vettoriali per il download sopra.
Taglio laser
Per tutti coloro che desiderano tagliare al laser le due lastre, ho allegato i file del taglio laser per il download qui sotto. Include anche un sensore di qualità dell'aria aggiuntivo nel suo design. Quindi puoi utilizzare un modulo sensore MQ2 o un modulo sensore della qualità dell'aria a seconda della tua scelta.
Passaggio 4: montaggio del telaio: faccia e base
Frontalino
I sensori si inseriscono nei rispettivi fori e ritagli e possono essere fissati con viti o colla.
Piastra di base
I distanziatori della scheda Edison sono avvitati sulla piastra di base. Il convertitore analogico-digitale (ADC) che è collegato al sensore pioggia può anche essere avvitato sulla piastra di base.
Sulla piastra di base possono essere avvitati anche componenti aggiuntivi come i cicalini o il circuito di regolazione della tensione per l'ingresso solare.
La piastra base e la piastra frontale sono entrambe separate da distanziatori da 1.
Passaggio 5: assemblaggio di componenti elettronici e sensori
Potenza
L'alimentazione del sistema è fornita da un adattatore a muro con un jack cilindrico standard che è collegato direttamente al connettore Barrel di Edison. Il sistema può essere alimentato anche tramite la porta USB della scheda Edison. Puoi anche alimentare la scheda da un pannello solare esterno.
Sensori
I sensori sono collegati a schede breakout con connettori maschio e quindi possono essere collegati direttamente a Edison tramite ponticelli maschio-femmina.
Passaggio 6: configurazione di Twitter
Per twittare, utilizziamo un'app di terze parti sviluppata da NeoCat che ottiene il token Twitter di cui avrai bisogno per twittare con la tua scheda Edison. I token possono anche essere reperiti dalla pagina Web degli sviluppatori di Twitter.
Quindi, per iniziare, visita il sito Web di NeoCat, segui il suo tutorial per ottenere la libreria di Twitter e il tuo token di Twitter. Come menzionato da NeoCat sul loro sito, per favore non abusare del servizio. Mantieni i tuoi tweet scarsi. Se hai bisogno di qualcosa che twitti ogni 6 secondi, dovresti impostare il tuo server e l'app di Twitter e quindi il codice che ho scritto assicura che il server di NeoCat non si sovraccarichi (TWIST tweets ogni 6 ore).
La libreria utilizza il sito Web di questo NeoCat come server proxy per materiale OAuth. Il tuo tweet potrebbe non essere applicato durante la manutenzione del sito Web di questo NeoCat. Twitter sembra rifiutare i tweet ripetuti con lo stesso contenuto (restituisce l'errore 403).
Gettone Twitter
Libreria Tweet Arduino
Passaggio 7: software e configurazione
Segui la guida all'installazione di Intel per Intel Edsion prima di iniziare a codificare.
Il programma è uno sketch Arduino in esecuzione su Edison. Di seguito ho spiegato ciascuno dei principali blocchi di codice.
Il codice include alcune costanti predefinite, dichiarazioni di pin e un paio di istruzioni di stampa seriale che aiutano nella risoluzione dei problemi.
Ritardo tweet
Poiché Twitter filtra i tweet che hanno lo stesso contenuto e vengono twittati entro brevi periodi di tempo tra ciascuno di essi, è stato impostato un ritardo standard di 3 ore (10800000 millisecondi) tra ogni tweet.
tweetMessage();
ritardo (10800000);
Tipo casting
Molte delle letture che otteniamo dai sensori sono nel tipo di dati "int" o "float". Ma poiché stiamo twittando questi valori, dobbiamo convertirli in un tipo di dati "Stringa". Per questo usiamo una speciale tecnica di Type-casting.
char *dtostrf (doppio val, larghezza del carattere con segno, prec del carattere senza segno, char *sout) {
char fmt[100]; sprintf(fmt, "%%%d.%df", larghezza, prec); sprintf(sout, fmt, val); tornare a sud; }
Token Twitter
Il token Twitter viene creato sul sito Web di NeoCat e deve essere incollato nello spazio token qui.
void tweetMessage() {
Twitter twitter(" INSERISCI QUI IL TOKEN TWITTER ");
Valori del sensore di tweeting
Per twittare il valore del sensore includiamo prima il tipo di sensore; Esempio: "Umidità". Questo seguito da una dichiarazione di carattere e una riga di codice richiesta per il typecasting. Quindi aggiungiamo una dichiarazione per l'unità di misura; Esempio: "%UR". Possiamo continuare ad aggiungere anche i valori di altri sensori in modo simile.
umidità(); galleggiare umido;
//Messaggio Twitter String stringMsg = "Umidità:"; carattere tmp[10]; dtostrf(umido, 1, 2, tmp); stringMsg += tmp; stringMsg += "%RH";
Posizione e etichettatura della stazione meteorologica
Successivamente tagghiamo la posizione (Città, Località, ecc.) E altri tag come #iotweatherstn.
stringMsg += " #Mumbai #Bandra #iotweatherstn ";
Orologio in tempo reale (RTC)
Come spiegato in precedenza, TWIST può anche twittare i dati dell'orologio in tempo reale. Di seguito è riportato un esempio del blocco di codice del parametro "giorno" dell'RTC. La funzione Real Time Clock è opzionale nella piattaforma TWIST poiché il modulo viene fornito separatamente. Quindi c'è un ramo separato creato nel repository TWIST per il codice e gli schemi del ramo Real Time Clock.
TwistDateTime(); DateTime now = rtc.now(); int twistday, twistmonth, twistyear, twisthour, twistmin, twistsec; String stringMsg = ""; char ds1307day[10]; dtostrf(twistday, 1, 0ds1307day); stringMsg += ds1307day; stringMsg += "/";
Limite di 140 caratteri
Questo blocco di codice converte l'array di stringhe in un array di 140 caratteri pronto per twittare.
char msg[140];
stringMsg.toCharArray(msg, 140);
Messaggio e risoluzione dei problemi di connessione
Questo blocco di codice stampa un paio di righe di testo nel monitor seriale per aiutare l'utente a controllare il messaggio e lo stato del tweet.
//Twitta quel coglione!
if (twitter.post(msg)) { int status = twitter.wait(); if (stato == 200) { Serial.println("OK."); Serial.println("Messaggio twittato"); } else { //Test di connessione Serial.print("fallito: codice "); Serial.println("Messaggio non twittato"); Serial.println(stato); } } else { Serial.println("connessione fallita."); Serial.println("Messaggio non twittato"); }
Tutti gli altri blocchi di codice convertono semplicemente la lettura analogica o digitale dai sensori in dati utilizzabili.
Il codice può essere scaricato da qui o dal repository principale:
Stazione meteo.ino
Passaggio 8: Contribuire all'archivio dei sensori
Sei un programmatore, un ingegnere o un designer che ha una grande idea per una nuova funzionalità in TWIST? Forse hai una buona idea per una correzione di bug? Sentiti libero di prendere il nostro codice, schemi e file CAD da Github e armeggiare con esso.
TWIST GitHub
Secondo premio nell'Invito Intel® IoT
Consigliato:
Stazione meteo online (NodeMCU): 7 passaggi (con immagini)
Stazione meteo online (NodeMCU): Ehi ragazzi! Spero che ti sia già piaciuto il mio precedente tutorial "Arduino Robot 4WR" e sei pronto per uno nuovo, come al solito ho realizzato questo tutorial per guidarti passo dopo passo mentre realizzi il tuo progetto elettronico. Durante la realizzazione di questo
Stazione meteo Internet Raspberry Pi: 5 passaggi (con immagini)
Stazione meteo Internet Raspberry Pi: *** Aggiornamento *** Questo Instructable non è aggiornato. I servizi meteo per i dati meteo, utilizzati in questo Instructable, non funzionano più. TUTTAVIA, esiste un progetto alternativo che fa sostanzialmente la stessa cosa (solo meglio - questo Instructa
Stazione meteo fai-da-te e stazione sensore WiFi: 7 passaggi (con immagini)
Stazione meteo fai-da-te e stazione sensore WiFi: in questo progetto ti mostrerò come creare una stazione meteo insieme a una stazione sensore WiFi. La stazione sensore misura i dati di temperatura e umidità locali e li invia, tramite WiFi, alla stazione meteorologica. La stazione meteorologica visualizza quindi t
Orologio WiFi, timer e stazione meteo, controllato da Blynk: 5 passaggi (con immagini)
Orologio WiFi, timer e stazione meteo, controllato da Blynk: questo è un orologio digitale Morphing (grazie a Hari Wiguna per il concetto e il codice morphing), è anche un orologio analogico, una stazione meteorologica e un timer da cucina. È controllato interamente da un App Blynk sul tuo smartphone tramite WiFi. L'app ti consente
Stazione meteo WiFi ESP32 con sensore BME280: 7 passaggi (con immagini)
Stazione meteo WiFi ESP32 con un sensore BME280: cari amici benvenuti in un altro tutorial! In questo tutorial costruiremo un progetto di stazione meteorologica abilitata al WiFi! Useremo per la prima volta il nuovo, impressionante chip ESP32 insieme a un display Nextion. In questo video andiamo