Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > CyberWrt

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.05.2014, 16:32   #1
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию CyberWrt модуль "AquaLog"

Коммерческая версия "AquaLog" или "WaterLog" уже в продаже

Вчера вечером после очередной подачи данных о расходе воды, я решил что хватит, надоело каждый месяц лазить в стояк с фонариком, бумажкой и ручкой для снятия показаний счетчиков воды. У меня два санузла и четыре прибора учета. Не то что бы лень, но согласитесь проще нажать кнопку за компьютером, чем тратить каждый раз на это время. По этому было решено сделать систему для дистанционного снятия показаний расхода горячей и холодной воды. Так же решено применить такую же систему учета, для проверки ресурса фильтров воды, потому как гадать на пальцах когда закончится срок службы фильтров, не по нашему. Умный дом должен быть во всем умным

Работает модуль так:
Информация о расходе воды отображается в веб интерфейсе, в виде графического изображения счетчиков и графиков
На графиках отображается расход воды за неделю с шагом 1 час
Так же в веб интерфейсе планируется сделать кнопку для отправки показаний на сайт https://pgu.mos.ru/ru/ или любой другой сайт предоставляющий такую же услугу. Нами сейчас тестируется и допиливается возможность отправка уведомлений на телефон по СМС и e-mail
В настройках можно установить начальные показания счетчиков, также при необходимости можно корректировать счетчики, то есть Вы в любой момент сможете внести текущие показания счетчика.
Можно изменить цену деления(количество литров на 1 импульс)
Для выбора порта, нужно сначала подключить Arduino и выбрать соответствующий ему порт

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

Для самостоятельного изготовления такого устройства Вам понадобятся:
Маршрутизатор Nexx WT3020H с прошивкой CyberWrt
Arduino Nano V.7
У Вас на водопроводе должны быть установлены счетчики расхода горячей и холодной воды с выходящим из них проводом

Схема подключения счетчиков
Для борьбы с дребезгом использовал керамический конденсатор 0,1мкф, установленный параллельно входу
Нажмите на изображение для увеличения
Название: Large.jpg
Просмотров: 7990
Размер:	110.1 Кб
ID:	1721

Для работы CyberWrt с Arduino Nano устанавливаем модуль "FTDI Driver"

Скачиваем библиотеку CyberLib.h, распаковываем и кладем в папку ..\arduino-хххх\libraries
Заливаем в Arduino Nano V.7 ниже представленный скетч
PHP код:
#include <CyberLib.h>

volatile uint16_t Hot_CountCold_Count
uint16_t HotCold;
void setup()  

  
D2_InD2_HighD3_InD3_High//сконфигурировать входы и подтянуть к +питания
  
attachInterrupt(0HotWaterFALLING );             // привязываем 0-е прерывание к функции HotCount(). 
  
attachInterrupt(1ColdWaterFALLING );            // привязываем 1-е прерывание к функции ColdCount().
  
Serial.begin(57600); 
  
wdt_enable (WDTO_1S);    //Сторожевая собака 1сек.   
}  

void loop()  
{  
Start
    
if (Serial.available()>1)
    {   
       
uint8_t inByte Serial.read();   
        if(
inByte=='#')
         { 
          
inByte Serial.read();
          if(
inByte=='W')
          {
           
delay_ms(200);
            
cli();
            
Hot=Hot_Count;
            
Cold=Cold_Count;
            
Hot_Count=0;
            
Cold_Count=0;
            
sei();
            
Serial.print("Hot: "); 
            
Serial.print(Hot);
            
Serial.print(" Cold: ");  
            
Serial.println(Cold);         
          }
         }  
     }
 
wdt_reset(); //покормить собаку 
End 

//*******************************
void ColdWater() 

  
Cold_Count++;  


void HotWater() 

  
Hot_Count++;

Всем кто желает помочь, прошу высказать свои мысли на эту тему

Внешний вид веб интерфейса
Нажмите на изображение для увеличения
Название: counter.jpg
Просмотров: 2715
Размер:	83.8 Кб
ID:	1726
Admin вне форума   Ответить с цитированием
 


Здесь присутствуют: 3 (пользователей: 0 , гостей: 3)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 13:29. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика