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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.10.2014, 22:30   #131
Winsent
Junior Member
 
Регистрация: 01.10.2014
Сообщений: 4
Вес репутации: 0
Winsent is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "AquaLog"

Дак вот, я его тоже прикупил для установки к системе обратного осмоса.
Winsent вне форума   Ответить с цитированием
Старый 26.10.2014, 07:32   #132
r00f
Junior Member
 
Регистрация: 26.10.2014
Сообщений: 14
Вес репутации: 0
r00f is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "AquaLog"

Выложите пожалуйста текущую рабочую версию, а то показание не корректируются, текущие значение не отображаются, зато график работает ) Вместе допилим.
r00f вне форума   Ответить с цитированием
Старый 26.10.2014, 08:59   #133
r00f
Junior Member
 
Регистрация: 26.10.2014
Сообщений: 14
Вес репутации: 0
r00f is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "AquaLog"

Цитата:
Сообщение от Admin Посмотреть сообщение
Наблюдается отставание AquaLog от счетчика, 10 - 20 литров за 1 неделю
По этому тестирование такое длительное. После любого изменения и дополнения кода приходится ждать неделю
Если не получится, то будем дополнять AquaLog обратной связью с контроллером, контроллер будет обнулять счетчик только после подтвердения получения данных AquaLog-ом
Скорее всего происходит потеря когда, импульс попадает на работу выдачи текущих значений и их обнуления, т.е. если прийдёт прерывание по горячей воде, в момент когда в последовательный порт идёт отправка Hot_Count, то значение инкрементируется, а затем следующей командой обнулится и не будет учтено. Выключите прерывания, скопируйте Hot_Count в Hot_Count_temp и обнулите Hot_Count, включите прерывания, затем отправляйте значения Hot_Count_temp в последовательный порт. Тоже самое с холодной водой.
r00f вне форума   Ответить с цитированием
Старый 26.10.2014, 09:18   #134
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
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
По умолчанию Re: CyberWrt модуль "AquaLog"

Прерывания на момент копирования и обнуления я отключаю
Admin вне форума   Ответить с цитированием
Старый 26.10.2014, 09:24   #135
r00f
Junior Member
 
Регистрация: 26.10.2014
Сообщений: 14
Вес репутации: 0
r00f is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "AquaLog"

Цитата:
Сообщение от Admin Посмотреть сообщение
Прерывания на момент копирования и обнуления я отключаю
Пожалуйста выложите текущую работающую версию прошивки и модуля, сразу меньше глупых советов будет )
r00f вне форума   Ответить с цитированием
Старый 26.10.2014, 22:10   #136
r00f
Junior Member
 
Регистрация: 26.10.2014
Сообщений: 14
Вес репутации: 0
r00f is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "AquaLog"

Ладно, вроде разобрался, в таблице WaterCounters не было ни одной записи, и поэтому последующие её апдейты успеха не приносили.
Плюс в /www/cgi-bin/modules/watermeter/counters.cgi
if [ "`df -h | awk '{print $4}' | sed '2!d'`" -lt 100 ] ; then
стоит df -h, и шел ругается когда там появляются буквы, или просто df, или df -k, что собственно одно и тоже.
r00f вне форума   Ответить с цитированием
Старый 27.10.2014, 14:51   #137
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
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
По умолчанию Re: CyberWrt модуль "AquaLog"

Цитата:
Плюс в /www/cgi-bin/modules/watermeter/counters.cgi
if [ "`df -h | awk '{print $4}' | sed '2!d'`" -lt 100 ] ; then
стоит df -h, и шел ругается когда там появляются буквы, или просто df, или df -k, что собственно одно и тоже.
А как решили эту прлблему?
Admin вне форума   Ответить с цитированием
Старый 27.10.2014, 22:42   #138
r00f
Junior Member
 
Регистрация: 26.10.2014
Сообщений: 14
Вес репутации: 0
r00f is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "AquaLog"

Цитата:
Сообщение от Admin Посмотреть сообщение
А как решили эту прлблему?
я свою инструкцию напишу, на всякий случай. роутер MC3020 с прошивкой CyberWrt-v1.4.bin, arduino nano v3.

1. arduino

Код:
#include <CyberLib.h>

volatile uint16_t Cold_Count;
volatile uint16_t Hot_Count;

void setup()  
{ 
  D2_In; D2_High; D3_In; D3_High;
  attachInterrupt(0, HotWater, FALLING );            
  attachInterrupt(1, ColdWater, FALLING );       
  Serial.begin(57600); 
  wdt_enable (WDTO_1S);      
}  


void loop(){
  Start
  if (Serial.available()>1) {   
    uint8_t inByte = Serial.read();   
    if (inByte == '#') { 
      inByte = Serial.read();
      if (inByte == 'W') {  
        delay_ms(100);

        noInterrupts ();
        uint16_t tmp_hot = Hot_Count;
        Hot_Count = 0;
        uint16_t tmp_cold = Cold_Count;
        Cold_Count = 0;
        interrupts ();
           
        Serial.print("Hot: "); 
        Serial.print(tmp_hot);
            
        Serial.print(" Cold: "); 
        Serial.println(tmp_cold); 
      }
    }  
  }
     
  wdt_reset(); 
  End
} 

//*******************************
void ColdWater() 
{ 
  Cold_Count++;  
} 

void HotWater() 
{ 
  Hot_Count++;
}
2. роутер: инсталируем модуль аквалог и модуль терминал и файловый менеджер

3. файловым менеджером ищем /www/cgi-bin/modules/watermeter/counters.cgi, открываем для редактирования и исправляем строчку

PHP код:
if [ "`df -h | awk '{print $4}' | sed '2!d'`" -lt 100 ] ; then 
на
PHP код:
if [ "`df -k | awk '{print $4}' | sed '2!d'`" -lt 100 ] ; then 
4. в терминале инициализируем таблицу WaterCounters

PHP код:
sqlite3 /www/WaterCount.db "insert into WaterCounters(TIME, HOT, COLD) values(`date +%s`, 0, 0);" 
всё, теперь можно настраивать значения в аквалоге и пользоваться.
и если нужно удалить график, то

PHP код:
sqlite3 /www/WaterCount.db "delete from WaterCount" 
r00f вне форума   Ответить с цитированием
Старый 27.10.2014, 22:56   #139
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
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
По умолчанию Re: CyberWrt модуль "AquaLog"

Arduino Nano V.3 имеет дефект , не поддерживает WDT
Удалите в скетче строки с WDT
Admin вне форума   Ответить с цитированием
Старый 28.10.2014, 02:37   #140
r00f
Junior Member
 
Регистрация: 26.10.2014
Сообщений: 14
Вес репутации: 0
r00f is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "AquaLog"

Цитата:
Сообщение от Admin Посмотреть сообщение
Arduino Nano V.3 имеет дефект , не поддерживает WDT
Удалите в скетче строки с WDT
О! Спасибо, не знал. Обновил бутлоадеры на всех своих нанах. С загрузчиком optiboot 4.4 всё работает.

Последний раз редактировалось r00f; 28.10.2014 в 02:44.
r00f вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 3 (пользователей: 0 , гостей: 3)
 

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

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

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


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


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