Obsah:

Meteorologická stanice Tweeting: 8 kroků (s obrázky)
Meteorologická stanice Tweeting: 8 kroků (s obrázky)

Video: Meteorologická stanice Tweeting: 8 kroků (s obrázky)

Video: Meteorologická stanice Tweeting: 8 kroků (s obrázky)
Video: Mým úkolem je pozorovat les a tady se děje něco zvláštního. 2024, Listopad
Anonim
Tweetingová meteorologická stanice
Tweetingová meteorologická stanice

Chtěli jste někdy sledovat aktuální povětrnostní podmínky ve vašem městě, uhlíkovou stopu, hladinu hluku a znečištění? Chcete být Climate Change Crusader nebo si nastavit vlastní Tweetingovou meteorologickou stanici a sdílet své místní povětrnostní podmínky s celým světem?

Seznamte se s Tweeting Weather IoT Station aka TWIST - DIY, open -source platforma pro monitorování životního prostředí a získávání meteorologických dat. Účelem TWIST je, aby jednotlivci a komunity mohli shromažďovat data o tom, co se ve skutečnosti děje v jejich prostředí, a sdílet tato data na sociálních médiích, jako je Twitter.

  • TWIST je platforma založená na internetu věcí (IoT).
  • Mozek TWIST je Intel Edison Board.
  • TWIST je kompatibilní s řadou senzorů.
  • Veškerý kód, návrhové soubory (schémata a rozložení DPS) jsou Open-Source. To znamená, že kdokoli může přispět na platformu TWIST sdílením kódu a schémat pro různé senzory.

TWIST se skládá ze tří technologických vrstev:

První vrstva je hardwarová deska, která obsahuje všechny senzory počasí a prostředí známé jako 'Sensor Board'. Jak název napovídá, nese senzory, které měří složení vzduchu, teplotu, vlhkost, déšť. Lze také přidat další senzory, jako je seizmická aktivita, UV index, barometrický tlak, nadmořská výška, lux (svítivost), hladiny zvuku, rychlost a směr větru atd. Jakmile je senzorová deska nastavena, je schopna streamovat data naměřená senzory do druhé vrstvy. Druhá vrstva je Intel Edison Board, která přijímá data ze Sensor Board, zpracovává je a odesílá do další vrstvy. Třetí vrstva spojuje váš Edison Board s internetem přes Wi-Fi pomocí bezdrátového modulu na Edisonově desce a Tweet je Aktuální počasí a podmínky prostředí.

Napájení zařízení může být zajištěno solárním panelem nebo síťovým adaptérem.

Úložiště ovládaná verzemi

Všechny tři technologické vrstvy TWIST jsou Open-Source, a proto jsou všechny soubory, které používáme pro kód, vývoj PCB, mechanický design atd., Snadno dostupné v našem úložišti Github.

Přihlášky do soutěže

Intel IoT Invitational

Chtěl bych poděkovat společnosti Intel+Instructables za poskytnutí desky Intel Edison Board. Mám v plánu vytvořit mnoho dalších instrukcí souvisejících s IoT pomocí desky Edison.

#iotweatherstn

Pokud vytváříte TWIST, nezapomeňte tweetovat počasí pomocí #iotweatherstn. #iotweatherstn může být hashtag, který používají všechny meteorologické stanice napájené z internetu věcí.

Krok 1: Díly a materiály

Díly a materiály
Díly a materiály
Díly a materiály
Díly a materiály
Díly a materiály
Díly a materiály

QuantityPartDetails 1

Intel Edison

s Arduino Breakout Board

1

Senzor hořlavého plynu MQ2

1

YL-83

Dešťový senzor

1

SL-HS-220

Snímač teploty a vlhkosti

1

Odpor

32 tis

4,7 tis

3 Kovový odstup 1 palec

1

Odpor

32 tis

4,7 tis

2

Dřevěný list velikosti A4

Lze později snížit na velikost

3

Kovová patka

1 palec

Krok 2: Elektrický design

Napájení

Celý systém je napájen z 5V 1A zdroje. Senzory (teplota, vlhkost, déšť, plyn) čerpají přibližně 200 mA, Edison kolem 500 mA, protože celkový požadovaný proud je menší než 1amp, napájení 1 amp by mělo fungovat dobře. Vestavěná zelená LED na digitálním pinu 13 Edison Board slouží k zobrazení stavu napájení.

Ovládání Intel Edison spouští show pro TWIST. Edison je upevněn na desce Arduino, která usnadňuje čtení digitálních a analogových signálů ze senzorů. Edison je připojen k 5V liště pomocí kabelu micro USB. Edison má vestavěné Wi-Fi rádio, které mu umožňuje připojení k Twitteru bez potřeby dalšího hardwaru.

