Tartalomjegyzék:
- 1. lépés: Alkatrészek és anyagok
- 2. lépés: Elektromos tervezés
- 3. lépés: Mechanikai tervezés
- 4. lépés: A keret összeszerelése: Face & Base
- 5. lépés: Elektronika és érzékelő összeszerelése
- 6. lépés: A Twitter konfigurálása
- 7. lépés: Szoftver és konfiguráció
- 8. lépés: Hozzájárulás az érzékelőtárhoz
Videó: Tweeting Weather Station: 8 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Valaha is szerette volna nyomon követni városának jelenlegi időjárási körülményeit, szén -dioxid -kibocsátását, zaj- és szennyezettségi szintjét? Szeretne klímaváltozási keresztes lenni, vagy létrehozni saját Tweeting meteorológiai állomását, és megosztani a helyi időjárási viszonyokat a világgal?
Ismerje meg a Tweeting Weather IoT Station nevű TWIST -t - egy barkácsolás, nyílt forráskódú környezeti megfigyelési és meteorológiai adatgyűjtési platformot. A TWIST célja, hogy az egyének és a közösségek adatokat gyűjtsenek arról, hogy mi történik valójában a környezetükben, és osszák meg ezeket az adatokat a közösségi médiában, például a Twitteren.
- A TWIST a dolgok internete (IoT) által működtetett platform.
- A TWIST agya egy Intel Edison Board.
- A TWIST számos érzékelővel kompatibilis.
- Minden kód, tervfájl (sematika és NYÁK-elrendezés) nyílt forráskódú. Ez azt jelenti, hogy bárki hozzájárulhat a TWIST platformhoz azáltal, hogy megosztja a különböző érzékelők kódját és vázlatait.
A TWIST három technológiai rétegből áll:
Az első réteg egy hardverkártya, amely tartalmazza az összes időjárási és környezeti érzékelőt, az úgynevezett „érzékelő táblát”. Ahogy a neve is sugallja, érzékelőket tartalmaz, amelyek mérik a levegő összetételét, hőmérsékletét, páratartalmát, esőt. További szenzorok, mint lizeizmikus aktivitás, UV -index, légnyomás, magasság, lux (fényerő), zajszint, szélsebesség és irány stb. Miután beállította, az érzékelőtábla képes az érzékelők által mért adatokat a második rétegre továbbítani. A második réteg az Intel Edison Board, amely adatokat fogad az érzékelő táblától, feldolgozza és elküldi a következő rétegnek. A harmadik réteg az Edison Boardot az internethez csatlakoztatja Wi-Fi-n keresztül, az Edison-féle vezeték nélküli modul és a Tweet jelen aktuális időjárási és környezeti feltételei segítségével.
A készülék áramellátását napelem vagy hálózati adapter biztosíthatja.
Verzióvezérelt adattárak
A TWIST mindhárom technológiai rétege nyílt forráskódú, így a kódhoz, NYÁK-fejlesztéshez, mechanikai tervezéshez stb. Használt összes fájl könnyen elérhető a Github tárházunkban.
Pályázatok
Intel IoT Invitational
Szeretném megköszönni az Intel+Instructablesnek, hogy rendelkezésemre bocsátotta az Intel Edison Boardot. Azt tervezem, hogy még sok IoT -hoz kapcsolódó utasítást készítek az Edison táblával.
#iotweatherstn
Ha TWIST -et készít, ne felejtse el tweetelni az időjárást az #iotweatherstn használatával. A #iotweatherstn hashtag lehet, amelyet minden IoT -alapú Tweeting időjárás -állomás használ.
1. lépés: Alkatrészek és anyagok
QuantityPartDetails 1
Intel Edison
az Arduino Breakout Board segítségével
1
MQ2 éghető gáz érzékelő
1
YL-83
Esőérzékelő
1
SL-HS-220
Hőmérséklet és páratartalom érzékelő
1
Ellenállás
32K
4,7 ezer
3 Metal Standoff 1 hüvelyk
1
Ellenállás
32K
4,7 ezer
2
Falap A4 méretben
Később méretre vágható
3
Metal Standoff
1 hüvelyk
2. lépés: Elektromos tervezés
Erő
A teljes rendszert 5V 1A tápegység táplálja. Az érzékelők (hőmérséklet, páratartalom, eső, gáz) körülbelül 200 mA, az Edison 500 mA körüli feszültséget fogyasztanak. Mivel a teljes szükséges áram kisebb, mint 1 amp, az 1 amperes tápegységnek tökéletesen kell működnie. Az Edison Board 13. digitális tüske beépített zöld LED -je az áramellátás jelzésére szolgál.
Az Intel Edison vezeti a műsort a TWIST számára. Az Edison egy Arduino megszakító kártyára van szerelve, amely megkönnyíti a digitális és analóg jelek olvasását az érzékelőkből. Az Edison mikro USB -kábelen keresztül csatlakozik az 5V -os sínhez. Az Edison beépített Wi-Fi rádióval rendelkezik, amely lehetővé teszi, hogy további hardver nélkül csatlakozzon a Twitterhez.
Valós idejű óra (RTC)
Mivel a Twitter által minden egyes tweetre automatikusan végrehajtott időbélyegzés felbontása a tweetelés óta eltelt összes napra korlátozódik, valós idejű órát használunk a dátum és az idő pontos bélyegzésére az óra-percben. Második formátum. A TWIST platform valós idejű órája a DS-1307 RTC modul.
A rendszer legalapvetőbb beállításaiban négy érzékelő (hőmérséklet, páratartalom, eső, gáz) található, amelyek az Edisonhoz csatlakoznak. További érzékelők is hozzáadhatók, például zaj, szél stb. Minden érzékelő közvetlenül az 5V -os sínről kapja a tápellátást, és jelzőcsapja az A0 -tól A2 -ig analóg érintkezőkhöz, az Edison megszakítópanelen pedig a 2 -es digitális tűhöz van csatlakoztatva. Az érzékelők mindegyikén van egy érzékenység -beállító potenciométer az egyes érzékelőlapokon; Az MQ-2 egy éghető gáz érzékelő (cseppfolyós kőolajgáz, propán, hidrogén és metán), amely analóg feszültséget ad ki, amely arányos a gázok milliomodrészes koncentrációjával. Az SL-HS-220 termisztorral rendelkezik, amely megadja a hőmérséklet értékét. Mivel a termisztor kimenete nem lineáris, a megfelelő hőmérsékleti táblázat az érzékelőtárban található. A termisztor feszültségosztó áramkört igényel, amikor az Edison Board -hoz van csatlakoztatva, az áramköri rajz szerint. Az SL-HS-220 beépített nedvességmérővel is rendelkezik, amely méri a páratartalmat, és analóg feszültséget ad ki, amely megfelel egy fix páratartalomnak. A páratartalom-feszültség táblázat az érzékelők tárházában is megtalálható. Az SL-HS-220 gyakori helyettesítője a DHT11 érzékelő. Az esőérzékelő/vízérzékelő potenciométerrel rendelkezik, amely úgy van beállítva, hogy digitális kimenetet biztosítson bizonyos mennyiségű eső számára, amelynek érzékenységét a felhasználó állíthatja be.
Időjárás Station.fzz
3. lépés: Mechanikai tervezés
A TWIST teste két lemez lemezből készül. Bár 1/4 "rétegelt lemezt használtam, a kialakítás bármilyen lapanyagból összeállítható, mivel a távolság (1" alumínium alátámasztással fenntartva) az egyetlen kritikus elem. A fentiekhez csatoltam a letölthető vektoros fájlokat.
Lézervágás
Mindazoknak, akik lézerrel szeretnék levágni a két lemezt, csatoltam az alábbiakban letölthető lézervágó fájlokat. Ezenkívül egy további levegőminőség -érzékelőt is tartalmaz. Tehát választásától függően használhat MQ2 érzékelő modult vagy levegőminőség érzékelő modult.
4. lépés: A keret összeszerelése: Face & Base
Előlap
Az érzékelők illeszkednek a megfelelő lyukakba és kivágásokba, és csavarokkal vagy ragasztóval rögzíthetők.
Alaplap
Az Edison -tábla rögzítőelemei az alaplapra vannak csavarozva. Az esőérzékelőhöz csatlakoztatott analóg-digitális átalakító (ADC) szintén az alaplapra csavarozható.
További alkatrészek, például zümmerek vagy a szolár bemenet feszültségszabályozó áramköre is csavarozhatók az alaplemezre.
Az alaplemezt és az előlapot egyaránt 1 -es válaszfalak választják el.
5. lépés: Elektronika és érzékelő összeszerelése
Erő
A rendszer áramellátását egy fali adapter biztosítja, szabványos csőcsatlakozóval, amely közvetlenül az Edison Barrel csatlakozóhoz van csatlakoztatva. A rendszer az Edison -tábla USB -portján keresztül is táplálható. A táblát külső napelemről is táplálhatja.
Érzékelők
Az érzékelők dugós táblákhoz vannak csatlakoztatva, fejfejjel, és így közvetlenül csatlakoztathatók az Edisonhoz férfi-női áthidaló vezetékeken keresztül.
6. lépés: A Twitter konfigurálása
Az Inorder to Tweet alkalmazáshoz egy harmadik féltől származó, a NeoCat által kifejlesztett alkalmazást használunk, amely megkapja azt a Twitter-tokent, amelyre szüksége lesz a Twitteren az Edison-táblával. A tokenek a Twitter fejlesztői webhelyéről is beszerezhetők.
Tehát a kezdéshez látogasson el a NeoCat webhelyére, kövesse az oktatóját, hogy megszerezze a twitter könyvtárat és a twitter tokenjét. Amint a NeoCat megemlítette a webhelyén, kérjük, ne éljen vissza a szolgáltatással. Tartsa ritkán tweetjeit. Ha szüksége van valamire, amely 6 másodpercenként tweetel, akkor állítsa be saját szerverét és twitter alkalmazását, így az általam írt kód biztosítja, hogy a NeoCat szervere ne terheljen túl (TWIST tweetek 6 óránként).
A könyvtár a NeoCat webhelyét használja proxykiszolgálóként az OAuth -tartalmakhoz. Előfordulhat, hogy a tweetjét nem alkalmazzák a NeoCat webhelyének karbantartása során. Úgy tűnik, hogy a Twitter elutasítja az azonos tartalmú ismételt tweeteket (403 -as hibát ad vissza).
Twitter Token
Arduino Tweet könyvtár
7. lépés: Szoftver és konfiguráció
A kódolás megkezdése előtt kövesse az Intel telepítési útmutatóját az Intel Edsion számára.
A program egy Arduino vázlat, amely az Edisonon fut. Az alábbiakban elmagyaráztam a kód legfontosabb blokkjait.
A kód tartalmaz néhány előre meghatározott konstanst, pin deklarációt és pár soros nyomtatási utasítást, amelyek segítenek a hibaelhárításban.
Tweet késleltetés
Mivel a Twitter kiszűri az azonos tartalmú és rövid időn belül tweetelt tweeteket mindegyikük között, a szokásos 3 órás (10800000 milli másodperces) késleltetés van beállítva az egyes tweetek között.
tweetMessage ();
késleltetés (10800000);
Típus Casting
Az érzékelők által kapott leolvasások nagy része az „int” vagy „float” adattípusban található. De mivel tweeteljük ezeket az értékeket, át kell alakítanunk őket „String” adattípusokká. Ehhez speciális típusú öntési technikát alkalmazunk.
char *dtostrf (dupla val, aláírt karakter szélesség, előjel nélküli karakter prec, karakter *dél) {
char fmt [100]; sprintf (fmt, "%%% d.%df", szélesség, prec); sprintf (dél, fmt, val); vissza délre; }
Twitter Token
A twitter token a NeoCat weboldalán jön létre, és be kell illeszteni a token mezőbe.
void tweetMessage () {
Twitter twitter ("ENTER TWITTER TOKEN ITT");
Csipogó érzékelő értékek
Az érzékelő értékének tweeteléséhez először az érzékelő típusát kell megadnunk; Példa: "Páratartalom". Ezt követte egy karakternyilatkozat és egy típuskód, amely a típusküldéshez szükséges. Ezután adjunk hozzá egy kimutatást a mértékegységhez; Példa: "%RH". Folytathatjuk más érzékelők értékeinek hozzáadását hasonló módon.
páratartalom(); úszó nedves;
// Twitter üzenet String stringMsg = "Páratartalom:"; char tmp [10]; dtostrf (nedves, 1, 2, tmp); stringMsg += tmp; stringMsg += "%RH";
Időjárás állomás helye és címkézése
Ezután megcímkézzük a helyet (város, hely stb.) És más címkéket, például a #iotweatherstn.
stringMsg += "#Mumbai #Bandra #iotweatherstn";
Valós idejű óra (RTC)
Amint azt korábban kifejtettük, a TWIST a valós idejű óra adatait is tweetelheti. Az alábbiakban egy példa látható az RTC kód „nap” paraméterblokkjára. A valós idejű óra opcionális a TWIST platformon, mivel a modul külön kapható. Ezért a TWIST adattárban külön ág jött létre a Real Time Clock ág kódjaihoz és sematikáihoz.
TwistDateTime (); DateTime now = rtc.now (); int twistday, twistmonth, twistyear, twisthour, twistmin, twistsec; Karakterlánc stringMsg = ""; char ds1307day [10]; dtostrf (twistday, 1, 0ds1307day); stringMsg += ds1307day; stringMsg += "/";
140 Karakterkorlát
Ez a kódblokk a karakterlánc -tömböt 140 karakter tömbvé alakítja, amely készen áll a tweetelésre.
char msg [140];
stringMsg.toCharArray (msg, 140);
Üzenet és kapcsolat hibaelhárítása
Ez a kódblokk kinyomtat néhány sornyi szöveget a Soros monitorban, hogy segítsen a felhasználónak ellenőrizni az üzenetet és a tweet állapotát.
// Tweeteld azt a balekot!
if (twitter.post (msg)) {int status = twitter.wait (); if (állapot == 200) {Serial.println ("OK"); Serial.println ("Üzenet tweetelve"); } else {// Kapcsolat teszt Serial.print ("nem sikerült: kód"); Serial.println ("Az üzenet nincs tweetelve"); Serial.println (állapot); }} else {Serial.println ("a kapcsolat nem sikerült"); Serial.println ("Az üzenet nincs tweetelve"); }
A többi kódblokk egyszerűen átalakítja az érzékelőkből származó analóg vagy digitális leolvasást használható adatmá.
A kód letölthető innen vagy a fő adattárból:
Időjárás Station.ino
8. lépés: Hozzájárulás az érzékelőtárhoz
Ön programozó, mérnök vagy tervező, akinek remek ötlete van a TWIST új funkciójával kapcsolatban? Esetleg van valami jó ötlete a hibajavításra? Nyugodtan vegye le kódunkat, sematikáinkat és CAD fájljainkat a Githubról, és bánjon vele.
TWIST GitHub
Második díj az Intel® IoT Invitational programban
Ajánlott:
Hanging Gear Weather Station: 7 lépés (képekkel)
Lógó fogaskerék időjárás állomás: Ebben az utasításban megmutatom, hogyan kell felépíteni saját függesztett időjárás állomását, amely CNC lézervágott MDF alkatrészekből készül. Egy léptetőmotor hajt minden fokozatot, az Arduino pedig hőmérséklet- és páratartalom -mérést végez DHT -vel
Simple Weather Station V2.0: 5 lépés (képekkel)
Egyszerű meteorológiai állomás V2.0: Korábban megosztottam néhány típusú időjárás -állomást, amelyek eltérő módon működtek. Ha még nem olvasta ezeket a cikkeket, azt javaslom, nézze meg itt: Egyszerű időjárásállomás ESP8266 használatával. Szoba meteorológiai állomás az Arduino &
Raspberry Pi Internet Weather Station: 5 lépés (képekkel)
Raspberry Pi Internet Weather Station: *** Frissítés *** Ez az Instructable elavult. Az ebben az utasításban használt időjárási adatok időjárási szolgáltatásai már nem működnek. Azonban van egy alternatív projekt, amely alapvetően ugyanazt teszi (csak jobban - ez az utasítás
NaTaLia Weather Station: Arduino Solar Powered Weather Station Helyesen: 8 lépés (képekkel)
NaTaLia Weather Station: Arduino Solar Powered Weather Station Helyesen: 1 év sikeres működés után 2 különböző helyen megosztom napelemes időjárás -állomási projektterveimet, és elmagyarázom, hogyan alakult ki olyan rendszerré, amely valóban képes túlélni hosszú ideig napenergiától. Ha követed
DIY Weather Station és WiFi érzékelő állomás: 7 lépés (képekkel)
DIY időjárás állomás és WiFi érzékelő állomás: Ebben a projektben megmutatom, hogyan hozhat létre időjárás -állomást egy WiFi érzékelő állomással együtt. Az érzékelőállomás méri a helyi hőmérséklet- és páratartalom -adatokat, és WiFi -n keresztül elküldi azokat az időjárás -állomásnak. Az időjárás állomás ekkor megjeleníti a