Оглавление:

Метеостанция в Твиттере: 8 шагов (с изображениями)
Метеостанция в Твиттере: 8 шагов (с изображениями)

Видео: Метеостанция в Твиттере: 8 шагов (с изображениями)

Видео: Метеостанция в Твиттере: 8 шагов (с изображениями)
Видео: Шокировал всех словами о России • Илон Маск 2024, Июль
Anonim
Твиттер метеостанции
Твиттер метеостанции

Вы когда-нибудь хотели следить за текущими погодными условиями в вашем городе, углеродным следом, уровнем шума и загрязнения? Вы хотите стать участником общественной кампании по борьбе с изменением климата или создать собственную метеостанцию в Твиттере и поделиться своими местными погодными условиями со всем миром?

Встречайте Tweeting Weather IoT Station aka TWIST - DIY, платформу для мониторинга окружающей среды и сбора метеорологических данных с открытым исходным кодом. Цель TWIST состоит в том, чтобы отдельные лица и сообщества могли собирать данные о том, что на самом деле происходит в их среде, и делиться этими данными в социальных сетях, таких как Twitter.

  • TWIST - это платформа на базе Интернета вещей (IoT).
  • Мозг TWIST - это плата Intel Edison.
  • TWIST совместим с множеством датчиков.
  • Весь код, файлы дизайна (схемы и макет печатной платы) имеют открытый исходный код. Это означает, что любой может внести свой вклад в платформу TWIST, поделившись кодом и схемами для разных датчиков.

ТВИСТ состоит из трех технологических слоев:

Первый уровень - это аппаратная плата, которая содержит все датчики погоды и окружающей среды, известные как «плата датчиков». Как следует из названия, он оснащен датчиками, которые измеряют состав воздуха, температуру, влажность и дождь. Также могут быть добавлены дополнительные датчики, такие как сейсмическая активность, УФ-индекс, атмосферное давление, высота, люкс (яркость), уровни звука, скорость и направление ветра и т. Д. После настройки Sensor Board может передавать данные, измеренные датчиками, на второй уровень. Второй уровень - это плата Intel Edison Board, которая получает данные от сенсорной платы, обрабатывает их и отправляет на следующий уровень. Третий уровень подключает вашу доску Edison к Интернету через Wi-Fi с помощью беспроводного модуля на плате Edison и Tweet's Current Weather & Environment conditions.

Питание устройства может осуществляться от солнечной панели или адаптера переменного тока.

Репозитории с контролируемой версией

Все три технологических уровня TWIST имеют открытый исходный код, поэтому все файлы, которые мы используем для кода, разработки печатных плат, механического проектирования и т. Д., Легко доступны в нашем репозитории Github.

Конкурсные работы

Intel IoT Invitational

Я хотел бы поблагодарить Intel + Instructables за предоставленную мне плату Intel Edison. Я планирую создать еще много инструкций, связанных с IoT, с помощью платы Edison.

#iotweatherstn

Если вы делаете TWIST, не забывайте твитнуть погоду, используя #iotweatherstn. #iotweatherstn может быть хэштегом, используемым всеми метеорологическими станциями с поддержкой Интернета вещей.

Шаг 1: Детали и материалы

Детали и материалы
Детали и материалы
Детали и материалы
Детали и материалы
Детали и материалы
Детали и материалы

QuantityPartDetails 1

Intel Эдисон

с платой Arduino Breakout

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 мА, Эдисон - около 500 мА. Поскольку общий требуемый ток составляет менее 1 ампера, источник питания на 1 ампер должен работать нормально. Встроенный зеленый светодиод на цифровом выводе 13 платы Edison используется для отображения состояния питания.

Шоу для TWIST возглавляет Intel Edison. Edison установлен на коммутационной плате Arduino, что позволяет легко считывать цифровые и аналоговые сигналы с датчиков. Edison подключается к шине 5 В через кабель micro USB. Edison имеет встроенное радио Wi-Fi, которое позволяет ему подключаться к Twitter без необходимости в каком-либо дополнительном оборудовании.

Часы реального времени (RTC)