Hodiny reálného času (RTC)

Protože časové razítko automaticky prováděné Twitterem pro každý tweet má rozlišení omezené na celkový počet dní od doby tweetování, používají se hodiny v reálném čase k přesnému časovému razítkování data a času v hodinové minutě- Druhý formát. Hodinami reálného času používanými v platformě TWIST je modul DS-1307 RTC.

Senzory Nejzákladnější nastavení tohoto systému má čtyři senzory (teplota, vlhkost, déšť, plyn), které se připojují k Edisonu. Lze přidat další senzory, jako je Noise, Wind atd. Každý senzor je napájen přímo z kolejnice 5V a má svůj signální pin připojený k analogovým pinům A0 až A2 a digitálním pinem 2 na desce Edison Breakout. Senzory také mají každý potenciometr pro nastavení citlivosti namontovaný na každé desce senzoru; MQ-2 je snímač hořlavých plynů (zkapalněný ropný plyn, propan, vodík a metan), který vydává analogové napětí úměrné koncentraci plynů v částech na milion. SL-HS-220 má termistor, který udává hodnotu teploty. Protože je výstup termistoru nelineární, je v úložišti senzorů uvedena odpovídající teplotní tabulka. Termistor vyžaduje obvod děliče napětí, když je připojen k Edison Board, jak je znázorněno na schématu zapojení. SL-HS-220 má také vestavěný vlhkoměr, který měří vlhkost a vydává analogové napětí, které odpovídá pevné hodnotě vlhkosti. Tabulka vlhkosti a napětí je také uvedena v úložišti senzorů. Běžnou náhradou za SL-HS-220 je snímač DHT11. Dešťový senzor/vodní senzor má potenciometr, který je nastaven tak, aby poskytoval digitální výstup pro určité množství deště, jehož citlivost může nastavit uživatel.

Meteorologická stanice.fzz

Krok 3: Mechanický návrh

Tělo TWIST je vyrobeno ze dvou desek z dřevěných plechů. Přestože jsem použil překližku 1/4 ", design lze sestavit z jakéhokoli listového materiálu, protože rozestup (udržovaný 1" hliníkovými distančními sloupky) je jediným kritickým prvkem. Výše jsem připojil vektorové soubory ke stažení.

Laserové řezání

Pro všechny, kteří si přejí řezat obě desky laserem, jsem níže připojil soubory laserových řezaček ke stažení. Ve svém designu také obsahuje další snímač kvality vzduchu. V závislosti na vašem výběru tedy můžete použít buď senzorový modul MQ2, nebo senzorový modul kvality vzduchu.

Krok 4: Sestava rámu: Face & Base

Čelní deska

Senzory zapadají do odpovídajících otvorů a výřezů a lze je upevnit pomocí šroubů nebo lepidla.

Základní deska

Distanční sloupky desky Edison jsou našroubovány na základní desku. Analogově digitální převodník (ADC), který je připojen k dešťovému senzoru, lze také přišroubovat na základní desku.

Na základní desku lze také přišroubovat další součásti, jako jsou bzučáky nebo obvod regulátoru napětí pro solární vstup.

Základní deska a čelní deska jsou od sebe odděleny odstupem 1.

Krok 5: Sestavení elektroniky a senzoru

Napájení

Napájení systému zajišťuje nástěnný adaptér se standardním válcovým konektorem, který je připojen přímo ke konektoru Edison's Barrel. Systém lze také napájet přes USB port na desce Edison. Desku můžete také napájet z externího solárního panelu.

Senzory

Senzory jsou připojeny k rozpojovacím deskám pomocí konektorů s vnějším závitem, a proto je lze přímo připojit k Edisonu pomocí propojovacích kabelů typu male-to-female.

Krok 6: Konfigurace Twitteru

Abychom mohli tweetovat, používáme aplikaci třetí strany vyvinutou společností NeoCat, která získává token Twitteru, který budete potřebovat k tweetu s vaší deskou Edison. Tokeny lze také získat z webové stránky Twitter Developers.

Chcete -li tedy začít, navštivte web společnosti NeoCat a sledujte jeho návod, jak získat knihovnu twitteru a svůj twitterový token. Jak NeoCat zmínil na svých stránkách, nezneužívejte prosím tuto službu. Udržujte své tweety řídké. Pokud potřebujete něco, co tweetuje každých 6 sekund, měli byste si nastavit vlastní server a twitterovou aplikaci, a proto kód, který jsem napsal, zajišťuje, že se server NeoCat nepřetěžuje (tweety TWIST každých 6 hodin).

Knihovna používá tento web NeoCat jako proxy server pro věci OAuth. Váš tweet nemusí být použit při údržbě webových stránek tohoto NeoCatu. Zdá se, že Twitter odmítá opakované tweety se stejným obsahem (vrací chybu 403).

Twitter Token

Knihovna tweetu Arduino

Krok 7: Software a konfigurace

Než začnete s kódováním, postupujte podle pokynů k instalaci Intel pro Intel Edsion.

Program je skica Arduina běžící na Edisonu. Níže jsem vysvětlil každý z hlavních bloků kódu.

Kód obsahuje některé předdefinované konstanty, deklarace pinů a několik prohlášení o sériovém tisku, které pomáhají při řešení potíží.

Zpoždění tweetu

Protože Twitter filtruje tweety, které mají stejný obsah a jsou tweetovány během krátké doby mezi každým z nich, bylo mezi každým tweetem nastaveno standardní 3hodinové (10800000 milisekundové) zpoždění.

tweetMessage ();

zpoždění (10800000);

Zadejte Casting

Mnoho údajů, které získáme ze senzorů, je v datovém typu 'int' nebo 'float'. Protože ale tyto hodnoty tweetujeme, musíme je převést na datový typ 'String'. K tomu používáme speciální techniku castingu.

char *dtostrf (dvojitý val, šířka znaku se znaménkem, znak bez znaménka, char *sout) {

char fmt [100]; sprintf (fmt, "%%% d.%df", width, prec); sprintf (sout, fmt, val); návrat sout; }

Twitter Token

Token twitteru je vytvořen na webu NeoCat a měl by být vložen do prostoru tokenu zde.

void tweetMessage () {

Twitter twitter („ZADEJTE TWITTER TOKEN ZDE“);

Tweetingové hodnoty senzoru

Abychom mohli tweetovat hodnotu senzoru, nejprve zahrneme typ senzoru; Příklad: „Vlhkost“. Poté následuje deklarace znaků a řádek kódu vyžadovaný pro casting. Dále přidáme příkaz pro měrnou jednotku; Příklad: "%RH". Podobným způsobem můžeme i nadále přidávat hodnoty jiných senzorů.

vlhkost vzduchu(); plovoucí vlhký;

// Twitter zpráva String stringMsg = "Vlhkost:"; znak tmp [10]; dtostrf (vlhký, 1, 2, tmp); stringMsg += tmp; stringMsg += "%RH";

Poloha a označení meteorologické stanice

Dále označíme polohu (město, lokalita atd.) A další značky jako #iotweatherstn.

stringMsg += "#Mumbai #Bandra #iotweatherstn";

Hodiny reálného času (RTC)

Jak již bylo vysvětleno dříve, TWIST může také tweetovat data hodin v reálném čase. Níže je uveden příklad bloku parametrů 'RTC' kódu RTC. Funkce Real Time Clock je na platformě TWIST volitelná, protože modul je dodáván samostatně. Proto je v úložišti TWIST vytvořena samostatná větev pro kód a schémata větve hodin reálného času.

TwistDateTime (); DateTime now = rtc.now (); int twistday, twistmonth, twistyear, twisthour, twistmin, twistsec; Řetězec stringMsg = ""; char ds1307day [10]; dtostrf (twistday, 1, 0ds1307day); stringMsg += ds1307day; stringMsg += "/";

140 znaků

Tento blok kódu pokrývá pole řetězců na pole 140 znaků připravené k tweetu.

char msg [140];

stringMsg.toCharArray (msg, 140);

Odstraňování problémů se zprávami a připojením

Tento blok kódu vytiskne několik řádků textu v Serial Monitoru, což uživateli pomůže zkontrolovat stav zprávy a tweetu.

// Tweetujte toho hlupáka!

if (twitter.post (msg)) {int status = twitter.wait (); if (status == 200) {Serial.println ("OK."); Serial.println („Tweetovaná zpráva“); } else {// Test připojení Serial.print ("failed: code"); Serial.println ("Zpráva nebyla tweetována"); Serial.println (stav); }} else {Serial.println ("připojení se nezdařilo."); Serial.println ("Zpráva nebyla tweetována"); }

Všechny ostatní bloky kódu jednoduše převádějí analogové nebo digitální čtení ze senzorů na použitelná data.

Kód lze stáhnout z zde nebo z hlavního úložiště:

Meteorologická stanice.ino

Krok 8: Příspěvek do úložiště senzorů

Jste programátor, inženýr nebo designér, který má skvělý nápad na novou funkci v TWIST? Možná máte dobrý nápad na opravu chyby? Nebojte se chytit náš kód, schémata a soubory CAD z Githubu a pohrát si s ním.

TWIST GitHub

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

Druhá cena v Intel® IoT Invitational

Doporučuje: