» » Дистанционный контроллер состояния подъездного освещения с web-интерефейсом: Лампочкометр-WEB

 
 
 
10

Дистанционный контроллер состояния подъездного освещения с web-интерефейсом: Лампочкометр-WEB

Разместил Discover 13 сентября 2012. Просмотров: 12 283

…а вот не видать из Челябинска моего Лампочкометра,
я вам скажу больше – его уже и из-за угла не видать…


Кто не понял, вообще о чём речь, смотрите мои статьи на Датагоре:
• Лампочкометр - контроллер освещения, прибор для отображения количества исправных ламп
• Лампочкометр возвращается! (vol. 2)

Моя работа связана с частыми и, бывает, продолжительными командировками. А лампочки как сгорали, так и горят. Причем они как чувствуют. Бывает, за месяц не одной не сгорит, но стоит мне отлучиться в командировку, сразу начинают перегорать. Как-то я был в командировке в Челябинске двадцать три дня – сгорело 10 ламп!!! Все бы хорошо: есть Лампочкометр, есть сосед, с которым я договорился, чтобы он менял за меня лампы. Но вот сказать ему, в каком подъезде сгорела лампа, я не могу, мне же не видно свой Лампочкометр из Челябинска, Магнитогорска или Новотроицка. Естественно, мало по малу начинала зреть мысль о том, как вывести Лампочкометр в «свет» – в ИНТЕРНЕТ!!!
Итак, встречайте, новый Лампочкометр-WEB!!

Реализация

Начну с самого простого – с аппаратной части. Контроллер нижнего уровня остался без изменений, есть в планах и его модернизировать, но пока руки не доходят. А вот контроллер верхнего уровня выглядит теперь по-другому. Это практически полноценный компьютер, на miniITX материнской плате и с твердотельным диском в качестве основного носителя, собранный специально для нового Лампочкометра.
Главный аргумент – в навигаторе отсутствует Ethernet-порт, необходимый для доступа в сеть. В принципе, можно было и подешевле сделать, всякие там Ethernet-модули и пр. Но, не все так просто как хотелось бы, простой пример предыдущего Лампочкометра, танцы с бубном для того, чтобы состыковать FT232 c навигатором(WindowsCE). На обычной платформе все гораздо проще да и возможностей больше. Преобразователь USB-RS485, тоже претерпел незначительные изменения, был убран стабилизатор питания для навигатора и самого преобразователя. Преобразователь теперь, как и положено, питается от шины USB. Вот собственно и все по аппаратной части.

Программа

Программа переписана на 95%, остался нетронутым модуль связи. Изменен интерфейс и частично функционал.
Интерфейс программы состоит из двух вкладок – «Калибровка» и «Настройки».

Вкладка «Калибровка»


Основная вкладка, на которой я отображаю данные АЦП, принятые от обоих контроллеров нижнего уровня (лестниц и тамбуров) в табличном виде.
Из явных элементов управления всего две кнопки:
«Выгрузка XML» – тестовая кнопка для принудительной выгрузки файла с данными всех каналов, в процессе работы данные выгружаются только по изменению состояния канала.
«Калибровка» – кнопка для выполнения процедуры калибровки каналов, активна только, когда выбраны каналы для калибровки.

Теперь о неявных элементах управления. Чтобы не городить кучу кнопок или чекбоксов (окошечек с галочками), я использую сами ячейки. Для сброса аварийного канала нужно сделать двойной клик по соответствующей ячейке. Таким же образом выбираются каналы для калибровки. В ячейках выбранных каналов выводиться «Да», кнопка «Калибровка» становится активной, после нажатия кнопки будут калиброваны только выбранные каналы.

Вкладка «Настройки»

На вкладке есть группа настроек связи и группа «Program Crash Setting», которая как я надеюсь, в будущем будет ликвидирована. В группе присутствует всего один элемент – чекбокс. При установке опции «Close the program after losing connection» - программа закрывается. В общем, это одна часть костыля, есть одна проблемка, которую я пока не смог решить.