Поскольку отметка времени, автоматически выполняемая Twitter для каждого твита, имеет разрешение, ограниченное общим количеством дней с момента публикации твита, используются часы реального времени для точной отметки даты и времени в часах-минутах. Второй формат. Часы реального времени, используемые в платформе TWIST, - это модуль DS-1307 RTC.

Датчики В самой базовой настройке этой системы есть четыре датчика (температуры, влажности, дождя, газа), которые подключаются к Edison. Могут быть добавлены дополнительные датчики, такие как шум, ветер и т. Д. Каждый датчик питается напрямую от шины 5 В, и его сигнальный контакт подключен соответственно к аналоговым контактам с A0 по A2 и цифровому контакту 2 на коммутационной плате Эдисона. Каждый датчик также имеет потенциометр регулировки чувствительности, установленный на каждой плате датчика; MQ-2 - это датчик горючего газа (сжиженный нефтяной газ, пропан, водород и метан), который выдает аналоговое напряжение, пропорциональное концентрации газов в частях на миллион. SL-HS-220 имеет термистор, который показывает значение температуры. Поскольку выходной сигнал термистора является нелинейным, соответствующая таблица температур приведена в хранилище датчиков. Термистор требует схемы делителя напряжения при подключении к плате Эдисона, как показано на принципиальной схеме. SL-HS-220 также имеет встроенный гигрометр, который измеряет влажность и выдает аналоговое напряжение, соответствующее фиксированному значению влажности. Таблица влажности-напряжения также находится в хранилище датчиков. Обычной заменой SL-HS-220 является датчик DHT11. Датчик дождя / датчик воды имеет потенциометр, который настраивается для выдачи цифрового выхода для определенного количества дождя, чувствительность которого может регулироваться пользователем.

Weather Station.fzz

Шаг 3: Механический дизайн

Корпус TWIST состоит из двух деревянных пластин. Хотя я использовал фанеру толщиной 1/4 дюйма, конструкцию можно собрать из любого листового материала, поскольку расстояние (поддерживаемое алюминиевыми стойками толщиной 1 дюйм) является единственным критическим элементом. Я прикрепил векторные файлы для скачивания выше.

Лазерная резка

Для всех, кто хочет вырезать две пластины лазером, я приложил файлы для лазерной резки, которые можно скачать ниже. Он также включает в себя дополнительный датчик качества воздуха. Таким образом, вы можете использовать либо модуль датчика MQ2, либо модуль датчика качества воздуха, в зависимости от вашего выбора.

Шаг 4: Сборка рамы: лицо и основание

Лицевая панель

Датчики вставляются в соответствующие отверстия и вырезы и могут быть закреплены с помощью винтов или клея.

Опорная плита

Стойки платы Edison привинчиваются к опорной плите. Аналого-цифровой преобразователь (АЦП), подключенный к датчику дождя, также может быть привинчен к опорной плите.

Дополнительные компоненты, такие как зуммеры или цепь регулятора напряжения для солнечного входа, также могут быть привинчены к опорной плите.

Опорная пластина и лицевая пластина разделены 1-дюймовыми стойками.

Шаг 5: Сборка электроники и датчика

Власть

Питание системы обеспечивается настенным адаптером со стандартным разъемом типа «бочонок», который подключается непосредственно к разъему «бочонок Эдисона». Система также может получать питание через порт USB на плате Edison. Вы также можете запитать плату от внешней солнечной панели.

Датчики

Датчики прикреплены к коммутационным платам с помощью штекерных разъемов, и, следовательно, они могут быть напрямую подключены к Edison с помощью перемычек «папа-мама».

Шаг 6: настройка Twitter

Чтобы твитнуть, мы используем стороннее приложение, разработанное NeoCat, которое получает токен Twitter, который вам понадобится для твита с вашей доской Edison. Токены также можно получить на веб-странице разработчиков Twitter.

Итак, для начала посетите веб-сайт NeoCat, следуйте его / ее руководству, чтобы получить библиотеку Twitter и свой токен Twitter. Как упомянул NeoCat на своем сайте, пожалуйста, не злоупотребляйте сервисом. Делайте твиты реже. Если вам нужно что-то, что будет твитнуть каждые 6 секунд, вы должны настроить свой собственный сервер и твиттер-приложение, и, следовательно, код, который я написал, гарантирует, что сервер NeoCat не будет перегружен (TWIST твиты каждые 6 часов).

Библиотека использует этот веб-сайт NeoCat в качестве прокси-сервера для материалов OAuth. Ваш твит не может быть применен во время обслуживания этого веб-сайта NeoCat. Твиттер отклоняет повторяющиеся твиты с тем же содержанием (возвращает ошибку 403).

Токен Twitter

Библиотека твитов Arduino

Шаг 7: Программное обеспечение и конфигурация

Следуйте руководству Intel по установке для Intel Edsion, прежде чем приступить к программированию.

Программа представляет собой скетч Arduino, работающий на Edison. Я объяснил каждый из основных блоков кода ниже.

Код включает некоторые предопределенные константы, объявления контактов и пару операторов последовательной печати, которые помогают в устранении неполадок.

Задержка твита

Поскольку Twitter отфильтровывает твиты с одинаковым содержанием, которые публикуются в течение коротких промежутков времени между каждым из них, была установлена стандартная 3-часовая (10800000 миллисекунд) задержка между каждым твитом.

tweetMessage ();

задержка (10800000);

Тип литья

Многие показания, которые мы получаем от датчиков, имеют тип данных int или float. Но поскольку мы публикуем эти значения в Твиттере, нам нужно преобразовать их в тип данных String. Для этого мы используем особую технику Type-casting.

char * dtostrf (double val, signed char width, unsigned char prec, char * sout) {

char fmt [100]; sprintf (fmt, "%%% d.% df", width, Prec); sprintf (sout, fmt, val); возвратный саут; }

Токен Twitter

Токен Twitter создается на веб-сайте NeoCat и должен быть вставлен в пространство для токенов здесь.

void tweetMessage () {

Twitter twitter («ВВЕДИТЕ ЖЕТОН TWITTER ЗДЕСЬ»);

Значения датчиков в Твиттере

Чтобы опубликовать значение датчика, мы сначала включаем тип датчика; Пример: «Влажность». Затем следует объявление символа и строка кода, необходимая для приведения типов. Затем мы добавляем инструкцию для единицы измерения; Пример: «% относительной влажности». Мы можем продолжать добавлять значения других датчиков аналогичным образом.

влажность(); поплавок влажный;

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

Расположение и маркировка метеостанции

Затем мы помечаем местоположение (город, населенный пункт и т. Д.) И другие теги, например #iotweatherstn.

stringMsg + = "# Мумбаи # Бандра #iotweatherstn";

Часы реального времени (RTC)

Как объяснялось ранее, TWIST может также твитнуть данные часов реального времени. Ниже приведен пример блока параметров «день» кода RTC. Функция часов реального времени не является обязательной для платформы TWIST, поскольку модуль поставляется отдельно. Следовательно, в репозитории TWIST создана отдельная ветка для кода и схем ветки Real Time Clock.

TwistDateTime (); DateTime now = 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 (сообщение, 140);

Сообщения и устранение проблем с подключением

Этот блок кода выводит пару строк текста в Serial Monitor, чтобы помочь пользователю проверить статус сообщения и твита.

// Напиши в Твиттер этому засранцу!

если (twitter.post (msg)) {int status = twitter.wait (); if (status == 200) {Serial.println ("ОК."); Serial.println («Сообщение в Твиттере»); } else {// Проверка соединения Serial.print ("сбой: код"); Serial.println («Сообщение не в Твиттере»); Serial.println (статус); }} else {Serial.println ("сбой подключения."); Serial.println («Сообщение не в Твиттере»); }

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

Код можно скачать отсюда или из основного репозитория:

Weather Station.ino

Шаг 8: внесение вклада в репозиторий датчиков

Вы программист, инженер или дизайнер, у вас есть отличная идея для новой функции в TWIST? Может быть, у вас есть хорошая идея исправить ошибку? Не стесняйтесь брать наш код, схемы и файлы САПР с Github и поработать с ними.

TWIST GitHub

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

Второй приз в Intel® IoT Invitational

Рекомендуемые: