Tartalomjegyzék:

Tweeting Weather Station: 8 lépés (képekkel)
Tweeting Weather Station: 8 lépés (képekkel)

Videó: Tweeting Weather Station: 8 lépés (képekkel)

Videó: Tweeting Weather Station: 8 lépés (képekkel)
Videó: SEXY PILATES BOOTY in 14 DAYS 🍑 Booty Lift & Shape | 8 min Workout 2024, November
Anonim
Tweeting Weather Station
Tweeting Weather Station

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

Alkatrészek és anyagok
Alkatrészek és anyagok
Alkatrészek és anyagok
Alkatrészek és anyagok
Alkatrészek és anyagok
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

Intel® IoT Invitational
Intel® IoT Invitational
Intel® IoT Invitational
Intel® IoT Invitational

Második díj az Intel® IoT Invitational programban

Ajánlott: