Talaan ng mga Nilalaman:

Tweeting Weather Station: 8 Hakbang (na may Mga Larawan)
Tweeting Weather Station: 8 Hakbang (na may Mga Larawan)

Video: Tweeting Weather Station: 8 Hakbang (na may Mga Larawan)

Video: Tweeting Weather Station: 8 Hakbang (na may Mga Larawan)
Video: Alisin ang MUCUS AT PLEMA Gamit Ang ASIN 2024, Hulyo
Anonim
Tweeting Weather Station
Tweeting Weather Station

Nais mo bang subaybayan ang mga kasalukuyang Kundisyon ng Panahon ng iyong lungsod, mga antas ng Carbon Footprint, Ingay at Polusyon? Nais mo bang maging isang Climate Change Crusader o i-set-up ang iyong sariling Tweeting Weather Station at ibahagi ang iyong lokal na kondisyon ng panahon sa mundo?

Kilalanin ang Panahon ng Tweeting na IoT Station aka TWIST - isang DIY, Open-Source na Pagsubaybay sa Kapaligiran at Platform ng Pagkuha ng Meteorological Data. Ang layunin ng TWIST ay upang ang mga indibidwal at pamayanan ay maaaring mangolekta ng data ng kung ano talaga ang nangyayari sa kanilang kapaligiran at ibahagi ang data na ito sa social media tulad ng Twitter.

  • Ang TWIST ay isang pinalakas na platform ng Internet of Things (IoT).
  • Ang utak ng TWIST ay isang Intel Edison Board.
  • Ang TWIST ay katugma sa iba't ibang mga sensor.
  • Lahat ng code, file ng disenyo (mga iskematiko at layout ng PCB) ay Open-Source. Nangangahulugan ito na ang sinuman ay maaaring mag-ambag sa platform ng TWIST sa pamamagitan ng pagbabahagi ng code at mga iskema para sa iba't ibang mga sensor.

Ang TWIST ay binubuo ng tatlong mga teknolohikal na layer:

Ang unang layer ay isang hardware board na naglalaman ng lahat ng mga sensor ng panahon at kapaligiran na kilala bilang 'Sensor Board'. Tulad ng ipinahihiwatig ng pangalan, nagdadala ito ng mga sensor na sumusukat sa komposisyon, temperatura, halumigmig, ulan. Ang mga karagdagang sensor na aktibidad ng likeseismic, UV index, barometric pressure, altitude, lux (ningning), antas ng tunog, bilis ng hangin at direksyon, atbp ay maaari ring maidagdag. Kapag na-set up na ito, nakapag-stream ang Sensor Board ng sinusukat ng mga sensor sa pangalawang layer. Ang pangalawang layer ay ang Intel Edison Board na tumatanggap ng data mula sa Sensor Board, pinoproseso ito at ipinapadala ito sa susunod na layer. Ang ikatlong layer ay kumokonekta sa iyong Edison Board sa Internet sa pamamagitan ng Wi-Fi gamit ang wireless module sa Edison board at ang Tweet na kasalukuyang Kundisyon at Kapaligiran.

Ang kapangyarihan sa aparato ay maaaring ibigay ng isang solar panel o isang AC Adapter.

Mga kinokontrol na bersyon na repository

Ang lahat ng tatlong mga teknolohikal na layer ng TWIST ay Bukas-Pinagmulan, at sa gayon ang lahat ng mga file na ginagamit namin para sa code, pagpapaunlad ng PCB, disenyo ng makina, atbp ay madaling magagamit sa aming lalagyan ng Github.

Mga Entry ng Paligsahan

Invitational ng Intel IoT

Nais kong pasalamatan ang Intel + Instructables para sa pagbibigay sa akin ng Intel Edison Board. Plano ko sa paggawa ng maraming iba pang mga Instruction na nauugnay sa IoT gamit ang Edison board.

#iotweatherstn

Kung gumawa ka ng TWIST, huwag kalimutang i-tweet ang panahon gamit ang #iotweatherstn. Ang #iotweatherstn ay maaaring maging isang hashtag na ginamit ng lahat ng mga IoT na pinapatakbo ng Tweeting Weather Stations.

Hakbang 1: Mga Bahagi at Materyales

Mga Bahagi at Kagamitan
Mga Bahagi at Kagamitan
Mga Bahagi at Kagamitan
Mga Bahagi at Kagamitan
Mga Bahagi at Kagamitan
Mga Bahagi at Kagamitan

