![]() |
![]() |
|||||||||||||||
Очень простая GSM метеостанция. Реинкарнация.
Автор: vitalyadm Приветствую вас уважаемые друзья. Не прошло и года, как я вновь появился и решил опубликовать новую статью. Но новая она не на 100%, по сути, это продолжение, верней перерождение предыдущего устройства, а именно «Очень простая домашняя USB метеостанция».
Прежде чем переходить к подробному описанию всех технических аспектов этого проекта, я попробую объяснить, что же это за штуковина, зачем она нужна и т.д. в формате вопрос – ответ. И так поехали.
Что это такое? Это автономная GSM метеостанция, которая ведёт наблюдение за 4- мя показателями окружающей среды 24 часа в сутки, 365 дней в году и один раз в час отправляет эти данные на сервер. Почему автономная? Эта метеостанция построена на базе GSM модуля и канал для передачи данных у неё «свой» т.е. GPRS, поэтому нет необходимости «привязывать» её к Wi-Fi, USB, LAN и т.д.. При всём при этом, абсолютно не важно где станция будет находиться, хоть в заполярье, главное чтоб сотовая связь была. Зачем она нужна? Здесь всё достаточно просто. Этой зимой, когда начались морозы, ко мне обратился мой друг с одной, весьма распространённой проблемой. Наверняка, многие из вас знают, что такое загородный дом (дача) с водяным отоплением. Это головная боль каждую зиму, потому, что есть большая вероятность того, что котёл, висящий на стене, по какой- то причине может отказать и тогда неминуемо может заморозиться, как система труб, так и сам котёл (сам лично попадал в такую неприятность). Но тогда возникает вопрос, а как мониторить температуру, если деревня расположена очень далеко и о технологиях аля интернет в этой деревне, даже, слухи не ходили? А вот тут как раз и спасает GSM, благо сотовая связь есть теперь практически везде. Теперь собственно ответ «зачем» - для удалённого и непрерывного мониторинга показателей, таких как влажность, температура внешняя, температура внутренняя и само собой давление. А, для конкретной цели или интереса ради вы будите использовать метеостанцию - решать вам. GSM это дорого, может лучше голубиной почтой? Нет не дорого, лично у меня за месяц тестов GPRS «съел» около 35 рублей. А почему так мало - расскажу чуть позже. Много 35 рублей или мало, смотрите, конечно сами, но для меня лично 35 рублей в месяц- сумма весьма смешная. А как же баланс SIM карты, деньги кончились и всё – «тю- тю»? Имейте терпение, всё продумано, не «тю- тю». Читайте всё полностью, будет ответ и по балансу, верней его контролю. И так, философская часть закончилась, приступим к практике. Экономическая часть. Прежде чем приводить схему и говорить о том, о сём. Посчитаю денежку. Итоговая стоимость проекта, без МК (ибо валяются без дела, что их покупать) у меня получилась ~860р при курсе в 70р за рубь. Вместе с GSM модулем т.е. вся коробочка вышла в 860р. Что по чём и почему вполне приемлемо? Начну с основного. Продаётся этот «зверёк» уже с антенкой (только не впаянной). Хотя можно использовать и внешнюю, разъём как видите - имеется. DHT11. Это датчик влажности + температуры. Где взять? Не, даже не буду, уже смешно)))) Сколько стоит? Мало - 80р. При чём, брать стоит уже на платке, так удобней. Остался внешний датчик температуры DS18B20 и мелочь, там у меня всё вместе около 200р получилось. Итого: 400 + 180 + 80 + 200 = 860. Предлагаю не мучиться и округлить до 900, так будет справедливей. В общем, итог: 900р. Всё, с экономикой закончили, перейдём к самому интересному. Техническая часть.
Как видно по схеме, устройство очень простое в повторении. Но на некоторых моментах я всё же остановлюсь т.к. не то, что они сложны, они ВАЖНЫ! Кстати, почти полтора месяца, пока я полностью делал проект, станция выглядела примерно так: Первое на что нужно обратить внимание, это на цепь питания GSM модуля: Почему такая цепь – поясню. Дело в том, что GSM модуль SIM800L штука очень интересная, он полностью совместим по UART с 5 вольтовым МК, т.е. развязки на TX и RX делать никакой не нужно, но при этом он питается от 4- х вольт, как- то так, при 5- ти он горит!!!! Поэтому в цепи ПИТАНИЯ GSM модуля никаких 5 вольт, ВАЖНО!!!! Дело всё в том, что это далеко не первый GSM модуль от SimCom с которым я работаю и входе долгих и мучительных экспериментов выяснилось- он может повиснуть. Случается это крайне редко, но теоретически (практически) может, по крайней мере SIM900 у меня висли, бывало. При чём, виснет он наглухо, я бы сказал, намертво. Он перестаёт реагировать на UART и по сути молчит до тех пор, пока его жестко не передёрнуть по питанию. Скажу честно, SIM800L ещё пока ни разу не вис. Страшного в этом ничего, но было бы обидно, если устройство, заявленное как полное автономное вдруг берёт и зависает. Работает это по следующему алгоритму. После подачи питания на МК, МК включает реле через полевой транзистор, но при этом постоянно отслеживает UART, если от модуля в течении 30 секунд не будет получено информации, проще выражаясь, если GSM модуль «молчит» в течении 30 секунд- значит он висит. Далее, МК отключает реле и начинает всё заново. Т.е. включение- первичная инициализация – переход в рабочий режим. Можно сказать- это тоже самое, как если бы в случае повисания, вы передёрнули бы питание всего девайса. Не забудьте впаять перемычку в виде кусочка провода или откусанной лапки от, например, резюка под панелькой МК!!!!
На фото ниже какой светодиод, куда впаивать исходя из цвета светодиода
ПП я делал под корпус G521B фирмы GAINTA. Забегая чуть вперёд, так выглядит устройство в сборе (без пропилов под внешние датчики). Разумеется, вы можете передать ПП под себя, в зависимости от того, какой корпус есть в наличии. Фото после монтажа ПП и окончательного «причёсывания». Теперь остановимся на нескольких, отладочных моментах. После публикации статьи про USB метеостанцию, я начал получать очень много писем на e-mail из которых стало ясно - не всегда у всех получается всё гладко. Именно поэтому, было написано 2 прошивки, одна для первичного теста, вторая рабочая, основная. 1. Залить в МК прошивку из папки «тестовая прошивка станции»
После этого можно подавать питание. Далее запускаем любую терминалку, например, Putty. Если визуально всё нормально, то переходим в терминал. Каждые 3 секунды в терминале должны идти блоки следующего вида: Вроде ничего не забыл, можно переходить к части программной, верней глобальной))
Разумеется, первое. Что необходимо сделать- это зарегистрироваться, поэтому переходим в раздел регистрация и заполняем 4 поля Собственно здесь всё просто, единственное - поясню. Поле «адрес электронной почты» нужен только для того, что бы вы могли воспользоваться формой обратной связи, больше, нигде и никогда это значение не фигурирует. Так, что можете не боятся, что я украду вашу эллектронку! В любом случае, позже в разделе «Профиль» всё можно будет изменить. Прежде всего, необходимо добавить метеостанцию в свой список, здесь просто- Нажимаете на меню «Управление станциями» , выбираете пункт «Добавить новую метеостанцию» После чего заполняете все поля И так, что к чему и почему. Во первых IMEI модуля станции. IMEI станции- это основное и КЛЮЧЕВОЕ поле. Т.е. это уникальный номер GSM модуля, именно по этому номеру проходит идентификация и авторизация станции на сервере, ошибиться здесь нельзя. При чём, как я писал ранее, до тех пор, пока в базе не будет этого номера, все данные со станции будут игнорироваться. Где взять?? Не, не у «алика», смотрим на наш модуль и вот он родимый Вбиваем все эти циферки в поле IMEI. Главный момент, где стоит проявить внимание и это единственное поле, которое позже нельзя будет изменить, всё остальное, как в случае с профилем- меняется. Добавить станцию с двумя одинаковыми IMEI- нельзя. Если так случилось, что вы решили отдать станцию- соседу, другу, свату, брату, то сначала удалите её в своём кабинете. После добавления у вас сразу появится банер. В банере содержится 2 графика, температура наружная и внутренняя, информация берётся с ПОСЛЕДНЕЙ добавленной станции в кабинете. Разумеется, если данных ещё нет- то графики будут "нулевыми". Данные которые были приняты «сегодня»- помечаются красным. Также, можно посмотреть данные за конкретную дату, нажимаете кнопку «Просмотреть данные по датам», выбираете число- всё. Ответы по запросу баланса. Здесь всё понятно и ясно, зеленым помечаются записи, сделанные "сегодня". Теперь, вновь возвращаюсь к началу. Почему расходы по сотовой связи достаточно не высоки? ( сразу- прошу не обращать внимание на мои значения баланса, т.к. симку я дёргал туда- сюда между несколькими проектами, поэтому где- то резко баланс снижается) Дело всё в том, что как таковой трафик можно вместить в пару килобайт за сутки, при чём 99% трафика составляет аплоад, который, на сколько я знаю, у некоторых операторов- вообще не тарифицирется, а даунлоад, как таковой станция не использует, разве что кроме запроса кода проверки баланса при включении. Поэтому, расходы и приравниваются, практически к 0. По умолчанию выводится 40 точек, это 1,6 суток непрерывной работы, при желании- можете вывести своё количество точек, выглядеть это будет примерно так: Меню «Удаление данных» В этом меню вы сможете удалить все показания станции. Для удаления выбираете станцию, после того, как откроется страница подтверждения в поле, необходимо написать DELET. При выполнении команды «удаления данных», удаляются только показания, запросы баланса и прочее остаются. Почти всё. Осталось пару пунктов на которых я бы заострил внимание, остальные меню кабинета- увидите сами, они абсолютно понятны. Посмотреть данные можно нажав на лейбел станции, тогда вы увидите примерно следующее Сразу сообщу, что положение станции- приближено к реальности, это координаты которые выдал сотовый оператор, основываясь на свои вышки, разница от реального положения станции до того, что выдал оператор +-3 километра. Для точного определения положения- не очень хорошо, но для метеокарты- отлично. Ваш номер метеостанции на карте статичен, как только вы получите свой номер- он станет ваш. Позиционирование, правильней - центровка карты, происходит по последней станции в вашем списке, если таковой нет или координаты от станции не актуальны- то центром будет – Москва, Кремль. Эта страница, как думаю я, некая глобализация, при которой мы можем не только строить свои конструкции, но превращать наши конструкции в некий, не побоюсь этого слова, глобальный проект. Вот собственно и всё. Спасибо за внимание, уважаемые друзья! До встречи на форуме и в «мыле». Я буду несказанно рад, если кому- то пригодится или будет полезен мой проект. Также, обращаю внимание! Что данный проект не несёт никакой коммерческой подоплёки и нацелен лишь только на одно- это развитие и поддержание такой культуры как программирования и конструирования в области электроники. До встречи! Вопросы как всегда, на форум ;)
Файлы: Все вопросы в Форум.
Эти статьи вам тоже могут пригодиться: |
|
|||||||||||||||
![]() |
![]() |


![]() |
![]() |
|||
|
||||
![]() |
![]() |