а я знаю что я не ошибаюсь... и я дал вам достаточно информации для размышления что бы вы сделали правильный вывод...
вы ошибаетесь, если не делать stop - ethernet работает на ура
мне так неловко, что ВЫ соизволяете тратить свое наимудрейшее время, чтобы дать мне почву для самостоятельного размышления, чтобы я не глупел от готовых решений, а приходил к ним сам. Поэтому не отвечайте на мои посты больше ни здест ни в других местах. Общение с Вами закрыто
интересно, если делать синхронизацию часов по радио то есть ли какой-то хитрый алгоритм как учесть время на передачу? У меня разница между часами на гейте и тех которые синхронихзируются с гейтом порядка секунды
врядли логику ntp стоит перекладывать на радио, все таки ethernet от nrf24 отличаются. В простом случае для дома можно проигнорировать ошибку в 0,5-1 секунды. Либо произвести замеры средней ошибки и запрограмировать корректировку, тогда ошибка наверно будет и меньше 0,5сек.
теоретически можно делать несколько посылок с тем, чтобы определить время прохождения и тогда корректировка будет считаться автоматически. но это только теоретически
Вам было интересно я ответил. А так, конечно, можно игнорировать секунду или десять секунд. Ethernet и RF24 в этом контексте ни чем не отличаются. Нужно отправить запрос и получить ответ. А летят ли байтики по меди или по воздуху, и завёрнуты ли они в tcp/ip или во что-то от nrf24l01+ не важно.
В статье sntp как раз сформулировано хорошо ...
В качестве текущего времени устанавливается значение Т3 с поправкой t, которая вычисляется по формуле:
t = ((Т2 – Т1) + (Т3 – Т4)) / 2
где
Т1 Время отправки запроса клиентом
Т2 Время приёма запроса сервером
Т3 Время отправки ответа сервером
Т4 Время приёма ответа клиентом
связка трех устройств заработала на полную. Часы теперь сами спрашивают гейт, а гейт отвечает с правильным значением часов
кроме того удалось интегрировать умный дом (zvawe) - по событию "все ушли из дома" умный дом дергает гейт по http, тот в свою очередь по радио сообщает новый статус контроллеру плиты и теперь если окажется, что плита потребляет ток - она будет аварийно обесточена (защита от забытой кастрбли на плите). Все это не самоцель, а отработка решений
следующим шагом надо на гейте поднять web клиента, чтобы уже со стороны гейта дергать умный дом и сообщать ему информацию полученную по радио
позникла еще одна непонятная деталь. Мои три устройства общаются друг с другом, но почему-то иногда гейт получает сообщения адресованные между двумяя другими устройствами. Почему так? использую адресацию NRF24 - указываю 40 битный адрес как при открытии pipe на запись так и при открытии pipe на чтения.
делюсь. добрался до окончательнйо сборки и установке тройки устройств. Для меня это концепт для дальнешего развития умного дома на базе AVR/arduino+NRF24
здесь контроллер плиты (будет стоять за духовкой, управлять силовой нагрузкой духовки и варочной поверхности и измерять потребляемые токи) и контроллер вытяжки (автоматическое управление подсветкой и вентиляцией в зависимости от токов потребления измеренных первым контроллером):
здесь гейт для интеграции с домашней сетью, интернетом и умным домом z-wave
понравилась работа часов - полностью атвономная от ручных операций синхронизация времени. Так лень по всему дому подстраивать часы! :) Гейт раз в сутки синхронизирует свои RTC (DS1307) часы с интернет по NTP, а часики на вытяжке синхронизируют свои RTC (DS1307) с гейтом раз в сутки и один раз после подачи питания.
моя структура ля радио:
// basic network message structure, it is common to all network messages
struct axill_network_message {
unsigned char version; // 01 | version of the format
unsigned char data_type; // 01 | type of data in data[]
unsigned char control; // 01 | is used to be sure that message of right format
unsigned char to_addr[3]; // 03 | receiver address
unsigned char from_addr[3]; // 03 | transmitter address
unsigned char throuth_addr[3]; // 03 | address of a node though which we are sending message
unsigned char data[20]; // 20 | data to be send
};
синхронизация по радио сделана так:
- контроллер вытяжки формирует сообщение для гейта в котором в качестве типа сообщения (data_type) указывает мой тип - запрос и подтип (data[0]) - запрос RTC и в поле from_addr прописываются младшие 3 байта самого контроллера вытяжки (старшие два байта по всей сети одинаковы)
- гейт получив такое сообщение формирует сообщение со структурой RTC указав data_type как rtc, адрес для openWritingPipe формируется на базе поля from_addr полученного сообшения
структура axnet_clock прописывается на тоже место что data в моем сообщении, т.е. в зависимости от data_type я интерпретирую массив data[20] по разному. В самом простом случае фиксирую "договоренность" между устройствами по поводу того какой элемент массива за что отвечает. В более сложном случае как с часами к data[20] я обращаюсь как к структуре типа (struct axnet_clock)
mihart пока прошивка по старинке с проводами :) жду новостей
у меня просто правило: собрал чени-нить, после этого оставляю на несколько дней на стенде, и гоняю в хвост и гриву
на стенде (на столе) гонял долго
сказывается видимо экранивроание и возможно помехи от силовых цепей, на стенде не было возможности полноценную нагрузку подключить - для одного устройства это две светодиодные лампы и вентилятор (вятяжка) для второго 2,5квт духовки + 5,5квт варочная поверхность.
корпус вытяжки из нержавейки - сушественное экранирование
сообщения теперь пролетают как придется - то густо то пусто, то серия прилетает то несколько серий не долетают ((
а если заменить на модули с внешней антенной? или поставить дополнительный релей?
усложнение сильное - по сути между устройствами всего то два метра - одно внизу за духовкой второе наверху встроено в вытяжку
вот что значит грамотная проектировка ) у меня как-то не очень вышло - всплыли косяки по радио, одна релюшка китацская залипает (не сталкивался раньше с таким - щелбаном приводится в норму а потом снова залипает), семисторные ключи для управдения нагрузкой греются больше предполагаемого, вентиялятор принудительного охлаждения мелковат отказался )) По кругу целый список доработок
Зато часики на вытяжке получились знатные - с ежедневной синхронизацией с интернет) благо на гейте я сразу поставил радио с усилителем мощности и приема - из другой комнаты синхронизация нормально проходит
я вот пока не потерял надежду как-то решить програмно, все-таки сообщения доходят. Делал ли кто замер зависимости дальности связи от битрейта? стоит ли его понижать? (сейчас 1мбит). Стоит ли играться с каналами? Все таки 2,4ггц очень зашумлен wifi-ем. Помнится был момент когда я не понял почему у меня в квартире пропал wifi - потом случайно заметил, что стоит выключить радионяню и wifi работает как раньше)) Разнес каналы.
Еще пытаюст понять где у maniacbug в RF24 возсожность проверить статус доставки сообщения? В библиотеке предусмотрена долбежка до 15 попыток, а я мог бы поверх накрутить еще пару десятков, только не вижу такого метода. В другой библиотеке для nrf24 есть такая функция, значит в железе возможность предусмотрена
объективно сложно оценить, но субъективно ситуация улучшилась после того как я снизил скорость до 250кбит и проверку четности сделал по 8 битам
нашел, что в библиотеке radio.write возвращает статус доставки сообщения (0 - ошибка, 1 - успех)
почему-то у меня возвращается всегда ошибка даже тогда когда сообщение доставляется успешно. Почему так? Нужно ли какие-то специальные настройки делать, чтобы этот механизм работал?
// basic network message structure, it is common to all network messages
struct axill_network_message {
unsigned char version; // 01 | version of the format
unsigned char data_type; // 01 | type of data in data[]
unsigned char control; // 01 | is used to be sure that message of right format
unsigned char to_addr[3]; // 03 | receiver address
unsigned char from_addr[3]; // 03 | transmitter address
unsigned char throuth_addr[3]; // 03 | address of a node though which we are sending message
unsigned char data[20]; // 20 | data to be send
};
Не сочтите, что смеюсь или цепляюсь, но комментарии хромают на обе ноги. Определенно, что есть смысл писать их на английском, но даже я со своими, более чем скромными, языковыми скиллами вижу, что фразы построенные по правилам русского языка, но посредством английских слов, выглядят презабавнейше. "is used to be sure that message of right format" в обратном переводе будет "привык полагаться, что сообщение из формата прав". Именно так его воспримут англоговорящие. Кто привык полагаться и где находится этот "формат прав", совсем им будет не понятно. :) Наверное было бы правильно написать что-то навроде: whether a message has valid structure or not.
Сожалею, что вы не понимаете мой английский. Насчет иностранцев не переживайте, у меня более чем 14 летний опыт общения на разговорном и письменном английским как с носителями языка с обоих континентов так и с иностранцами не носителями языка.
Проблем с пониманием никогда не было.
если что то не понятно из моих сообщений - всегда готов дать разъяснения на русском
конкретно это поле на которое вы сослались я пока не использую, но планирую в нем держать что-то типо контрольной суммы, чтобы проверять сообщение на "достоверность" или просто на то что оно пришли в нужном формате
Привет. Когда мне месяц назад пришли L01 у меня руки дошли развести платку и попробовать их запустить. Не заработали. Заказал себе уже распаянные модули, аналогичные LE1 с программатором, платой тестирования и т.д.
Жду модули.
Но в любом случае, ни на что пока времени нет, у меня переезд. Мне сейчас актуальнее ремонт, установка перегородок, утепление лоджий и т.д. У меня нет мастерской как было на прежней квартире, угла даже попаять нет. Через месяц надеюсь оборудую комнату, апдейты будут.
Пока что после просмотра твоей статьи понял, что мне СОВЕРШЕННО НЕОБХОДИМ 3d принтер, который и заказал. Он успел придти, уже кучу всяких крепежек жене распечатал.
Еще по сути LE1 восстановил контакт со специалистом, который разрабатывал алгоритм общения охранных систем SOBR. Они работают на этих чипах. У него все по часам работает, даже если обложить метку ключами. Он в Австралии сейчас, пересечься по времени трудно, но одно точно - скорость нужно выбирать минимальную!
ух.... прикрутил к своей библиотеке механизм управления параметрами по радио с сохранением в EEPROM. Пока сделал только метод удаленного изменения значений, позже прикручу удаленный просмотр списка параметров и индивидуальных значений. Параметры удаленно адресуются 8 символьным именем, а в программе самого устройства - как обычные переменные.
Сначала в программе делается объявление параметров:
AXNET_EEPARAM_UINT8(disp_clk, 10) // сек, вермя отображения часов
AXNET_EEPARAM_UINT8(disp_dat, 2) // сек, время отображения даты и года
AXNET_EEPARAM_UINT8(disp_par, 2) // сек, время отображения значений с контролера плиты в секундах
const struct axnet_eeparams axnet_ee_params_array [] PROGMEM = {
AXNET_EEPARAM_LIST_UINT8(disp_clk),
AXNET_EEPARAM_LIST_UINT8(disp_dat),
AXNET_EEPARAM_LIST_UINT8(disp_par),
};
Для удобства написал макросы, внутри они раскрываются в определения переменных с атрибутом EEMEM, обычной переменной для использования и строки с именем переменной. Получается само описывающая структура данных, сохраняемая в память программ (PROGMEM). Структура описывает количество переменных, их тип, название, адреса хранения в EEPROM и в RAM. Легко настроил 10 параметров, для простоты тут указываю 3. Пока реализовал один тип - uint8, но все расчитано на расширение, будут uint16, uint32 и char[8].
в начале программы делаю инициализацию, при ней переменные в памяти заполняются значениями из eeprom:
// проверяем наличие сообщений
switch(axnet_update()) {
axnet_message message; // не было сообщений
case axnet_update_none:
break;
case axnet_update_done: // автоматически обработаны известные типы сообщений
// в том числе изменение параметров
.....
break;
case axnet_update_ready: // обрабытываю специфичные сообщения
axnet_copy_last_message(&message);
switch(message.data_type) {
break;
case axnet_update_donerr:
status_blue_count = 3;
break;
default:
// непонятный тип сообщений
}
break;
default:
// непонятный статус axnet_update
}
После изменения по радио автоматически меняется значение как в EEPROM так и в RAM - программа тут же начинает работать с новым значением
это конечно не програмирование по радио, но позволяет подстраивать параметры логики без перепрограмирования. На финальной отладке как правило именно эти параметры и нужно настраивать под удобство использования. Существенно снижается потребность в удаленной прошивке.
Кстати таким образом можно делать домашние устройства без органов управления! Никаких кнопок, клавиатур. Все упрощается. Без фанатизма конечно, там где это удобно - все можно настраивать удаленно, через WEB или еще как
для отработки концепта сделал простые часики без органов управления - время автоматически берется из сети, а все настройки из браузера. Сделано на atmega8 - скетч около 6кб. Динамическая индикация сделана с програмным ШИМом - яркость меняется в зависимости от освещенности
Подумываю над сетью из устройств на nrf24l01. Нашел данную ветку. Прочитал всю за несколько вечеров. Вначале проскакивали идеи о передачи данных от одной точке к другой (мэш сети, или что-то подобное), если получатель вне зоны видимости источника. Но так и не понял был ли реализован в железе данный алгоритм ?
П.С. К сожалению я не использую arduino, люблю свои железки. Последнии три года использую STM8, STM32.
Подумываю над сетью из устройств на nrf24l01. Нашел данную ветку. Прочитал всю за несколько вечеров. Вначале проскакивали идеи о передачи данных от одной точке к другой (мэш сети, или что-то подобное), если получатель вне зоны видимости источника. Но так и не понял был ли реализован в железе данный алгоритм ?
П.С. К сожалению я не использую arduino, люблю свои железки. Последнии три года использую STM8, STM32.
привет! Я тоже предпочитаю делать устройства без ардуино, но так исторически сложилось, что я начал с atmel и сейчас мне проще и дальше на нем делать, чем изучать еще и STM, хотя по-моему STM явно одновременно и круче и дешевле. Ардуина бывает хороша, чтобы с чего-то начать или опробовать идею. Моей гейт в интернет на ардуине - убил бы кучу времени собирать библиотеки под wiznet и под tft для голого МК.
STM - вполне реально делать на нем, но нужно будет повозится с настройкой библиотек. В сети есть ряд готовых библиотек, но надо быть готовым к "докручиванию" и доведению до ума.
Полноценной реализации мэш сети нет, по крайней мере в открытом доступе. Есть некое подобие сделанное maniacbug и увы только для ардуины. Но логика его библиотеки достаточно проста, чтобы ее переложить на другое МК.
Я решил сделать упор сначала на функциональность - на реальные работающие устройства. А потом можно уже и прикрутить фишки для сети. В крайнем случае есть модули с усилителем - их можно ставить на большом удалении без всякой мэш сети
Готовая реализация мне не особо интересна. Это хобби поэтому приятнее написать самому.
В наличии парочка модулей есть. Заказал ещё 10 по баксу за штуку. Модули только включал для проверки связи, плотно не работал.
Есть шилд на 5100, тут решил купить готовый, всего 300 руб с ебея, а у нас только сами чипы по 300 руб :(
Я сам начинал с АВР, тогда ещё с 2313 :) С появлением чего-то нового и интересного, при наличии времени, проявляю интерес, так было и с стм8, а потом и стм32. Понравились. Так на них и остался. У меня задачи не очень сложные, поэтому их слихвой хватает. С пол года назад была попытка вернутся на одном из устройств на АВР, но не смог, уж очень быстро привыкаешь к хорошему (ПДП (DMA), приоритеты прерываний, "авто" вложенность прерываний, единое адресное пространство, запуск кода из ОЗУ, больше фарша за ту же цену, 12 бит АЦП-ЦАП, "единая" периферия для стм 8 и стм32).
Познакомился с таким же любителем, при клонировании его устройства. Стали общатся, потом решили делать устройство совместно http://ziblog.ru/category/proektyi/zichip, http://www.forum.getchip.net/viewtopic.php?f=8&t=314 правда за год это устройство разрослось сильно и получается не совсем то :) Почему-то изначально решили использовать "провода", наверное для простоты. Сейчас вот я думаю как добавить радиоканал. Ну и более плотнее начал думать, что же я хочу реализовать дома. Скоро зима времени больше будет на хобби выделятся, поэтому начал активизироваться и набирать шурушки для опытов :)
Хорошо. Ещё раз спасибо за ответ. Буду следить за темой и вашими устройствами.
Спасибо за интерес. Всегда интересно общаться с людьми имеющими общие интересы) Сайт по ссылке смотрел на днях - очень интересный блог, но вот логику этой проводно-инфракрасной сети не воспринял, мне показалось не перспективен такой выбор каналов связи. У меня дома промышленного изготовления умный дом на zwave - по-моему идеальный вариант - легко разворачивать автоматизацию без капиатльных ремонтов, но вот в чем ограничение zwave - есть только такие возможности какие готовые устройства можно купить. Все остальное или громоздко и дорого или вообще не возможно.
вот тут мне и подходят самодельные устройства на МК с радиоканалом. Уже в отладке контроллер на водяные стояки - счет расхода, интеграция с системой протечки и замер температуры (для детекции отключения горячей воды).
Я долго созревал (год наверно) изучая не торопясь тему и самое сложное концептуально для меня было запустить гейт из радио сети в сеть компьютерную - без этого не возможна интеграция с действцующим умным домом. Сейчас понимание сложилось и пусть оно еще не окончательное (не все нужные решения отработаны), но что важно - перешло в практическую плоскость. От концептов перешел в реально работающим устройствам и это самое интересное. Можно как горячие пирожки печь устройства с последовательными доработками гейта. Было бы время и силы.
функция axnet_send_togateway отправляет сообщение с типом axnet_datatype_request и внутри сообщения передает подтип axnet_request_rtc
общую структуру я приводил уже, вот еще раз:
struct axill_network_message {
unsigned char version; // 01 | version of the format
unsigned char data_type; // 01 | type of data in data[]
unsigned char control; // 01 | is used to be sure that message of right format
unsigned char to_addr[3]; // 03 | receiver address
unsigned char from_addr[3]; // 03 | transmitter address
unsigned char throuth_addr[3]; // 03 | address of a node though which we are sending message
unsigned char data[20]; // 20 | data to be send
};
вот еще кусок кода:
uint8_t axnet_send(uint64_t to_addr, uint8_t data_type, void* message, uint8_t size) {
axnet_message msg;
uint8_t res;
// copy data to be send into cover
msg.data_type = data_type;
msg.version = 0x01;
_axnet_address_40bit_to_24bitarray(msg.from_addr, _axnet_myaddress); // setting 24bit from address
_axnet_address_40bit_to_24bitarray(msg.to_addr, to_addr); // setting 24bit to address
memcpy(&msg.data, message, (size<20)?size:20); // copy data to be send
#ifdef AXNET_RADIO_SMALL_DRIVER
uint64_t txaddress = _axnet_address_24bit_to_40bit(to_addr);
uint8_t temp;
nrf24_tx_address((uint8_t*)&txaddress);
/* Automatically goes to TX mode */
nrf24_send((uint8_t*)&msg);
/* Wait for transmission to end */
while(nrf24_isSending());
/* Make analysis on last tranmission attempt */
temp = nrf24_lastMessageStatus();
res = 0;
if(temp == NRF24_TRANSMISSON_OK)
{
res = 1;
}
else if(temp == NRF24_MESSAGE_LOST)
{
res = 0;
}
nrf24_powerUpRx();
_delay_ms(20);
#else
nrf24_stopListening();
nrf24_openWritingPipe(_axnet_address_24bit_to_40bit(to_addr)); // open writing pipe
res = nrf24_write(&msg, AXILL_NETWORK_PAYLOADSIZE); // actual blocking send
nrf24_startListening(); // return back to listening mode
#endif
return res;
}
uint8_t axnet_send_togateway(uint8_t data_type, void* message, uint8_t size) {
return axnet_send(axnet_gateway_address(), data_type, message, size);
}
#endif
в целом суть такая - устройство отправляет сообщение гейту - "какое сейчас правильное время?", гейт получив такое сообщение берет из поля from_addr адрес спрашивающего и формирует ответное сообщение на этот адрес, сообщение типа axnet_datatype_clock со структурой (на месте data[20]):
это будет fine tuning, т.е. когда основные задачи будут решенф...когда нибудь
займусь рюшечками типа этой
сейчас ниразу ни актуально. Более того - алгоритм #155 расчитан на то, что мы имеет точность хода часов сотые или тысячные доли секунды. На МК иметь часы с такой точностью затратно, таже известная всем DS1307 имеет точность хода секунду и у нее нет даже возможности синхронизировать начало этой секунды, так что не актуально иметь точность выще полусекунды, а такая обеспечивается и без наворотов
Так как у меня умный дом еще в самом начале пути, я задумался о том, как управлять освещением, посчитал, что обычные замыкающие реле мне не очень подходят, потому как если их подключить как нормально разомкнутые, то всегда когда я дома, они будут под напряжением - мне не нравится. Если же их подключить как нормально замкнутые, то они будут под напряжением, когда меня дома нет, что еще хуже.
По даташиту для управления светом под 220в они подходят, для остальных нагрузок лучше брать помощнее. Их плюс в том, что они не требуют питания во время работы, только во время переключения. Удобно при построении умного дома. Они дороже обычных реле, но стоимость остается смешной.
Печатает отлично, но поначалу показался капризным, вредничал по оси Z, первые большие детали отклеивались по углам. Почитал форумы, решил проблемы, дальше печатал как по маслу. Но тем, кто не хочет с такими капризами связываться, конечно лучше покупать чтото фабричное, тем более по цене вполне доступны.
В общем, планирую на следующей неделе все это добро опробовать. В сети есть прошивка бута для LE1 с возможностью дистанционной прошивки. Глядишь и велосипед изобретать не придется.
уверен опасние применять обычное реле напрасно. мои промышленные выклбчатели zwave работают с обычным реле. куда важнее то от чего они запитаны. Если от высокоэффективного импульсного преобразователя - нет проблем
что касается поляризованных - что то я не видел из массового применения
как они себя поведут?
как вариант еще использовать твердотельные реле
что касается 3д принтера - мой намного дороже, но такой же капризный
А как обычные реле в zwave подключены? как нормально-замкнутые?
Почему поляризованные? Они не такие) Обычное реле при включении притягивает контакт, при пропадании напряжения он возвращается на место. В тех, что купил я принцип тот же, но устроены они так, что в переключенном состоянии они фиксируются. То есть в плане безопасности они ничем не отличаются от обычных. От твердотельных - да отличаются.
mihart реле которые сохраняют состояние после снятия питания называются поляризованные)
не поляризованные реле востанавливают нормальное состояние если убрать питание. В выключателях z-wave от любого производителя стоят реле нормально разомкнутые
насчет безопасности - смотря что называтьбезопасностью. Почему считаешь, что нормально разомкнутое реле не безопасно? Если ставить поляризованное надо уж тогда брать брендовые реле, конструкция поляризованного реле сложнее, кто знает как китайское будет работать - будет ли оно менять состояние так как ты будешь предполагать?
Что-нибудь подбирали из китая? Посоветовать можете?
могу. Рассупыху покупал как раз в китае, но блок питания паял сам - бестрансфорсматорная конструкция на базе микросхем lnk302/lnk304/lnk306. По-моему самое компактное и эффективное решение для случаев когда не нужна гальваническая развязка с розеткой. В моих промышленных выключателях z-wave как раз такая же микросхема. В трех моих устройствах выше в двух устройствах именно такой блок питания. Схема прямо из даташита:
Причем настроить можно сразу на 5в или 3.3в чтобы не ставить дополнительных стабилизаторов
Блоки с гальванической развязкой самые удачные мне попались у этого продавца http://www.aliexpress.com/snapshot/258191915.html. Можно взять в корпусе или без него, но все равно самые компактные можно собрать именно на LNK
Спасибо, именно то, что искал! И где-то натыкался на эту схему, но найти не мог. Меня она смутила токами, 120мА вроде немного. Хватает? или при напряжении в 5в ток потребления может быть больше?
Ты смотри сам даташит на lnk. Если нужно могу здесь выложить. 120ма это lnk302. Lnk306 дает до 360ма. Но на самом деле 120 это тоже не мало. Для компактного реле с микроконтроллером может вполне хватить. А уж lnk306 хватит и подавно. Я покупал именно 306 как более универсальные так как по штучно их покупать не выгодно, выгодно брать 20-50 штук
Блоки с гальванической развязкой самые удачные мне попались у этого продавца http://www.aliexpress.com/snapshot/258191915.html. Можно взять в корпусе или без него, но все равно самые компактные можно собрать именно на LNK
А можно ссылочку обновить, а то текущая не работает :(
usb смущает тем, что это тесная интеграция с верой - сбой в ардуино может завесить веру, если у плагина ардуино нет связи с ардуино гейтом вера начинает ругаться и тратить ресурсы как минимум на ошибки в логах, а может и хуже
ну остается еще неудобство)) при добавлении или исправлении устройств веру таскаю по квартире - тут получится награмождение
но в целом идея классная у парня, главное все очень просто и изящно. Но опять де выходит модуль на arduino gateway надо не от нано запитывать а отдельно. У тебя сейчас от нано работает? Удалось решить проблему с потерей сообщений?
а я знаю что я не ошибаюсь... и я дал вам достаточно информации для размышления что бы вы сделали правильный вывод...
вы ошибаетесь, если не делать stop - ethernet работает на ура
мне так неловко, что ВЫ соизволяете тратить свое наимудрейшее время, чтобы дать мне почву для самостоятельного размышления, чтобы я не глупел от готовых решений, а приходил к ним сам. Поэтому не отвечайте на мои посты больше ни здест ни в других местах. Общение с Вами закрыто
интересно, если делать синхронизацию часов по радио то есть ли какой-то хитрый алгоритм как учесть время на передачу? У меня разница между часами на гейте и тех которые синхронихзируются с гейтом порядка секунды
axill, вероятно, тут есть ответ на ваш вопрос http://ru.wikipedia.org/wiki/Ntp или sntp
axill, вероятно, тут есть ответ на ваш вопрос http://ru.wikipedia.org/wiki/Ntp или sntp
врядли логику ntp стоит перекладывать на радио, все таки ethernet от nrf24 отличаются. В простом случае для дома можно проигнорировать ошибку в 0,5-1 секунды. Либо произвести замеры средней ошибки и запрограмировать корректировку, тогда ошибка наверно будет и меньше 0,5сек.
теоретически можно делать несколько посылок с тем, чтобы определить время прохождения и тогда корректировка будет считаться автоматически. но это только теоретически
Вам было интересно я ответил. А так, конечно, можно игнорировать секунду или десять секунд. Ethernet и RF24 в этом контексте ни чем не отличаются. Нужно отправить запрос и получить ответ. А летят ли байтики по меди или по воздуху, и завёрнуты ли они в tcp/ip или во что-то от nrf24l01+ не важно.
В статье sntp как раз сформулировано хорошо ...
В качестве текущего времени устанавливается значение Т3 с поправкой t, которая вычисляется по формуле:
t = ((Т2 – Т1) + (Т3 – Т4)) / 2
где
Т1 Время отправки запроса клиентом
Т2 Время приёма запроса сервером
Т3 Время отправки ответа сервером
Т4 Время приёма ответа клиентом
связка трех устройств заработала на полную. Часы теперь сами спрашивают гейт, а гейт отвечает с правильным значением часов
кроме того удалось интегрировать умный дом (zvawe) - по событию "все ушли из дома" умный дом дергает гейт по http, тот в свою очередь по радио сообщает новый статус контроллеру плиты и теперь если окажется, что плита потребляет ток - она будет аварийно обесточена (защита от забытой кастрбли на плите). Все это не самоцель, а отработка решений
следующим шагом надо на гейте поднять web клиента, чтобы уже со стороны гейта дергать умный дом и сообщать ему информацию полученную по радио
позникла еще одна непонятная деталь. Мои три устройства общаются друг с другом, но почему-то иногда гейт получает сообщения адресованные между двумяя другими устройствами. Почему так? использую адресацию NRF24 - указываю 40 битный адрес как при открытии pipe на запись так и при открытии pipe на чтения.
делюсь. добрался до окончательнйо сборки и установке тройки устройств. Для меня это концепт для дальнешего развития умного дома на базе AVR/arduino+NRF24
здесь контроллер плиты (будет стоять за духовкой, управлять силовой нагрузкой духовки и варочной поверхности и измерять потребляемые токи) и контроллер вытяжки (автоматическое управление подсветкой и вентиляцией в зависимости от токов потребления измеренных первым контроллером):
здесь гейт для интеграции с домашней сетью, интернетом и умным домом z-wave
понравилась работа часов - полностью атвономная от ручных операций синхронизация времени. Так лень по всему дому подстраивать часы! :) Гейт раз в сутки синхронизирует свои RTC (DS1307) часы с интернет по NTP, а часики на вытяжке синхронизируют свои RTC (DS1307) с гейтом раз в сутки и один раз после подачи питания.
моя структура ля радио:
синхронизация по радио сделана так:
- контроллер вытяжки формирует сообщение для гейта в котором в качестве типа сообщения (data_type) указывает мой тип - запрос и подтип (data[0]) - запрос RTC и в поле from_addr прописываются младшие 3 байта самого контроллера вытяжки (старшие два байта по всей сети одинаковы)
- гейт получив такое сообщение формирует сообщение со структурой RTC указав data_type как rtc, адрес для openWritingPipe формируется на базе поля from_addr полученного сообшения
структура axnet_clock прописывается на тоже место что data в моем сообщении, т.е. в зависимости от data_type я интерпретирую массив data[20] по разному. В самом простом случае фиксирую "договоренность" между устройствами по поводу того какой элемент массива за что отвечает. В более сложном случае как с часами к data[20] я обращаюсь как к структуре типа (struct axnet_clock)
mihart пока прошивка по старинке с проводами :) жду новостей
облом пока выходит - отлаженные на столе устройства установленные по своим местам плохо по радио общаеютм, черещ раз ((
а до этого стресс-тест что показал? все работало?
у меня просто правило: собрал чени-нить, после этого оставляю на несколько дней на стенде, и гоняю в хвост и гриву
а до этого стресс-тест что показал? все работало?
у меня просто правило: собрал чени-нить, после этого оставляю на несколько дней на стенде, и гоняю в хвост и гриву
на стенде (на столе) гонял долго
сказывается видимо экранивроание и возможно помехи от силовых цепей, на стенде не было возможности полноценную нагрузку подключить - для одного устройства это две светодиодные лампы и вентилятор (вятяжка) для второго 2,5квт духовки + 5,5квт варочная поверхность.
корпус вытяжки из нержавейки - сушественное экранирование
сообщения теперь пролетают как придется - то густо то пусто, то серия прилетает то несколько серий не долетают ((
а если заменить на модули с внешней антенной? или поставить дополнительный релей?
а если заменить на модули с внешней антенной? или поставить дополнительный релей?
усложнение сильное - по сути между устройствами всего то два метра - одно внизу за духовкой второе наверху встроено в вытяжку
вот что значит грамотная проектировка ) у меня как-то не очень вышло - всплыли косяки по радио, одна релюшка китацская залипает (не сталкивался раньше с таким - щелбаном приводится в норму а потом снова залипает), семисторные ключи для управдения нагрузкой греются больше предполагаемого, вентиялятор принудительного охлаждения мелковат отказался )) По кругу целый список доработок
Зато часики на вытяжке получились знатные - с ежедневной синхронизацией с интернет) благо на гейте я сразу поставил радио с усилителем мощности и приема - из другой комнаты синхронизация нормально проходит
я вот пока не потерял надежду как-то решить програмно, все-таки сообщения доходят. Делал ли кто замер зависимости дальности связи от битрейта? стоит ли его понижать? (сейчас 1мбит). Стоит ли играться с каналами? Все таки 2,4ггц очень зашумлен wifi-ем. Помнится был момент когда я не понял почему у меня в квартире пропал wifi - потом случайно заметил, что стоит выключить радионяню и wifi работает как раньше)) Разнес каналы.
Еще пытаюст понять где у maniacbug в RF24 возсожность проверить статус доставки сообщения? В библиотеке предусмотрена долбежка до 15 попыток, а я мог бы поверх накрутить еще пару десятков, только не вижу такого метода. В другой библиотеке для nrf24 есть такая функция, значит в железе возможность предусмотрена
объективно сложно оценить, но субъективно ситуация улучшилась после того как я снизил скорость до 250кбит и проверку четности сделал по 8 битам
нашел, что в библиотеке radio.write возвращает статус доставки сообщения (0 - ошибка, 1 - успех)
почему-то у меня возвращается всегда ошибка даже тогда когда сообщение доставляется успешно. Почему так? Нужно ли какие-то специальные настройки делать, чтобы этот механизм работал?
непонятно....
с настройками по умолчанию работает. Например в примере http://maniacbug.github.io/RF24/pingpair_8pde-example.html
выводится сообщение Now sending ... ok ...
тут "ок" означает, что этот модуль отправил пакет другому модулю и получил от нeго квитанцию (acknowlegment), то есть отправка выполнена успешно.
я смотрю уже не на стенде, а в реальных условиях
можно конечно предположить, что условия передачи настолько плохие, что квитанция не доходит даже если дошло сообщение
моя структура ля радио:
Не сочтите, что смеюсь или цепляюсь, но комментарии хромают на обе ноги. Определенно, что есть смысл писать их на английском, но даже я со своими, более чем скромными, языковыми скиллами вижу, что фразы построенные по правилам русского языка, но посредством английских слов, выглядят презабавнейше. "is used to be sure that message of right format" в обратном переводе будет "привык полагаться, что сообщение из формата прав". Именно так его воспримут англоговорящие. Кто привык полагаться и где находится этот "формат прав", совсем им будет не понятно. :) Наверное было бы правильно написать что-то навроде: whether a message has valid structure or not.
Смейтесь сколько хотите)
mihart дошли руки дл LE01? похоже вот один из програматоров для этого чипа http://dx.com/p/nrf24le1-downloader-mpro-programmer-for-51-avr-stc-3-3v-...
mihart дошли руки дл LE01?
Привет. Когда мне месяц назад пришли L01 у меня руки дошли развести платку и попробовать их запустить. Не заработали. Заказал себе уже распаянные модули, аналогичные LE1 с программатором, платой тестирования и т.д.
Жду модули.
Но в любом случае, ни на что пока времени нет, у меня переезд. Мне сейчас актуальнее ремонт, установка перегородок, утепление лоджий и т.д. У меня нет мастерской как было на прежней квартире, угла даже попаять нет. Через месяц надеюсь оборудую комнату, апдейты будут.
Пока что после просмотра твоей статьи понял, что мне СОВЕРШЕННО НЕОБХОДИМ 3d принтер, который и заказал. Он успел придти, уже кучу всяких крепежек жене распечатал.
Еще по сути LE1 восстановил контакт со специалистом, который разрабатывал алгоритм общения охранных систем SOBR. Они работают на этих чипах. У него все по часам работает, даже если обложить метку ключами. Он в Австралии сейчас, пересечься по времени трудно, но одно точно - скорость нужно выбирать минимальную!
Пока все, будут новости, напишу.
mihart перезд важнее! ) желаю чтобы он сопровождался только приятными хлопотами
пришли ссылку на то что заказал для LE1. Принтер какоц выбрал?
Минимальная скорость это 250кбит, я сам на ней остановился - с ней у меня более менее все работает в моем проекте
Кстати рекомендую Solidworks для разработки корпусов для печати. Могу подстказать если что, руку на нем уже хорошо набил
ух.... прикрутил к своей библиотеке механизм управления параметрами по радио с сохранением в EEPROM. Пока сделал только метод удаленного изменения значений, позже прикручу удаленный просмотр списка параметров и индивидуальных значений. Параметры удаленно адресуются 8 символьным именем, а в программе самого устройства - как обычные переменные.
Сначала в программе делается объявление параметров:
Для удобства написал макросы, внутри они раскрываются в определения переменных с атрибутом EEMEM, обычной переменной для использования и строки с именем переменной. Получается само описывающая структура данных, сохраняемая в память программ (PROGMEM). Структура описывает количество переменных, их тип, название, адреса хранения в EEPROM и в RAM. Легко настроил 10 параметров, для простоты тут указываю 3. Пока реализовал один тип - uint8, но все расчитано на расширение, будут uint16, uint32 и char[8].
в начале программы делаю инициализацию, при ней переменные в памяти заполняются значениями из eeprom:
Далее в программе вызывается моя функция:
На гейте, который подключен к ethernet реализован такого типа запрос (пример) - http://<ip>/dev/010101/eeparam/setbyname/disp_dat/2/
После изменения по радио автоматически меняется значение как в EEPROM так и в RAM - программа тут же начинает работать с новым значением
это конечно не програмирование по радио, но позволяет подстраивать параметры логики без перепрограмирования. На финальной отладке как правило именно эти параметры и нужно настраивать под удобство использования. Существенно снижается потребность в удаленной прошивке.
Кстати таким образом можно делать домашние устройства без органов управления! Никаких кнопок, клавиатур. Все упрощается. Без фанатизма конечно, там где это удобно - все можно настраивать удаленно, через WEB или еще как
описал свой завершенный мини проект http://radiokot.ru/konkurs/29/
для отработки концепта сделал простые часики без органов управления - время автоматически берется из сети, а все настройки из браузера. Сделано на atmega8 - скетч около 6кб. Динамическая индикация сделана с програмным ШИМом - яркость меняется в зависимости от освещенности
http://www.youtube.com/watch?v=uzudtPO5xok
Всем, привет!
Отличные часики получились!
Подумываю над сетью из устройств на nrf24l01. Нашел данную ветку. Прочитал всю за несколько вечеров. Вначале проскакивали идеи о передачи данных от одной точке к другой (мэш сети, или что-то подобное), если получатель вне зоны видимости источника. Но так и не понял был ли реализован в железе данный алгоритм ?
П.С. К сожалению я не использую arduino, люблю свои железки. Последнии три года использую STM8, STM32.
Подумываю над сетью из устройств на nrf24l01. Нашел данную ветку. Прочитал всю за несколько вечеров. Вначале проскакивали идеи о передачи данных от одной точке к другой (мэш сети, или что-то подобное), если получатель вне зоны видимости источника. Но так и не понял был ли реализован в железе данный алгоритм ?
П.С. К сожалению я не использую arduino, люблю свои железки. Последнии три года использую STM8, STM32.
привет! Я тоже предпочитаю делать устройства без ардуино, но так исторически сложилось, что я начал с atmel и сейчас мне проще и дальше на нем делать, чем изучать еще и STM, хотя по-моему STM явно одновременно и круче и дешевле. Ардуина бывает хороша, чтобы с чего-то начать или опробовать идею. Моей гейт в интернет на ардуине - убил бы кучу времени собирать библиотеки под wiznet и под tft для голого МК.
STM - вполне реально делать на нем, но нужно будет повозится с настройкой библиотек. В сети есть ряд готовых библиотек, но надо быть готовым к "докручиванию" и доведению до ума.
Полноценной реализации мэш сети нет, по крайней мере в открытом доступе. Есть некое подобие сделанное maniacbug и увы только для ардуины. Но логика его библиотеки достаточно проста, чтобы ее переложить на другое МК.
Я решил сделать упор сначала на функциональность - на реальные работающие устройства. А потом можно уже и прикрутить фишки для сети. В крайнем случае есть модули с усилителем - их можно ставить на большом удалении без всякой мэш сети
Спасибо за развернутый ответ.
Мне был интересен именно алгоитм работы мэш (или чего-то подобного), я читал записи maniacbug, но как я понял у него организованно в виде дерева.
Была ещё ссылка http://www.insidegadgets.com/2013/06/09/nrf24-multi-network-allowing-for-255-addresses/ но что-то я не совсем понял, в чем там фишка. С английским не очень у меня.
Готовая реализация мне не особо интересна. Это хобби поэтому приятнее написать самому.
В наличии парочка модулей есть. Заказал ещё 10 по баксу за штуку. Модули только включал для проверки связи, плотно не работал.
Есть шилд на 5100, тут решил купить готовый, всего 300 руб с ебея, а у нас только сами чипы по 300 руб :(
Я сам начинал с АВР, тогда ещё с 2313 :) С появлением чего-то нового и интересного, при наличии времени, проявляю интерес, так было и с стм8, а потом и стм32. Понравились. Так на них и остался. У меня задачи не очень сложные, поэтому их слихвой хватает. С пол года назад была попытка вернутся на одном из устройств на АВР, но не смог, уж очень быстро привыкаешь к хорошему (ПДП (DMA), приоритеты прерываний, "авто" вложенность прерываний, единое адресное пространство, запуск кода из ОЗУ, больше фарша за ту же цену, 12 бит АЦП-ЦАП, "единая" периферия для стм 8 и стм32).
Познакомился с таким же любителем, при клонировании его устройства. Стали общатся, потом решили делать устройство совместно http://ziblog.ru/category/proektyi/zichip, http://www.forum.getchip.net/viewtopic.php?f=8&t=314 правда за год это устройство разрослось сильно и получается не совсем то :) Почему-то изначально решили использовать "провода", наверное для простоты. Сейчас вот я думаю как добавить радиоканал. Ну и более плотнее начал думать, что же я хочу реализовать дома. Скоро зима времени больше будет на хобби выделятся, поэтому начал активизироваться и набирать шурушки для опытов :)
Хорошо. Ещё раз спасибо за ответ. Буду следить за темой и вашими устройствами.
Спасибо за интерес. Всегда интересно общаться с людьми имеющими общие интересы) Сайт по ссылке смотрел на днях - очень интересный блог, но вот логику этой проводно-инфракрасной сети не воспринял, мне показалось не перспективен такой выбор каналов связи. У меня дома промышленного изготовления умный дом на zwave - по-моему идеальный вариант - легко разворачивать автоматизацию без капиатльных ремонтов, но вот в чем ограничение zwave - есть только такие возможности какие готовые устройства можно купить. Все остальное или громоздко и дорого или вообще не возможно.
вот тут мне и подходят самодельные устройства на МК с радиоканалом. Уже в отладке контроллер на водяные стояки - счет расхода, интеграция с системой протечки и замер температуры (для детекции отключения горячей воды).
Я долго созревал (год наверно) изучая не торопясь тему и самое сложное концептуально для меня было запустить гейт из радио сети в сеть компьютерную - без этого не возможна интеграция с действцующим умным домом. Сейчас понимание сложилось и пусть оно еще не окончательное (не все нужные решения отработаны), но что важно - перешло в практическую плоскость. От концептов перешел в реально работающим устройствам и это самое интересное. Можно как горячие пирожки печь устройства с последовательными доработками гейта. Было бы время и силы.
сегодня опублликовали мою статью, там немного подробнее про часики http://radiokot.ru/konkurs/42/
axill, пожалуйста, покажите начинку axnet_rtc_request_sync()
там проще простого ))
функция axnet_send_togateway отправляет сообщение с типом axnet_datatype_request и внутри сообщения передает подтип axnet_request_rtc
общую структуру я приводил уже, вот еще раз:
вот еще кусок кода:
в целом суть такая - устройство отправляет сообщение гейту - "какое сейчас правильное время?", гейт получив такое сообщение берет из поля from_addr адрес спрашивающего и формирует ответное сообщение на этот адрес, сообщение типа axnet_datatype_clock со структурой (на месте data[20]):
спс. я надеялся , что вы применили #155
спс. я надеялся , что вы применили #155
это будет fine tuning, т.е. когда основные задачи будут решенф...когда нибудь
займусь рюшечками типа этой
сейчас ниразу ни актуально. Более того - алгоритм #155 расчитан на то, что мы имеет точность хода часов сотые или тысячные доли секунды. На МК иметь часы с такой точностью затратно, таже известная всем DS1307 имеет точность хода секунду и у нее нет даже возможности синхронизировать начало этой секунды, так что не актуально иметь точность выще полусекунды, а такая обеспечивается и без наворотов
пришли ссылку на то что заказал для LE1. Принтер какоц выбрал?
На следующей неделе возвращаюсь из командировки и заберу все посылки, две пришли, две на пути из Москвы:
Для LE1 я взял:
Непосредственно сами модули: http://www.aliexpress.com/item/Freeshipping-NRF24LE1-wireless-transmissi...
Программатор к ним: http://www.aliexpress.com/item/Freeshipping-1pcs-lot-NRF24LE1-downloader...
Пару тестовых плат, одну такую, я так понимаю, это реплика оригинальной NRF и с ней будет работать Nordic Software: http://www.aliexpress.com/item/HOT-SALE-1pcx-NRF24LE1-wireless-module-da...
И взял вот такую, чтобы визуально отлаживать модули: http://www.aliexpress.com/item/Wireless-Module-NRF24LE1-special-test-mod...
Так как у меня умный дом еще в самом начале пути, я задумался о том, как управлять освещением, посчитал, что обычные замыкающие реле мне не очень подходят, потому как если их подключить как нормально разомкнутые, то всегда когда я дома, они будут под напряжением - мне не нравится. Если же их подключить как нормально замкнутые, то они будут под напряжением, когда меня дома нет, что еще хуже.
Поискал и нашел вот такие реле: http://www.aliexpress.com/item/HFD2-005-ML2-D-new-authentic-hongfa-relay...
По даташиту для управления светом под 220в они подходят, для остальных нагрузок лучше брать помощнее. Их плюс в том, что они не требуют питания во время работы, только во время переключения. Удобно при построении умного дома. Они дороже обычных реле, но стоимость остается смешной.
Принтер я себе взял самый простой Prusa Mendel: http://www.printers3d.ru/index.php?com=autoshop&elemId=119#mcom
Печатает отлично, но поначалу показался капризным, вредничал по оси Z, первые большие детали отклеивались по углам. Почитал форумы, решил проблемы, дальше печатал как по маслу. Но тем, кто не хочет с такими капризами связываться, конечно лучше покупать чтото фабричное, тем более по цене вполне доступны.
В общем, планирую на следующей неделе все это добро опробовать. В сети есть прошивка бута для LE1 с возможностью дистанционной прошивки. Глядишь и велосипед изобретать не придется.
уверен опасние применять обычное реле напрасно. мои промышленные выклбчатели zwave работают с обычным реле. куда важнее то от чего они запитаны. Если от высокоэффективного импульсного преобразователя - нет проблем
что касается поляризованных - что то я не видел из массового применения
как они себя поведут?
как вариант еще использовать твердотельные реле
что касается 3д принтера - мой намного дороже, но такой же капризный
А как обычные реле в zwave подключены? как нормально-замкнутые?
Почему поляризованные? Они не такие) Обычное реле при включении притягивает контакт, при пропадании напряжения он возвращается на место. В тех, что купил я принцип тот же, но устроены они так, что в переключенном состоянии они фиксируются. То есть в плане безопасности они ничем не отличаются от обычных. От твердотельных - да отличаются.
mihart реле которые сохраняют состояние после снятия питания называются поляризованные)
не поляризованные реле востанавливают нормальное состояние если убрать питание. В выключателях z-wave от любого производителя стоят реле нормально разомкнутые
насчет безопасности - смотря что называтьбезопасностью. Почему считаешь, что нормально разомкнутое реле не безопасно? Если ставить поляризованное надо уж тогда брать брендовые реле, конструкция поляризованного реле сложнее, кто знает как китайское будет работать - будет ли оно менять состояние так как ты будешь предполагать?
Если от высокоэффективного импульсного преобразователя - нет проблем
Что-нибудь подбирали из китая? Посоветовать можете?
Что-нибудь подбирали из китая? Посоветовать можете?
могу. Рассупыху покупал как раз в китае, но блок питания паял сам - бестрансфорсматорная конструкция на базе микросхем lnk302/lnk304/lnk306. По-моему самое компактное и эффективное решение для случаев когда не нужна гальваническая развязка с розеткой. В моих промышленных выключателях z-wave как раз такая же микросхема. В трех моих устройствах выше в двух устройствах именно такой блок питания. Схема прямо из даташита:
Причем настроить можно сразу на 5в или 3.3в чтобы не ставить дополнительных стабилизаторов
Блоки с гальванической развязкой самые удачные мне попались у этого продавца http://www.aliexpress.com/snapshot/258191915.html. Можно взять в корпусе или без него, но все равно самые компактные можно собрать именно на LNK
Спасибо, именно то, что искал! И где-то натыкался на эту схему, но найти не мог. Меня она смутила токами, 120мА вроде немного. Хватает? или при напряжении в 5в ток потребления может быть больше?
А за поставщика на aliexpress спасибо, я у него оказывается и заказал десяток таких модулей: http://www.aliexpress.com/store/product/DC-5V-700mA-Constant-Pressure-Sw...
3см*2см*1,8см куда уж компактней для трансформаторной схемы.
Ты смотри сам даташит на lnk. Если нужно могу здесь выложить. 120ма это lnk302. Lnk306 дает до 360ма. Но на самом деле 120 это тоже не мало. Для компактного реле с микроконтроллером может вполне хватить. А уж lnk306 хватит и подавно. Я покупал именно 306 как более универсальные так как по штучно их покупать не выгодно, выгодно брать 20-50 штук
Блоки с гальванической развязкой самые удачные мне попались у этого продавца http://www.aliexpress.com/snapshot/258191915.html. Можно взять в корпусе или без него, но все равно самые компактные можно собрать именно на LNK
А можно ссылочку обновить, а то текущая не работает :(
www.aliexpress.com/snapshot/258191915.html
Спасибо! Не заметил сразу в конце ссылки точку :)
2axill: если вспомнить с чего начинался этот проект, то думаю будет интересно http://code.mios.com/trac/mios_arduino-sensor
оч. все клево работает вместе с VERA. Осталось докрутить rf24Network и все!
Спасибо! Суперская ссылка на суперскую идею. Я сам сейчас докручиваю связку с vera3 правда она у меня через tcp/ip
Несколько смущает вариант с подключением по usb
Вот и я также делал через eth, но зачел лишнее звено, если можно без него? Работает все, кстати, оч не плохо.
Если он еще докрутит туда поддержку variablecontainer, то будет супер.
по usb тебя что смущает?
usb смущает тем, что это тесная интеграция с верой - сбой в ардуино может завесить веру, если у плагина ардуино нет связи с ардуино гейтом вера начинает ругаться и тратить ресурсы как минимум на ошибки в логах, а может и хуже
с tcp/ip не так - нет запросов - нет проблемы
были теже мысли. сделал проверку: замерял cpu usage при подключеном модуле, отключенном, и при удаленном. Разницы не увидел. Других рисков не вижу.
ну остается еще неудобство)) при добавлении или исправлении устройств веру таскаю по квартире - тут получится награмождение
но в целом идея классная у парня, главное все очень просто и изящно. Но опять де выходит модуль на arduino gateway надо не от нано запитывать а отдельно. У тебя сейчас от нано работает? Удалось решить проблему с потерей сообщений?