QuantityPartDetails 1

Intel Edison

kasama ang Arduino Breakout Board

1

MQ2 Masusunog na Sensor ng Gas

1

YL-83

Rain Sensor

1

SL-HS-220

Temperatura at Humidity Sensor

1

Resistor

32K

4.7K

3 Metal Standoff 1inch

1

Resistor

32K

4.7K

2

Laki ng Wood A4 Sukat

Maaari mamaya ay gupitin sa laki

3

Metal Standoff

1 pulgada

Hakbang 2: Disenyo ng Elektrisiko

Lakas

Ang buong system ay pinalakas mula sa isang 5V 1A power supply. Ang mga sensor (Temperatura, Humidity, Ulan, Gas) ay kumukuha ng humigit-kumulang 200 mA, ang Edison sa paligid ng 500 mA, Dahil ang kabuuang kasalukuyang kinakailangan ay mas mababa sa 1amp, ang isang 1 amp na suplay ay dapat na gumana nang maayos. Ang inbuilt green LED sa digital pin 13 ng Edison Board ay ginagamit upang ipakita ang katayuan ng kuryente.

Ang ControlAn Intel Edison ay nagpapatakbo ng palabas para sa TWIST. Ang Edison ay naka-mount sa isang Arduino breakout board, na ginagawang madali upang basahin ang mga digital at analog signal mula sa mga sensor. Ang Edison ay konektado sa 5V rail sa pamamagitan ng isang micro USB cable. Ang Edison ay may built-in na Wi-Fi radio, na pinapayagan itong kumonekta sa Twitter nang hindi nangangailangan ng anumang karagdagang hardware.

Real Time Clock (RTC)

Dahil ang pag-stamping ng oras na awtomatikong isinagawa ng Twitter para sa bawat tweet ay may isang resolusyon na limitado sa bilang ng mga kabuuang araw mula noong oras ng Tweeting, isang real-time na orasan ang ginagamit upang tumpak na itatak ang oras at oras sa Oras-Minuto- Pangalawang format. Ang real-time na orasan na ginamit sa TWIST platform ay ang DS-1307 RTC module.

Ang mga pinaka-pangunahing pag-set up ng sistemang ito ay may apat na mga sensor (Temperatura, Humidity, Ulan, Gas) na kumonekta sa Edison. Ang mga karagdagang sensor ay maaaring idagdag tulad ng Ingay, Hangin, atbp. Ang bawat sensor ay direktang pinalakas mula sa 5V rail at mayroong signal pin na konektado ayon sa pagkakabanggit sa mga analog pin na A0 sa pamamagitan ng A2 at digital pin 2 sa Edison breakout board. Ang mga sensor ay mayroon ding potensyometrong pagsasaayos ng pagiging sensitibo na naka-mount sa bawat sensor board; Ang MQ-2 ay isang masusunog na sensor ng gas (liquefied petroleum gas, propane, hydrogen, at methane) na naglalabas ng isang analog boltahe na proporsyonal sa konsentrasyon ng mga gas sa mga bahagi bawat milyon. Ang SL-HS-220 ay may isang thermistor na nagbibigay ng halaga ng temperatura. Dahil ang output ng thermistor ay hindi linear, ang kaukulang talahanayan ng temperatura ay ibinibigay sa sensor repository. Ang thermistor ay nangangailangan ng isang voltage divider circuit kapag nakakonekta sa Edison Board tulad ng ipinakita sa circuit diagram. Ang SL-HS-220 ay mayroon ding built-in na hygrometer na sumusukat sa halumigmig at naglalabas ng isang boltahe ng analog na tumutugma sa isang nakapirming halaga ng halumigmig. Ang mesa ng kahalumigmigan-boltahe ay ibinibigay din sa mga imbakan ng mga sensor. Ang isang karaniwang kapalit ng SL-HS-220 ay ang sensor ng DHT11. Ang sensor ng ulan / sensor ng tubig ay may potensyomiter na nababagay upang magbigay ng isang digital na output para sa isang tiyak na halaga ng ulan na ang pagkasensitibo ay maaaring iakma ng gumagamit.

Weather Station.fzz

Hakbang 3: Disenyo ng Mekanikal

