INHOUDSOPGAWE:
- Stap 1: Onderdele en materiaal
- Stap 2: Elektriese ontwerp
- Stap 3: Meganiese ontwerp
- Stap 4: Raamwerk: gesig en basis
- Stap 5: Elektronika en sensormontering
- Stap 6: Twitter -opset
- Stap 7: Sagteware en konfigurasie
- Stap 8: Dra by tot die sensorbewaarplek
Video: Tweeting Weather Station: 8 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Ooit wou u die huidige weerstoestande, koolstofvoetspoor, geraas en besoedelingsvlakke in u stad monitor? Wil u 'n kruisvaardiger vir klimaatsverandering wees, of wil u u eie Tweeting Weerstasie oprig en u plaaslike weersomstandighede met die wêreld deel?
Ontmoet Tweeting Weather IoT Station, ook bekend as TWIST - 'n selfgemaakte, oopbron -omgewingsmonitering en meteorologiese data -verkrygingsplatform. Die doel van TWIST is sodat individue en gemeenskappe data kan versamel oor wat werklik in hul omgewing gebeur en hierdie data op sosiale media soos Twitter kan deel.
- TWIST is 'n platform van Internet of Things (IoT).
- Die brein van TWIST is 'n Intel Edison Board.
- TWIST is verenigbaar met 'n verskeidenheid sensors.
- Alle kode, ontwerp lêers (skematika en PCB uitleg) is oopbron. Dit beteken dat almal tot die TWIST -platform kan bydra deur kode en skemas vir verskillende sensors te deel.
TWIST bestaan uit drie tegnologiese lae:
Die eerste laag is 'n hardeware bord wat al die weer- en omgewingsensors bevat, bekend as die 'sensorbord'. Soos die naam aandui, bevat dit sensors wat die lugsamestelling, temperatuur, humiditeit, reën meet. Bykomende sensors soos seismiese aktiwiteit, UV -indeks, barometriese druk, hoogte, lux (helderheid), klankvlakke, windspoed en rigting, ens kan ook bygevoeg word. Sodra dit opgestel is, kan die sensorbord data wat deur die sensors gemeet is, na die tweede laag stroom. Die tweede laag is die Intel Edison Board wat data van die Sensor Board ontvang, dit verwerk en na die volgende laag stuur. Die derde laag verbind u Edison Board met die internet via Wi-Fi met behulp van die draadlose module op die Edison-bord en Tweet's the Current Weather & Environmental conditions.
Die toestel kan deur 'n sonpaneel of 'n wisselstroomadapter voorsien word.
Weergawe beheerde bewaarplekke
Al drie die tegnologiese lae van TWIST is Open-Source, en dus is al die lêers wat ons gebruik vir kode, PCB-ontwikkeling, meganiese ontwerp, ens beskikbaar op ons Github-bewaarplek.
Kompetisie -inskrywings
Intel IoT -uitnodiging
Ek wil Intel+Instructables bedank dat u die Intel Edison Board aan my verskaf het. Ek is van plan om nog meer IoT -verwante instruksies te maak met behulp van die Edison -bord.
#iotweatherstn
As u TWIST maak, moet u nie vergeet om die weer te tweet met #iotweatherstn nie. #iotweatherstn kan 'n hutsmerk wees wat deur alle IoT -aangedrewe Tweeting -weerstasies gebruik word.
Stap 1: Onderdele en materiaal
QuantityPartDetails 1
Intel Edison
met Arduino Breakout Board
1
MQ2 brandbare gassensor
1
YL-83
Reën sensor
1
SL-HS-220
Temperatuur- en humiditeitsensor
1
Weerstand
32K
4,7K
3 Metal Standoff 1 duim
1
Weerstand
32K
4,7K
2
Houtblad A4 -grootte
Kan later in grootte gesny word
3
Metaal opstand
1 duim
Stap 2: Elektriese ontwerp
Krag
Die hele stelsel word aangedryf deur 'n 5V 1A kragtoevoer. Die sensors (temperatuur, humiditeit, reën, gas) trek ongeveer 200 mA, die Edison ongeveer 500 mA, aangesien die totale benodigde stroom minder as 1 amp is, behoort 'n 1 amp -toevoer goed te werk. Die ingeboude groen LED op die digitale pen 13 van die Edison Board word gebruik om die kragstatus aan te toon.
Beheer: 'n Intel Edison voer die program vir TWIST uit. Die Edison is gemonteer op 'n Arduino -uitbreekbord, wat dit maklik maak om die digitale en analoog seine van die sensors te lees. Die Edison is via 'n mikro -USB -kabel aan die 5V -spoor gekoppel. Die Edison het 'n ingeboude Wi-Fi-radio waarmee u aan die Twitter kan koppel sonder dat u ekstra hardeware nodig het.
Intydse klok (RTC)
Aangesien die tydstempel wat outomaties deur Twitter vir elke tweet uitgevoer word, 'n resolusie het wat beperk is tot die totale aantal dae sedert die tyd van tweeter, word 'n intydse klok gebruik om die datum en tyd in die uur-minuut akkuraat te stempel. Tweede formaat. Die intydse klok wat op die TWIST-platform gebruik word, is die DS-1307 RTC-module.
Sensors Die mees basiese opstelling van hierdie stelsel het vier sensors (temperatuur, humiditeit, reën, gas) wat met die Edison verbind word. Bykomende sensors kan bygevoeg word, soos geraas, wind, ens. Elke sensor word direk van die 5V -spoor aangedryf en sy seinpen is onderskeidelik gekoppel aan analoog penne A0 tot A2 en digitale pen 2 op die Edison -uitbreekbord. Die sensors het ook elkeen 'n sensitiwiteitsverstelling potensiometer op elke sensorbord gemonteer; Die MQ-2 is 'n brandbare gassensor (vloeibare petroleumgas, propaan, waterstof en metaan) wat 'n analoog spanning lewer wat eweredig is aan die konsentrasie van gasse in dele per miljoen. Die SL-HS-220 het 'n termistor wat die temperatuurwaarde gee. Aangesien die uitset van die termistor nie-lineêr is, word die ooreenstemmende temperatuurtabel in die sensorbewaarplek gegee. Die termistor benodig 'n spanningsverdelerkring wanneer dit aan die Edison -bord gekoppel is, soos in die stroombaandiagram getoon. Die SL-HS-220 het ook 'n ingeboude higrometer wat humiditeit meet en 'n analoog spanning lewer wat ooreenstem met 'n vaste humiditeitswaarde. Die humiditeit-spanningstabel word ook in die sensorbewaarplek gegee. 'N Algemene plaasvervanger vir die SL-HS-220 is die DHT11-sensor. Die reënsensor/watersensor het 'n potensiometer wat aangepas is om 'n digitale uitset te gee vir 'n sekere hoeveelheid reën waarvan die sensitiwiteit deur die gebruiker aangepas kan word.
Weerstasie.fzz
Stap 3: Meganiese ontwerp
Die liggaam van die TWIST bestaan uit twee plate houtblaaie. Alhoewel ek 1/4 "laaghout gebruik het, kan die ontwerp uit enige plaatmateriaal saamgestel word, aangesien die spasiëring (gehandhaaf deur 1" aluminium -afstande) die enigste kritieke element is. Ek het die vektorgelêers hierbo aangeheg om af te laai.
Laser sny
Vir almal wat die twee plate met laser wil sny, het ek die lasersnyer -lêers hierby aangeheg om af te laai. Dit bevat ook 'n ekstra luggehalte sensor in sy ontwerp. U kan dus 'n MQ2 -sensormodule of 'n luggehalte -sensormodule gebruik, afhangende van u keuse.
Stap 4: Raamwerk: gesig en basis
Voorblad
Die sensors pas in hul bypassende gate en uitsparings en kan met skroewe of gom vasgemaak word.
Basisplaat
Die afstande van die Edison -bord word op die basisplaat vasgeskroef. Die analoog-na-digitale omskakelaar (ADC) wat aan die reënsensor gekoppel is, kan ook op die basisplaat vasgeskroef word.
Bykomende komponente soos gonsers of die spanningsreguleerderkring vir die sonkrag kan ook op die basisplaat vasgeskroef word.
Die basisplaat en die voorplaat word beide geskei deur 1 standoffs.
Stap 5: Elektronika en sensormontering
Krag
Die krag vir die stelsel word verskaf deur 'n muuradapter met 'n standaard vataansluiting wat direk aan die Edison's Barrel -aansluiting gekoppel is. Die stelsel kan ook deur die USB -poort op die Edison -bord gevoed word. U kan die bord ook van 'n eksterne sonpaneel voorsien.
Sensors
Die sensors word met uitbreidingsborde met manlike kopstukke vasgemaak, en hulle kan dus direk met die Edison verbind word via man-tot-vroulike springdrade.
Stap 6: Twitter -opset
Om te twiet, gebruik ons 'n derdeparty-app wat deur NeoCat ontwikkel is, wat die Twitter-teken wat u nodig het om saam met u Edison-bord te kry, kry. Tokens kan ook afkomstig wees van Twitter se ontwikkelaarswebblad.
Om aan die gang te kom, besoek die webwerf van NeoCat, volg sy/haar tutoriaal om die twitter -biblioteek en u twittertoken te kry. Soos NeoCat op hul webwerf genoem het, moet u die diens nie misbruik nie. Hou u tweets yl. As u elke 6 sekondes iets nodig het, moet u u eie bediener en twitter -app instel, en daarom verseker die kode wat ek geskryf het dat NeoCat se bediener nie oorlaai nie (TWIST tweets elke 6 uur).
Die biblioteek gebruik die webwerf van hierdie NeoCat as 'n instaanbediener vir OAuth -dinge. U tweet mag nie toegepas word tydens die instandhouding van hierdie NeoCat -webwerf nie. Dit lyk asof Twitter herhaalde tweets met dieselfde inhoud verwerp (gee fout 403 terug).
Twitter -teken
Arduino Tweet -biblioteek
Stap 7: Sagteware en konfigurasie
Volg die opstellingsgids van Intel vir die Intel Edsion voordat u begin met kodering.
Die program is 'n Arduino -skets wat op die Edison loop. Ek het elk van die belangrikste kodeblokke hieronder verduidelik.
Die kode bevat 'n paar vooraf gedefinieerde konstantes, penverklarings en 'n paar reeksafdrukstate wat help met die oplos van probleme.
Tweet Vertraag
Aangesien Twitter tweets met dieselfde inhoud uitvee en binne 'n kort tydjie tussen elkeen van hulle getwiet word, is 'n standaardvertraging van 3 uur (10800000 miljard sekondes) tussen elke tweet bepaal.
tweetMessage ();
vertraging (10800000);
Tik Casting
Baie van die lesings wat ons van die sensors kry, is in die 'int' of 'float' datatipe. Maar aangesien ons hierdie waardes tweet, moet ons dit omskakel in 'n 'String' datatipe. Hiervoor gebruik ons 'n spesiale tipe giettegniek.
char *dtostrf (dubbel val, getekende char breedte, ongetekende char prec, char *sout) {
char fmt [100]; sprintf (fmt, "%%% d.%df", breedte, vooraf); sprintf (sout, fmt, val); terugkeer sout; }
Twitter -teken
Die twitter -token word op NeoCat se webwerf geskep en moet hier in die tokenruimte geplak word.
leegte tweetMessage () {
Twitter twitter ("Voer TWITTER TOKEN HIER IN");
Tweet -sensorwaardes
Om die sensorwaarde te tweet, sluit ons eers die tipe sensor in; Voorbeeld: "Humiditeit". Dit gevolg deur 'n tekenverklaring en 'n reël kode wat benodig word vir tikverwerking. Vervolgens voeg ons 'n verklaring by vir die meeteenheid; Voorbeeld: "%RH". Ons kan ook op dieselfde manier waardes van ander sensors byvoeg.
humiditeit (); dryf vogtig;
// Twitter -boodskap String stringMsg = "Humidity:"; char tmp [10]; dtostrf (vogtig, 1, 2, tmp); stringMsg += tmp; stringMsg += "%RH";
Weerstasie se ligging en etikettering
Daarna merk ons die ligging (stad, ligging, ens.) En ander etikette soos #iotweatherstn.
stringMsg += "#Mumbai #Bandra #iotweatherstn";
Intydse klok (RTC)
Soos vroeër verduidelik, kan TWIST ook die real -time klokdata tweet. Hieronder is 'n voorbeeld van die 'dag' -parameterblok kode van die RTC. Die Real Time Clock -funksie is opsioneel in die TWIST -platform, aangesien die module afsonderlik kom. Daarom is daar 'n aparte tak in die TWIST -bewaarplek vir die kode en skemas van die Real Time Clock -tak.
TwistDateTime (); DateTime nou = rtc.now (); int twistday, twistmonth, twistyear, twisthour, twistmin, twistsec; String stringMsg = ""; char ds1307day [10]; dtostrf (twistday, 1, 0ds1307day); stringMsg += ds1307day; stringMsg += "/";
140 Karakterlimiet
Hierdie blok kode dek die stringreeks tot 140 tekensreeks wat gereed is om te tweet.
char msg [140];
stringMsg.toCharArray (boodskap, 140);
Boodskap en verbinding probleemoplossing
Hierdie blok kode druk 'n paar reëls teks in die Serial Monitor af om die gebruiker te help om die boodskap en die tweetstatus na te gaan.
// Tweet daai sukkelaar!
as (twitter.post (msg)) {int status = twitter.wait (); as (status == 200) {Serial.println ("OK."); Serial.println ("Boodskap getwiet"); } anders {// Verbindingstoets Serial.print ("misluk: kode"); Serial.println ("Boodskap nie getweet nie"); Serial.println (status); }} anders {Serial.println ("verbinding misluk."); Serial.println ("Boodskap nie getweet nie"); }
Al die ander blokkies kode omskakel eenvoudig die analoog of digitale lesing van die sensors in bruikbare data.
Die kode kan van hier af afgelaai word of vanaf die hoofbewaarplek:
Weerstasie.ino
Stap 8: Dra by tot die sensorbewaarplek
Is u 'n programmeerder, ingenieur of ontwerper wat 'n goeie idee het vir 'n nuwe funksie in TWIST? Het u miskien 'n goeie idee vir 'n foutoplossing? Gryp gerus ons kode, skemas en CAD -lêers van Github aan en probeer daarmee.
TWIST GitHub
Tweede prys in die Intel® IoT -uitnodiging
Aanbeveel:
Hanging Gear Weather Station: 7 stappe (met foto's)
Hangende weerstasie: In hierdie instruksies gaan ek u wys hoe u u eie weerstasie vir hangende toerusting kan bou, wat bestaan uit CNC-lasersnit MDF-onderdele. 'N Stappermotor dryf elke rat aan en 'n Arduino neem temperatuur- en humiditeitsmetings met behulp van 'n DHT
Simple Weather Station V2.0: 5 stappe (met foto's)
Simple Weather Station V2.0: Voorheen het ek 'n paar soorte weerstasies gedeel wat anders werk. As u nie die artikels gelees het nie, raai ek u aan om dit hier te raadpleeg: Eenvoudige weerstasie met behulp van ESP8266. Kamerweerstasie met behulp van Arduino &
Raspberry Pi Internet Weather Station: 5 stappe (met foto's)
Raspberry Pi internet weerstasie: *** opdatering *** hierdie instruksies is verouderd. Die weerdienste vir die weerdata wat in hierdie instruksies gebruik word, werk nie meer nie. Daar is egter 'n alternatiewe projek wat basies dieselfde doen (net beter - hierdie Instructa
Particle Photon IoT Personal Weather Station: 4 stappe (met foto's)
Particle Photon IoT Personal Weather Station:
Beginnersgids vir ESP8266 en tweeting met behulp van ESP8266: 17 stappe (met foto's)
Beginnersgids vir ESP8266 en tweeting met behulp van ESP8266: Ek het 2 jaar gelede geleer oor Arduino, en ek het begin speel met eenvoudige dinge soos LED's, knoppies, motors, ens. die weer van die dag, aandeelpryse, treintye op 'n LCD -skerm