POWER MONITOR на Arduino
Модератор: immortal
- Kod.Begemot
- Сообщения: 358
- Зарегистрирован: Чт июн 20, 2013 5:53 pm
- Благодарил (а): 32 раза
- Поблагодарили: 42 раза
-
- Сообщения: 81
- Зарегистрирован: Пт окт 02, 2015 7:47 pm
- Благодарил (а): 7 раз
- Поблагодарили: 4 раза
Re: POWER MONITOR на Arduino
однозначно,но есть один большой минус,это все в пределах одного щитка,на много метров это не работает...хотя на сколько не знаю...
но уверен,ибо не было бы модулей RS485 для ардуин....
дальше уже нужно смотреть в именно сторону RS485,хотя его суть все равно на основе SoftwareSerial...
именно поэтому дальнейшие мои планы,это освоить передачу данных на 2.4Ггц на модулях NRF2401,давно они у меня уже пылятся,ждут своего часа=)
но уверен,ибо не было бы модулей RS485 для ардуин....
дальше уже нужно смотреть в именно сторону RS485,хотя его суть все равно на основе SoftwareSerial...
именно поэтому дальнейшие мои планы,это освоить передачу данных на 2.4Ггц на модулях NRF2401,давно они у меня уже пылятся,ждут своего часа=)
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: POWER MONITOR на Arduino
На этой шине в АМС висят часы. Ваше изобретение совместимо с другими устройствами? Будет ли это работать параллельно с другими устройствами?короче,ребята,это гениально!!=))все сработало!любопытство победило и я присоединил второй слейв...просто назначил ему другой адрес,ну и с мастера обращался по очереди сначала к одному,потом ко второму и получал значения и с одного и со второго))мелочь,а приятно...
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: POWER MONITOR на Arduino
Громадное спасибо!!Просто прежде чем городить огород хотелось услышать про устойчивость системы передачи данных.(По сетке,сериалу или по-другому). Я только подхожу к реализации умного дома.Уже реально работает блок РМ для котельни с градусниками и мотором,но с индикацией на LCD на I2C.Плюс на шине будет сидеть внешний EEPROM. А дальше по такому блоку в каждый "тяжелый" девайс-стиралку,сушилку,бойлер....Все данные отображаются на своей страничке.....мечты...мечты...
Так что одной меги катастрофически не хватает.
Так что одной меги катастрофически не хватает.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 81
- Зарегистрирован: Пт окт 02, 2015 7:47 pm
- Благодарил (а): 7 раз
- Поблагодарили: 4 раза
Re: POWER MONITOR на Arduino
мне,конечно,очень приятно,но к сожалению,изобретение не мое=))...просто,вероятно,среди нас AMSшников я первый это попробовал в практике..а так то для этого шина i2c и разработана...Alex писал(а): На этой шине в АМС висят часы. Ваше изобретение совместимо с другими устройствами? Будет ли это работать параллельно с другими устройствами?
немножко не понял про "другие устройства"...
а в целом,конечно,у меня так и работает в моем проекте и часы и про мини сидит на шине,ну вот пару постов выше еще одну дуинку подсоединял,все работает...с часами мы работаем через библиотеку и если в ней поколупаться,то наверняка найдем,что обращаемся к ним мы по адресу(просто он на всех часах один и тот же)...загрузите скетч i2c-сканер,подключите часы и вы увидите,что на самом деле ардуина найдет два устройства(ну,это что касается заводских часов DS1307 и DS3231),первое это часы,а второе-eeprom 24c32(c которой я работаю на due)....
так и живем...
СпойлерПоказать
Код: Выделить всё
////////////////////////////////////
// I2C SCANER
////////////////////////////////////
#include <Wire.h>
void setup()
{
Wire.begin();
Serial.begin(9600);
while (!Serial); // Leonardo: wait for serial monitor
Serial.println("\nI2C Scanner");
}
void loop()
{
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for(address = 1; address < 127; address++ )
{
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the address.
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0)
{
Serial.print("I2C device found at address 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");
nDevices++;
}
else if (error==4)
{
Serial.print("Unknow error at address 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");
delay(5000); // wait 5 seconds for next scan
}
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: POWER MONITOR на Arduino
При случае можно будет воспользоваться. Как я понял, это для специфического случая, когда два контроллера находятся рядом.мне,конечно,очень приятно,но к сожалению,изобретение не мое=))...просто,вероятно,среди нас AMSшников я первый это попробовал в практике..а так то для этого шина i2c и разработана...
немножко не понял про "другие устройства"...
а в целом,конечно,у меня так и работает в моем проекте и часы и про мини сидит на шине,ну вот пару постов выше еще одну дуинку подсоединял,все работает...с часами мы работаем через библиотеку и если в ней поколупаться,то наверняка найдем,что обращаемся к ним мы по адресу(просто он на всех часах один и тот же)...загрузите скетч i2c-сканер,подключите часы и вы увидите,что на самом деле ардуина найдет два устройства(ну,это что касается заводских часов DS1307 и DS3231),первое это часы,а второе-eeprom 24c32(c которой я работаю на due)....
так и живем...
-
- Сообщения: 81
- Зарегистрирован: Пт окт 02, 2015 7:47 pm
- Благодарил (а): 7 раз
- Поблагодарили: 4 раза
Re: POWER MONITOR на Arduino
да,я тоже так думаю...если бы шина i2c работала на большие дистанции,это бы было крутое решение из "коробки",а так заморачиваются с rs485 и подобным..
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: POWER MONITOR на Arduino
Вообще-то мне казалось что rs485 на техже rx-tx работает.На Али шилды 10$ мешок(20 штук).И до 32 машин можно связать.
И уж если мы мониторим сеть и мощность,то святое ещё и киловатт-часы считать.А помножить на деньги сразу в местных
Тугриках).13 счетчиков на халяву-это жесть.В скетче выше реализован один,и сразу отпадает куча вопросов(где деньги,Зин..)
Там 10 строк кода и коряво выводится на экран,но с этим борюсь потихоньку.Если идея понравится Вам,то вопрос Алексу-может
интегрировать это в следующюю версию АМС ?
И уж если мы мониторим сеть и мощность,то святое ещё и киловатт-часы считать.А помножить на деньги сразу в местных
Тугриках).13 счетчиков на халяву-это жесть.В скетче выше реализован один,и сразу отпадает куча вопросов(где деньги,Зин..)
Там 10 строк кода и коряво выводится на экран,но с этим борюсь потихоньку.Если идея понравится Вам,то вопрос Алексу-может
интегрировать это в следующюю версию АМС ?
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 254
- Зарегистрирован: Ср июл 09, 2014 3:48 pm
- Благодарил (а): 6 раз
- Поблагодарили: 41 раз
Re: POWER MONITOR на Arduino
Для шины I2C существуют специальные буферы, P82B96 и P82B715, с помощью которых расстояние можно увеличить до 20 м (при подтяжке к 5В) или даже до 100 м (при подтяжке к 12В).pastry777 писал(а):если бы шина i2c работала на большие дистанции
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: POWER MONITOR на Arduino
Общий принцип такой: вы публикуете здесь решение и каждый желающий может им воспользоваться. Как только у меня дойдут руки, то можно совместными усилиями интегрировать что-то в АМС.Алексу-может
интегрировать это в следующюю версию АМС ?