Ang katawan ng TWIST ay gawa sa dalawang plato ng mga sheet na kahoy. Kahit na gumamit ako ng 1/4 "playwud, ang disenyo ay maaaring tipunin mula sa anumang sheet na materyal dahil ang spacing (pinananatili ng 1" standoffs ng aluminyo) ay ang tanging kritikal na elemento. Ikinabit ko ang mga vector file para sa pag-download sa itaas.

Pagputol ng Laser

Para sa lahat ng nagnanais na putulin ng laser ang dalawang plate, ikinabit ko ang mga file ng laser cutter para ma-download sa ibaba. Nagsasama rin ito ng isang karagdagang sensor ng kalidad ng hangin sa disenyo nito. Kaya maaari mong gamitin ang isang module ng MQ2 sensor o module ng kalidad ng sensor ng hangin depende sa iyong pinili.

Hakbang 4: Frame Assembly: Mukha at Batayan

Faceplate

Ang Sensors ay umaangkop sa kanilang pagtutugma ng mga butas at cut-out at maaaring maayos gamit ang mga turnilyo o pandikit.

Baseplate

Ang mga standoff ng board ng Edison ay nakakulong sa Baseplate. Ang analog-to-digital converter (ADC) na kung saan ay konektado sa sensor ng ulan ay maaari ring mai-screwed papunta sa Baseplate.

Ang mga karagdagang bahagi tulad ng buzzer o ang circuit regulator ng boltahe para sa solar input ay maaari ding mai-screwed papunta sa Baseplate.

Ang Baseplate at ang Faceplate ay parehong pinaghihiwalay ng 1 standoffs.

Hakbang 5: Assembly ng Electronics at Sensor

Lakas

Ang kapangyarihan para sa system ay ibinibigay ng isang adapter sa dingding na may isang karaniwang jack jack na konektado nang direkta sa konektor ng Barrel ng Edison. Maaari ring mapagana ang system sa pamamagitan ng USB port sa Edison board. Maaari mo ring i-power ang board mula sa isang panlabas na Solar panel.

Mga sensor

Ang mga sensor ay nakakabit sa mga breakout board na may mga header ng lalaki at samakatuwid maaari silang direktang konektado sa Edison sa pamamagitan ng mga male-to-female jumper wires.

Hakbang 6: Pag-configure sa Twitter

Inorder sa Tweet, gumagamit kami ng isang third-party na app na binuo ng NeoCat na nakakakuha ng token sa Twitter na kakailanganin mong mag-tweet sa iyong lupon ng Edison. Ang mga token ay maaari ring makuha mula sa webpage ng Mga Nag-develop ng Twitter.

Kaya, upang makapagsimula, bisitahin ang website ng NeoCat, sundin ang kanyang tutorial upang makuha ang aklatan sa twitter at iyong token sa twitter. Tulad ng nabanggit ni NeoCat sa kanilang site, mangyaring huwag abusuhin ang serbisyo. Panatilihing kalat-kalat ang iyong mga tweet. Kung kailangan mo ng isang bagay na nag-tweet bawat 6 segundo, dapat mong i-set up ang iyong sariling server at twitter app at samakatuwid ang code na aking sinulat ay tinitiyak na ang server ng NeoCat ay hindi labis na karga (TWIST tweet tuwing 6 na oras).

Ginagamit ng library ang website ng NeoCat na ito bilang isang proxy server para sa mga bagay na OAuth. Ang iyong tweet ay maaaring hindi mailapat habang pinapanatili ang website ng NeoCat na ito. Tila tanggihan ng Twitter ang paulit-ulit na mga tweet na may parehong nilalaman (nagbabalik ng error 403).

Token sa Twitter

Arduino Tweet Library

Hakbang 7: Software at Pag-configure

Sundin ang gabay sa pag-set up ng Intel para sa Intel Edsion bago ka magsimula sa pag-coding.

Ang programa ay isang Arduino sketch na tumatakbo sa Edison. Ipinaliwanag ko ang bawat isa sa mga pangunahing bloke ng code sa ibaba.

Ang code ay may kasamang ilang mga paunang natukoy na mga pare-pareho, mga deklarasyon ng pin at isang pares ng mga serial print na pahayag na makakatulong sa pag-troubleshoot.

Pag-antala sa Tweet