Периодически пропадает связь, при этом порт в системе не пропадает. Закрыть и снова открыть порт в программе недостаточно, или я неправильно это делаю, ведь функция, ведущая обмен с контроллером нижнего уровня, работает в отдельном потоке. Лечится проблема пропажи связи только перезапуском программы. Но, как вы понимаете, просто закрыть программу недостаточно, нужно ведь её снова запустить. Для этого у меня написана программа – вторая часть костыля, которая по таймеру проверяет, запущена ли программа Лампочкометр, если нет, то запускает. Так или иначе, метод полезен, я могу быть уверен, что программа всегда работает.

Ниже под вкладками расположено поле статуса, где я вывожу информацию об активности обмена и Crash Counter – количество аварийных (при потере связи) закрытий программы.
Как вы помните, в предыдущем Лампочкометре я собирался сделать логирование, которое на момент выхода статьи еще не было сделано, я его сделал, но немного позже. В текстовый файл я записывал следующие события:

«Программа запущена»
«Программа закрыта»
«Авария, лестница подьезд № n»
«Сброс аварии, лестница подъезд № n»

К каждому событию прибавлялось время и дата. Но и тут был косячок, дата и время периодически «слетали», видимо сказывалось не совсем нормальное состояние навигатора.
В этом Лампочкометре я так же сделал логирование, но не так как в предыдущем, а именно: я пишу сообщения в журнал операционной системы. Чтобы не путаться, я создал свой журнал.


Вот так красивенько это выглядит – совсем по-взрослому smile
Возможность управления насосом из программы убрана. Старый насос приказал долго жить. Купили новый насос, не шумный, с частотным регулированием, включили и забыли, но это уже совсем другая история.

Теперь о взаимодействии с Веб-интерфейсом. Сразу оговорюсь, в Веб-разработке я полный профан, а посему пришлось обращаться за помощью к другу. Для обмена данными с сайтом, в программе реализована выгрузка данных в XML формате, а также загрузка данных с сайта, когда производиться операция сброса аварии. На страничке Лампочкометра изображение жилого дома с подъездами.


Цвет окон и дверей отображает статус лестниц и тамбуров:
Голубой(темно-серый для тамбуров) – свет выключен,
Желтый – свет включен, нагрузка номинальная.
Красный – авария.

Для сброса аварийного канала нужно кликнуть по аварийной двери/группе окон – выводиться диалог для ввода пароля. При корректном пароле будет сформирован файл InXML с номером сбрасываемого канала. Программа считывает файл, обрабатывает и удаляет.

Видео

И напоследок кратенькое видео, как это все работает, для наглядности, вместо реального железа – эмулятор в Протеусе.
Иван Гаврилов (Discover)
Вологодская обл. Череповецкий р-н, п.Тоншалово
Профиль Discover
Дата рождения: 13.09.1977.
Работаю в компании "Нординкрафт" , электрик по совместительству в своем ТСЖ.
С паяльником с 12 лет.
Интересы: паяльник, работа, фото, лес.
C 2007г занимаюсь микроконтроллерами AVR.

Напаяно уже много чего, всего и не припомню.
 

Понравилось? Палец вверх!

  • всего лайков: 20

Поделись с друзьями!

Связанные материалы:


Схема на Датагоре. Новая статья Контроллер системы водоснабжения «бак - насос» с ультразвуковым датчиком уровня. Датагорский бакомер in action!... Вперёд, товарищи! На дачу! В. Ленин И. Гаврилов Конечно, у меня уже есть уровнемер и большого...
Схема на Датагоре. Новая статья Несколько функций для програмной реализации протокола I2C на AVR... Добрый день, дорогие друзья! Решил поделиться с вами несколькими функция для работы по протоколу...
Схема на Датагоре. Новая статья Куда запихнуть свой УНЧ (фотоотчет)... Нет-нет, наши УНЧ не настолько плохи, чтобы сделать с ними то, что вы подумали! Давно хотелось...
Схема на Датагоре. Новая статья Знакомьтесь: Flowcode. Программирование для AVR и PIC без программирования... Здравствуйте, друзья! В данной статье я хочу рассказать о своих впечатлениях при работе с...
Схема на Датагоре. Новая статья USB-программатор AVR на FT232RL с буффером... Иметь дело с микроконтроллерами (как и вообще с цифровой техникой) мне приходится довольно редко и...
Схема на Датагоре. Новая статья Лампочкометр возвращается! (vol. 2)... Вдох глубокий. Руки шире. Не спешите, три-четыре! Бодрость духа, грация и пластика. ...
Схема на Датагоре. Новая статья Балластный регулятор для ветрогенератора (ветряка)... После того, как ветряк построен и работает, рано или поздно встает вопрос об утилизации лишней...
Схема на Датагоре. Новая статья Счётчик витков для намоточного станка на ATtiny13... Случилось так, что припекло мне трансформатор мотать, всё бы хорошо, да станка только не хватает -...
Схема на Датагоре. Новая статья Лампочкометр - контроллер освещения, прибор для отображения количества исправных ламп... ПрологС 2006 года я по совместительству работаю в своем доме электриком. Причины тому у меня были...
Схема на Датагоре. Новая статья Управление шаговым двигателем с ПК... Драйвер для шагового двигателя, который управляется с персонального компьютера. Привет всем! Решил...
Схема на Датагоре. Новая статья Миниатюрный полный USB-RS232 адаптер на CP-2102 для подключения микроконтроллера к компьютеру по USB... В продолжение к теме «Программатор AVR910», про маленькое устройство, хочу предоставить вашему...
Схема на Датагоре. Новая статья 10 практических устройств на AVR-микроконтроллерах. Книга 1. А.В. Кравченко... 10 практических устройств на AVR-микроконтроллерах. Книга 1. А.В. Кравченко Издательство:...
<
  • Главный редактор
14 сентября 2012 11:53

Игорь Петрович Котов / Datagor

Цитата
  • С нами с 25.02.2011
  • Ушёл в реал Пользователь offline
  • 1 665 комментариев
  • 267 публикаций
 
  • 0
Уважаемый Иван!
Вы довели идею "ленивого" содержания осветительного хозяйства до космических высот!
Приятно, что ваши наработки можно применить в любых других приложениях автоматизации: меняем датчики, реакцию и исполнительные устройства.

А еще чуть запоздало поздравляю с Днем Рожденья!
Желаю счастья, здоровья, денег и времени для любимого хобби.
УРРРААА!!!
drinks

<
  • Гражданин
14 сентября 2012 12:10

Иван Гаврилов / Discover

Цитата
  • С нами с 17.08.2009
  • Ушёл в реал Пользователь offline
  • 38 комментариев
  • 15 публикаций
 
  • 0
Игорь спасибо за поздравление!
До космических высот еще далеко - буду тянуться smile

<
  • Гражданин
14 сентября 2012 17:48

Павел / tarip

Цитата
  • С нами с 22.02.2010
  • Ушёл в реал Пользователь offline
  • 30 комментариев
  • 4 публикации
 
  • 0
shok и всё это ради лампочек?!!
человек безграничен в своей лени! и именно лень-двигатель цивилизации! crazy

<
  • Гражданин
17 сентября 2012 11:21

Юрий / swap

Цитата
  • С нами с 20.02.2010
  • Ушёл в реал Пользователь offline
  • 32 комментария
  • 1 публикация
 
  • 0
Да уж!!!!
В программировании я ноль полный, но лентяй знатный.
Но чтобы так круто свою лень пустить во благое дело, просто снимаю шляпу и с дикой силой уважаю ТС.
Иван, вы сподвигли меня плюнуть налень и более качественно подходить к своим проектам. Спасибо!

<
  • Гражданин
20 сентября 2012 01:03

Иван Гаврилов / Discover

Цитата
  • С нами с 17.08.2009
  • Ушёл в реал Пользователь offline
  • 38 комментариев
  • 15 публикаций
 
  • 0
Забавно, что я прослыл знатным лентяем smile ведь на это проект, времени, я тратил намного больше чем тратил на замену лампочек, лет эдак на пять вперед.

<
  • Главный редактор
21 сентября 2012 13:39

Игорь Петрович Котов / Datagor

Цитата
  • С нами с 25.02.2011
  • Ушёл в реал Пользователь offline
  • 1 665 комментариев
  • 267 публикаций
 
  • 0
drinks
Иван, это не так. Масштабность вашего труда и творческий потенциал настолько ошеломляет, что теряется дар комментирования по делу.

<
  • Гражданин
28 сентября 2012 15:03

Максим Черепанов / еще один max

Цитата
  • С нами с 10.03.2009
  • Ушёл в реал Пользователь offline
  • 91 комментарий
  • 10 публикаций
 
  • 0
Давно следил за эпопеей. ЗдОрово, мне очень все понравилось. Хоть бери да коммунальщикам в Сколково посылай. А? Уверен что в мире аналогов проекту нет.

<
  • Гражданин
29 сентября 2012 20:29

Иван Гаврилов / Discover

Цитата
  • С нами с 17.08.2009
  • Ушёл в реал Пользователь offline
  • 38 комментариев
  • 15 публикаций
 
  • 0
еще один max,
Аналогов в чистом виде, я не встречал, хотя сильно и не озадачивался поиском оных. Пытаюсь "пинать" своих коммунальщиков, пока не очень получается.

<
  • Кандидат
2 августа 2015 15:10

Виктор / semenchuk85

Цитата
  • С нами с 21.07.2013
  • Ушёл в реал Пользователь offline
  • 1 комментарий
  • 0 публикаций
 
  • 0
Цитата: Discover
Игорь спасибо за поздравление!
До космических высот еще далеко - буду тянуться smile

Добрый день. Заинтересовался Вашим проектом, т.к. тоже электрик в своем доме и соседнем. Но мне он насколько я понял не очень подходит, объясню: У нас в светильниках стоят блок энергосберегающий
“Экосвет-Р-200-Л”, который включает лампы с цоколем 2G7 в зависимости от освещения и срабатывает на звук, поэтому одновременно все лампы не работают.
Если у Вас есть желание тянутся до космических высот, то было бы интересно посмотреть на новую версию лампочкометра. Насколько я понимаю, тут нужно что то адресное, может по CAN-шине...

<
  • Гражданин
4 августа 2015 01:22

Иван Гаврилов / Discover

Цитата
  • С нами с 17.08.2009
  • Ушёл в реал Пользователь offline
  • 38 комментариев
  • 15 публикаций
 
  • 0
Цитата: semenchuk85
Добрый день. Заинтересовался Вашим проектом, т.к. тоже электрик в своем доме...
...было бы интересно посмотреть на новую версию лампочкометра. Насколько я понимаю, тут нужно что то адресное, может по CAN-шине...


Да, мой проект как есть Вам не подходит, только идея! CAN тут не очень смотрится - придется тянуть еще одну нитку для связи, моя реализация хороша тем, что я не тянул лишних проводов! Да, есть желание дотянуться до космических высот и есть идеи по улучшению Лампочкометра, в том числе и возможность идентификации каждого светильника(Ваш случай), но есть несколько НО.
Лампочкометр в нынешней реализации справляется со своей задачей на все "сто"; Я собираюсь уйти от ламп накаливания; и просто не хватает времени - есть более приоритетные задачи. Рад что Вам понравился мой проект.

Добавление комментария


Налетай! Паяльники, станции, жала с доставкой
  • smilelolbyewinkyahoocoollaughing
    crazybadcryingsadirefulsickstraight
    ballooncakegooddrinksmailbombsun
    nightrainstarscolddashguitar-manhandshake
    musicnegativenopardonshoksleepunknown
    wackoyawnblushbullyhashsmokingwhew
Скопируйте текст вашего комментария на случай неверного ответа на контрольный вопрос.