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

 
 
 

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

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

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


Кто не понял, вообще о чём речь, смотрите мои статьи на Датагоре:
• Лампочкометр - контроллер освещения, прибор для отображения количества исправных ламп
• Лампочкометр возвращается! (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

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

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


Контроллер системы водоснабжения «бак - насос» с ультразвуковым датчиком уровня.

Вперёд, товарищи! На дачу! В. Ленин И. Гаврилов Конечно, у меня уже есть уровнемер и большого...

Несколько функций для програмной реализации протокола I2C на AVR

Добрый день, дорогие друзья! Решил поделиться с вами несколькими функция для работы по протоколу...

Куда запихнуть свой УНЧ (фотоотчет)

Нет-нет, наши УНЧ не настолько плохи, чтобы сделать с ними то, что вы подумали! :bye: Давно...

Знакомьтесь: Flowcode. Программирование для AVR и PIC без программирования

Здравствуйте, друзья! В данной статье я хочу рассказать о своих впечатлениях при работе с...

USB-программатор AVR на FT232RL с буффером

Иметь дело с микроконтроллерами (как и вообще с цифровой техникой) мне приходится довольно редко и...

Лампочкометр возвращается! (vol. 2)

Вдох глубокий. Руки шире. Не спешите, три-четыре! Бодрость духа, грация и пластика. ...

Балластный регулятор для ветрогенератора (ветряка)

После того, как ветряк построен и работает, рано или поздно встает вопрос об утилизации лишней...

Счётчик витков для намоточного станка на ATtiny13

Случилось так, что припекло мне трансформатор мотать, всё бы хорошо, да станка только не хватает -...

Лампочкометр - контроллер освещения, прибор для отображения количества исправных ламп

ПрологС 2006 года я по совместительству работаю в своем доме электриком. Причины тому у меня были...

Управление шаговым двигателем с ПК

Драйвер для шагового двигателя, который управляется с персонального компьютера. Привет всем! Решил...

Миниатюрный полный USB-RS232 адаптер на CP-2102 для подключения микроконтроллера к

В продолжение к теме «Программатор AVR910», про маленькое устройство, хочу предоставить вашему...

10 практических устройств на AVR-микроконтроллерах. Книга 1. А.В. Кравченко

10 практических устройств на AVR-микроконтроллерах. Книга 1. А.В. Кравченко Издательство:...
<
  • Главный редактор
14 сентября 2012 11:53

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

  • С нами с 25.02.2011
  • На сайте Пользователь Онлайн
  • 1 606 комментариев
  • 257 публикаций
 
  • 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
  • На сайте Пользователь Онлайн
  • 1 606 комментариев
  • 257 публикаций
 
  • 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 тут не очень смотрится - придется тянуть еще одну нитку для связи, моя реализация хороша тем, что я не тянул лишних проводов! Да, есть желание дотянуться до космических высот и есть идеи по улучшению Лампочкометра, в том числе и возможность идентификации каждого светильника(Ваш случай), но есть несколько НО.
Лампочкометр в нынешней реализации справляется со своей задачей на все "сто"; Я собираюсь уйти от ламп накаливания; и просто не хватает времени - есть более приоритетные задачи. Рад что Вам понравился мой проект.

Информация
Вы не можете участвовать в комментировании. Вероятные причины:
— Администратор остановил комментирование этой статьи.
— Вы не авторизовались на сайте. Войдите с паролем.
— Вы не зарегистрированы у нас. Зарегистрируйтесь.
— Вы зарегистрированы, но имеете низкий уровень доступа. Получите полный доступ.