Dahil sinala ng Twitter ang mga tweet na may parehong nilalaman at na-tweet sa loob ng maikling panahon sa pagitan ng bawat isa sa kanila, isang karaniwang 3 oras (10800000 milli segundo) ang naitakda.

tweetMessage ();

pagkaantala (10800000);

Type Casting

Maraming mga pagbabasa na nakukuha namin mula sa mga sensor ay nasa 'int' o 'float' datatype. Ngunit dahil na-tweet namin ang mga halagang ito, kailangan naming i-convert ang mga ito sa isang 'String' datatype. Para dito ginagamit namin ang isang espesyal na diskarteng Type-casting.

char * dtostrf (dobleng val, naka-sign na lapad ng char, unsigned char prec, char * southern) {

char fmt [100]; sprintf (fmt, "%%% d.% df", lapad, prec); sprintf (southern, fmt, val); bumalik sa timog; }

Token sa Twitter

Ang token token ay nilikha sa website ng NeoCat at dapat na mai-paste sa token space dito.

walang bisa ang tweetMessage () {

Twitter twitter ("ENTER TWITTER TOKEN DITO");

Mga Halaga ng Sensor ng Tweeting

Upang ma-tweet ang halaga ng sensor unang isinama namin ang uri ng Sensor; Halimbawa: "Humidity". Sinundan ito ng isang deklarasyon ng character at isang linya ng code na kinakailangan para sa typecasting. Susunod na nagdagdag kami ng isang pahayag para sa yunit ng pagsukat; Halimbawa: "% RH". Maaari kaming magpatuloy sa pagdaragdag ng mga halaga ng iba pang mga sensor din sa isang katulad na pamamaraan.

halumigmig (); lumutang mamasa-masa;

// Twitter message String stringMsg = "Humidity:"; char tmp [10]; dtostrf (mahalumigmig, 1, 2, tmp); stringMsg + = tmp; stringMsg + = "% RH";

Lokasyon at Pagta-tag ng Station ng Panahon

Susunod na nai-tag namin ang lokasyon (Lungsod, Lokalidad, atbp) at iba pang mga tag tulad ng #iotweatherstn.

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

Real Time Clock (RTC)

Tulad ng ipinaliwanag nang mas maaga TWIST ay maaari ring mag-tweet ng Real Time Clock Data. Nasa ibaba ang isang halimbawa ng block ng parameter na 'day' ng code ng RTC. Ang tampok na Real Time Clock ay opsyonal sa TWIST platform dahil magkahiwalay ang module. Samakatuwid mayroong isang hiwalay na sangay na nilikha sa imbakan ng TWIST para sa code at mga iskema ng sangay ng Real Time Clock.

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

140 Limitasyon ng Character

Ang bloke ng code na ito ay nagtatakip sa string array sa 140 character array na handa nang mag-tweet.

char msg [140];

stringMsg.toCharArray (msg, 140);

Pag-troubleshoot ng Mensahe at Koneksyon

Ang bloke ng code na ito ay naglilimbag ng ilang mga linya ng teksto sa Serial Monitor upang matulungan ang gumagamit na suriin ang katayuan ng mensahe at tweet.

// Tweet ang pasusuhin na iyon!

kung (twitter.post (msg)) {int status = twitter.wait (); kung (status == 200) {Serial.println ("OK."); Serial.println ("Nai-tweet ang Mensahe"); } iba pa {// Connection Test Serial.print ("failed: code"); Serial.println ("Hindi na-tweet ang Mensahe"); Serial.println (katayuan); }} iba pa {Serial.println ("nabigo ang koneksyon."); Serial.println ("Hindi na-tweet ang Mensahe"); }

Ang lahat ng iba pang mga bloke ng code ay simpleng nagko-convert ng analog o digital na pagbabasa mula sa mga sensor sa magagamit na data.

Ang code ay maaaring ma-dowload mula dito o mula sa pangunahing lalagyan:

Weather Station.ino

Hakbang 8: Nag-aambag sa Sensor Repository

Isa ka bang programmer, engineer o taga-disenyo na may magandang ideya para sa isang bagong tampok sa TWIST? Marahil mayroon kang isang magandang ideya para sa isang pag-aayos ng bug? Huwag mag-atubiling kunin ang aming code, mga eskematiko at mga file ng CAD mula sa Github at tinker kasama nito.

TWIST GitHub

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

Pangalawang Gantimpala sa Intel® IoT Invitational

Inirerekumendang: