Съдържание:

Туитинг метеорологична станция: 8 стъпки (със снимки)
Туитинг метеорологична станция: 8 стъпки (със снимки)

Видео: Туитинг метеорологична станция: 8 стъпки (със снимки)

Видео: Туитинг метеорологична станция: 8 стъпки (със снимки)
Видео: Paradise or Oblivion 2024, Ноември
Anonim
Туитинг метеорологична станция
Туитинг метеорологична станция

Искали ли сте някога да следите текущите метеорологични условия във вашия град, въглеродния отпечатък, нивата на шум и замърсяване? Искате ли да бъдете кръстоносец по изменението на климата или да създадете своя собствена метеорологична станция за туитове и да споделите местните метеорологични условия със света?

Запознайте се с Tweeting Weather IoT Station, известен още като TWIST - платформа за мониторинг на околната среда с отворен код и събиране на метеорологични данни. Целта на TWIST е хората и общностите да могат да събират данни за действителното в тяхната среда и да споделят тези данни в социалните медии като Twitter.

  • TWIST е платформа с Интернет на нещата (IoT).
  • Мозъкът на TWIST е Intel Edison Board.
  • TWIST е съвместим с различни сензори.
  • Всички кодове, дизайнерски файлове (схеми и оформление на печатни платки) са с отворен код. Това означава, че всеки може да допринесе за платформата TWIST чрез споделяне на код и схеми за различни сензори.

TWIST се състои от три технологични слоя:

Първият слой е хардуерна платка, която съдържа всички сензори за времето и околната среда, известни като „Sensor Board“. Както подсказва името, той носи сензори, които измерват състава на въздуха, температурата, влажността, дъжда. Могат да се добавят и допълнителни сензори като сеизмична активност, UV индекс, барометрично налягане, надморска височина, лукс (осветеност), нива на звука, скорост и посока на вятъра и др. След като бъде настроен, сензорната платка може да предава данни, измерени от сензорите, към втория слой. Вторият слой е Intel Edison Board, който получава данни от Sensor Board, обработва ги и ги изпраща на следващия слой. Третият слой свързва вашия Edison Board с интернет през Wi-Fi, като използва безжичния модул на Edison борда и Tweet's Current Weather & Environment.

Захранването на устройството може да се осигури от слънчев панел или променливотоков адаптер.

Хранилища с контролирана версия

И трите технологични слоя на TWIST са с отворен код и по този начин всички файлове, които използваме за код, разработка на печатни платки, механичен дизайн и т.н., са лесно достъпни в нашето хранилище на Github.

Заявки за участие в конкурса

Intel IoT Invitational

Бих искал да благодаря на Intel+Instructables, че ми предостави борда на Intel Edison. Планирам да направя много повече инструкти, свързани с IoT, използвайки дъската Edison.

#iotweatherstn

Ако правите TWIST, не забравяйте да туитвате времето с помощта на #iotweatherstn. #iotweatherstn може да бъде хаштаг, използван от всички метеорологични станции с Tweeting, задвижвани от IoT.

Стъпка 1: Части и материали

Части и материали
Части и материали
Части и материали
Части и материали
Части и материали
Части и материали

QuantityPartDetails 1

Intel Edison

с Arduino Breakout Board

1

Сензор за горими газове MQ2

1

YL-83

Сензор за дъжд

1

SL-HS-220

Сензор за температура и влажност

1

Резистор

32K

4,7 хиляди

3 метални стойки 1 инч

1

Резистор

32K

4,7 хиляди

2

Дървен лист А4 размер

По -късно може да се реже по размер

3

Метална стойка

1 инч

Стъпка 2: Електрически дизайн

Мощност

Цялата система се захранва от 5V 1A захранване. Сензорите (температура, влажност, дъжд, газ) черпят приблизително 200 mA, Edison около 500 mA, тъй като общият необходим ток е по -малък от 1 ампер, захранването от 1 ампер трябва да работи добре. Вграденият зелен светодиод на цифров щифт 13 на Edison Board се използва за показване на състоянието на захранване.

Контрол Intel Edison управлява шоуто за TWIST. Edison е монтиран на пробивна платка Arduino, което улеснява четенето на цифрови и аналогови сигнали от сензорите. Edison е свързан към 5V шината чрез микро USB кабел. Edison има вградено Wi-Fi радио, което му позволява да се свърже с Twitter без нужда от допълнителен хардуер.

Часовник в реално време (RTC)

Тъй като маркирането на времето, автоматично извършвано от Twitter за всеки туит, има разделителна способност, ограничена до броя на общите дни от времето на туит, часовникът в реално време се използва за точно маркиране на датата и часа в час-минута- Втори формат. Часовникът в реално време, използван в платформата TWIST, е DS-1307 RTC модул.

Сензори Най -основната настройка на тази система има четири сензора (температура, влажност, дъжд, газ), които се свързват към Edison. Могат да се добавят допълнителни сензори, като шум, вятър и др. Всеки сензор се захранва директно от 5V шината и неговият сигнален щифт е свързан съответно към аналогови щифтове A0 до A2 и цифров пин 2 на платката Edison. Сензорите също имат потенциометър за регулиране на чувствителността, монтиран на всяка сензорна платка; MQ-2 е сензор за горими газове (втечнен нефтен газ, пропан, водород и метан), който извежда аналогово напрежение, пропорционално на концентрацията на газове в части на милион. SL-HS-220 има термистор, който дава температурна стойност. Тъй като изходът на термистора е нелинеен, съответната таблица на температурата е дадена в хранилището на сензора. Термисторът изисква схема на делител на напрежение, когато е свързан към платката Edison, както е показано на електрическата схема. SL-HS-220 също има вграден хигрометър, който измерва влажността и извежда аналогово напрежение, което съответства на фиксирана стойност на влажност. Таблицата влажност-напрежение също е дадена в хранилището на сензорите. Чест заместител на SL-HS-220 е сензорът DHT11. Сензорът за дъжд/сензор за вода има потенциометър, който е настроен да дава цифров изход за определено количество дъжд, чиято чувствителност може да се регулира от потребителя.

Метеорологична станция.fzz

Стъпка 3: Механичен дизайн

Тялото на TWIST е направено от две плочи от дървени листове. Въпреки че използвах 1/4 "шперплат, дизайнът може да бъде сглобен от всеки листов материал, тъй като разстоянието (поддържано от 1" алуминиеви стойки) е единственият критичен елемент. Прикачих векторните файлове за изтегляне по -горе.

Лазерно рязане

За всички, които желаят да режат лазерно двете плочи, прикачих файловете за лазерно рязане за изтегляне по -долу. Той също така включва допълнителен сензор за качество на въздуха в своя дизайн. Така че можете да използвате сензорен модул MQ2 или сензорен модул за качество на въздуха в зависимост от вашия избор.

Стъпка 4: Монтаж на рамката: лице и основа

Лицева плоча

Сензорите се вписват в съответните им отвори и изрези и могат да бъдат фиксирани с помощта на винтове или лепило.

Плоча

Стойностите на дъската Edison се завинтват върху основната плоча. Аналогово-цифровият преобразувател (ADC), който е свързан към сензора за дъжд, може също да се завинтва към основната плоча.

Допълнителни компоненти като зумери или верига на регулатора на напрежението за слънчевия вход също могат да се завинтват към основната плоча.

Базовата и лицевата плочи са разделени от 1 стойки.

Стъпка 5: Монтаж на електроника и сензор

Мощност

Захранването на системата се осигурява от адаптер за стена със стандартен жак, който е свързан директно към конектора на Edison's Barrel. Системата може да се захранва и чрез USB порта на платката Edison. Можете също така да захранвате платката от външен слънчев панел.

Сензори

Сензорите са прикрепени към пробивни платки с мъжки заглавки и следователно могат да бъдат директно свързани към Edison чрез проводници от джъмпер от мъжки към женски.

Стъпка 6: Конфигуриране на Twitter

За да Tweet, ние използваме приложение на трета страна, разработено от NeoCat, което получава жетона Twitter, който ще ви е необходим, за да туитвате с дъската на Edison. Токените също могат да бъдат получени от уеб страницата на разработчиците на Twitter.

Така че, за да започнете, посетете уебсайта на NeoCat, следвайте неговия/нейния урок, за да получите библиотеката на Twitter и вашия жетон за Twitter. Както NeoCat спомена на техния сайт, моля не злоупотребявайте с услугата. Дръжте вашите туитове редки. Ако имате нужда от нещо, което туитовете на всеки 6 секунди, трябва да настроите свой собствен сървър и туитър приложение и следователно кодът, който написах, гарантира, че сървърът на NeoCat не се претоварва (TWIST туитове на всеки 6 часа).

Библиотеката използва уебсайта на този NeoCat като прокси сървър за OAuth неща. Вашият туит не може да бъде приложен по време на поддръжката на уебсайта на този NeoCat. Изглежда, че Twitter отхвърля повтарящи се туитове със същото съдържание (връща грешка 403).

Токен на Twitter

Библиотека за туитове на Arduino

Стъпка 7: Софтуер и конфигурация

Следвайте ръководството за настройка на Intel Edsion, преди да започнете кодирането.

Програмата е скица на Arduino, работеща на Edison. Обясних всеки от основните блокове код по -долу.

Кодът включва някои предварително дефинирани константи, декларации за пинове и няколко изявления за сериен печат, които помагат при отстраняване на неизправности.

Забавяне на туит

Тъй като Twitter филтрира туитове със същото съдържание и са туитвани в кратки периоди от време между всеки от тях, е зададено стандартно 3 -часово (10800000 милисекундно) забавяне между всеки туит.

tweetMessage ();

забавяне (10800000);

Тип леене

Голяма част от показанията, които получаваме от сензорите, са в типа данни „int“или „float“. Но тъй като туитваме тези стойности, трябва да ги преобразуваме в тип данни „String“. За това използваме специална техника за леене на шрифтове.

char *dtostrf (двоен вал, ширина на подписания знак, беззнаков char prec, char *sout) {

char fmt [100]; sprintf (fmt, "%%% d.%df", ширина, prec); sprintf (sout, fmt, val); възвратен саут; }

Токен на Twitter

Токенът на Twitter е създаден на уебсайта на NeoCat и трябва да бъде поставен в пространството за символи тук.

void tweetMessage () {

Twitter twitter („ВЪВЕЖДАНЕ НА ТВИТЪР ТОКЕН ТУК“);

Стойности на сензора за туитове

За да туитираме стойността на сензора, първо включваме типа сензор; Пример: "Влажност". Това е последвано от декларация на символи и ред код, необходим за предаване на текст. След това добавяме изявление за мерната единица; Пример: "%RH". Можем да продължим да добавяме стойности и на други сензори по подобен начин.

влажност (); плуват влажни;

// съобщение в Twitter String stringMsg = "Влажност:"; char tmp [10]; dtostrf (влажен, 1, 2, tmp); stringMsg += tmp; stringMsg += "%RH";

Местоположение и маркиране на метеорологичната станция

След това маркираме местоположението (City, Locality и т.н.) и други тагове като #iotweatherstn.

stringMsg += " #Мумбай #Bandra #iotweatherstn";

Часовник в реално време (RTC)

Както беше обяснено по -рано, TWIST може също да туитва данните на часовника в реално време. По -долу е даден пример за блока с параметри „ден“на кода на RTC. Функцията Часовник в реално време е незадължителна в платформата TWIST, тъй като модулът се предлага отделно. Следователно в хранилището TWIST е създаден отделен клон за кода и схемите на клона на часовника в реално време.

TwistDateTime (); DateTime сега = rtc.now (); int twistday, twistmonth, twistyear, twisthour, twistmin, twistsec; Низ stringMsg = ""; char ds1307day [10]; dtostrf (twistday, 1, 0ds1307day); stringMsg += ds1307day; stringMsg += "/";

140 Ограничение на символите

Този блок код покрива низовия масив до 140 символен масив, готов за туит.

char msg [140];

stringMsg.toCharArray (msg, 140);

Отстраняване на неизправности при съобщения и връзка

Този блок код отпечатва няколко реда текст в серийния монитор, за да помогне на потребителя да провери състоянието на съобщението и туита.

// Туитвайте този глупак!

if (twitter.post (msg)) {int status = twitter.wait (); if (status == 200) {Serial.println ("OK."); Serial.println ("Изпратено съобщение"); } else {// Тест за връзка Serial.print ("неуспешно: код"); Serial.println ("Съобщението не е туитирано"); Serial.println (статус); }} else {Serial.println ("връзката е неуспешна."); Serial.println ("Съобщението не е туитирано"); }

Всички останали кодови блокове просто преобразуват аналоговото или цифровото отчитане от сензорите в използваеми данни.

Кодът може да бъде изтеглен от тук или от основното хранилище:

Метеорологична станция.ino

Стъпка 8: Принос към хранилището на сензорите

Вие сте програмист, инженер или дизайнер, който има страхотна идея за нова функция в TWIST? Може би имате добра идея за отстраняване на грешки? Чувствайте се свободни да вземете нашия код, схеми и CAD файлове от Github и да потърсите с него.

TWIST GitHub

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

Втора награда в Intel® IoT Invitational

Препоръчано: