РадиоКот :: Метеостанция с Web-сервером на ATmega128
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Бытовая техника >

Теги статьи: МетеостанцияДобавить тег

Метеостанция с Web-сервером на ATmega128

Автор: Alexust
Опубликовано 06.06.2012
Создано при помощи КотоРед.

Приветствую, уважаемые.    

Два раза МЯУ! Белые УСЫ!

Предлагаю на Ваш суд описание своего инженерно-программного творения.

Это третья итерация в серии развития домашних метеостанций.

Первая - ATmega16 и двухстрочный дисплей - была 3 года назад.

Вторая - ATmega128 + графический монохром 128х64 - в прошлом году.

И вот теперь эта:

- базовая плата Tiny-Net на ATmega128 (от PROTTOSA - поиск в инете находит мгновенно, да и в комментариях к программе - прямая ссылка), немного доработанная - удалена микросхема флеш-памяти (слева внизу на фото), изолирован выход DD2.8 (это выход буфера выпаянной флеши), и перенесен выход сброса внешнего WD-питальца - для высвобождения выходов в предыдущей версии станции для управления GLCD (в этой - не понадобился);

к которой добавлены установленные на промежуточной макетной плате (вид сверху, вид снизу, еще не все соединения-проводки припаяны):

- датчики температуры (2шт. DS18B20, протокол 1WIRE); - один вынесен за окно на трехпроводке

- датчик относительной влажности (HIH4000, аналоговый);

- датчик атмосферного давления (MXP4115, аналоговый);  

- чип часов DS1307 с отдельной батарейкой; 

- сокет для MicroSD карточки, сделанный путем припаивания к переходнику для SD карты двухрядной гребенки от разъема (не захотела моя домашняя жаба платить минимум 350 рублей за фирменный девайс); пока использую карточку на  (2Гб)

- питалец на 3,3В - понижающий линейный стабилизатор на КРЕН22А - лениво было делать "честный" импульсник DC-DC на какой-нибудь мелкосхеме - глаза уже не те, мелкое не паяю :)

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

Схема макетки:


Кстати, остальные схемы - использованы от базовой платы (идет в поставке) и от дисплейного модуля - также в поставке. Если надо - вышлю персонально.

 

Сверху это все венчает графический дисплей uDisp320240, - тоже легко ищется и заказывается в Инете - мне доставили за 2 недели, - предварительно опробованный на ATmega16 (здесь просто сгенерирована статическая картинка, на которой отрабатывалось взаимное положение информации на экране). Кстати - корпус - о первой станции и макетка внутри с Мегой16 - от нее же:

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

- измерение внешней и внутренней температуры - 1 раз в минуту;

- измерение атмосферного давления  - 1 раз в минуту;

- измерение относительной влажности (в помещении)  - 1 раз в минуту;

- часы, календарь;

- отображение графиков за последние 25 часов с автоматически корректно пропущенными данными (например, если выключалось питание);

- хранение данных графиков в файле на флеш-карте;

- отдельное хранение (в ежемесячных файлах) данных от датчиков с интервалом 1 час;

- web-сервер с автоматическим (~20 сек) обновлением странички, на которой отображаются текущие данные и графики давления и внешней температуры за 25 часов; сейчас "соседи" по сети моего провайдера пользуются и довольны :)

- отображение красивой заставки в 256 тыс. цветов :-))) - заставка в бинарном виде находится на карточке, файл "picture.bin", сгенерена из обычного *.BMP файла переводом в 16-битовый цвет и отсеканием всех заголовков, присущих BMP-файлам.


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

Питание - 5В, 320мА в максимуме.

Да. Есть еще секретная точка на экране, нажав на которую попадаете в экран настройки часов-календаря.

Выход - нажать на слово "НАЗАД"... Этой картинки здесь нет - она слишком примитивна для отображения и интуитивно понятна на уровне 1 класса ЦПШ (церковно-приходской школы )

На рисунке ниже - отображения стринички погодного Web-сервера сразу на 4-х запущенных браузерах (смотрю по локальной сетке):
Google Chrome
Mozilla FireFox
Opera
Internet Explorer...
Последний, конечно, "выделился" своим непониманием толщины баров.
На мобильнике тоже страничка отображается (Opera, IE) достаточно корректно  и также обновляется, но сеточка почему-то на мобильнике не видна...
Господа энтузиасты - вам и карты в руки!

Внизу ссылка на архив с проектом - AVR Studio 4.18

Читайте, пожалуйста комментарии в исходниках, в особенности - в начале файла "main.c" - там ВСЕ написано.  

Но вопросы - должны быть!!! И готов на них отвечать.

Состав каталогов - определяется их названиями. Предварительно на флеш-карту нужно выложить содержимое каталога "_SD_content_". Карта форматируется под FAT32.

Если кому интересна предыдущая версия с монохромным дисплеем - там тоже есть вэб-сервер и внешняя флеш-карта - пишите, скину на почту весь проект. Там есть даже модель в 7 Протеусе всей станции с индикатором и флешкой. Но очень медленно "ворочается".

Также есть самая первая версия на ATmega16, выполненная на CVAVRe - тоже не жалко, готов поделиться. Но там нет ни вэба, ни файлов... Но память на 12 часов по давлению и график давления есть. И модель в Протеусе - тоже есть.

Корпус теперь надо сделать. Пошел 3D Max запускать.

Что-то вроде списка литературы - ссылки на первоисточники:

1. Итак, первым был PROTTOS AKA  Андрей Рыжков - https://www.prottoss.com/projects/Tiny.NET/tinynet.htm
Ему большущая благодарность за его работу по созданию интересной и полезной платы.
А также - за большую помощь мне при разборе того, как она работает.
Единственный небольшой недостаток платы TinyNet - физический - шаг разъемов на плате друг относительно друга - не кратен 1,25мм - это необходимо учитывать при изготовлении переходной платы.
2. Источник вдохновения для создания Web-сервера - сайт ttp://tuxgraphics.org , а конкретно за основу были взяты статьи
https://tuxgraphics.org/electronics/200709/avr-webserver-sensirion-humidity-temperature.shtml
и
https://tuxgraphics.org/electronics/200906/home-climate-control.shtml  - в этой статье - идея бариков на экране браузера. Переводы можно легко найти в инете.
3. Управление цветным дисплеем - https://www.embed.com.ua/mikrokontrollernyiy-konstruktor/tft-udisp320240-chast-1/
Все идеи по "общению" с эти дисплеем - именно из этого источника - большое спасибо автору - его ник - s_black!!!
4. Источниками познаний в области файловых систем SD и MicroSD карт и работы с ними послужили: - https://www.radiolocman.com/shem/schematics.html?di=65357
- https://nagits.wordpress.com/2010/10/18/avr_sd/
а также, соответственно, первоисточники, указанные в этих статьях, в особенности во второй!


Файлы:
Прошивка МК с исходниками


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

122 11 4
1 0 0

Эти статьи вам тоже могут пригодиться: