Умный дом с центральным контроллером от micasaverde и устройствами на ардуино/AVR/NRF24L01+

axill
Offline
Зарегистрирован: 05.09.2011

virgus1970 пишет:

To axill

Скажите, пожалуйста, датчики движения Вы делали на HS-SR501 PIR Motion Sensor?

да на них. они отлично работают, но немного великоваты

купил еще сами PIR сенсоры и линцы френеля, буду пробовать сделать компактный датчик встраиваемый прямл на мою плату

virgus1970
Offline
Зарегистрирован: 24.11.2014

To axill

Загрузил скетч, с помощью которого Вы рекомендовали проверить радиомодули, в две Нано. Одну после загрузки скетча просто подключил к питанию через зарядник-USB-адаптер от 220В. Другую к ноуту и серийному монитору. Сначала вывалилось в монитор вот это:

А потом так и пошли сплошные "Sent response 0" в основном, а иногда с какими-то цифрами. После передачи "Т" через монитор порта плата стала выводить в монитор вот это:

Я так понял, что ответа от второй Нано она не получает. Так? 

Подскажите, пожалуйста, что вообще значит вывод всей этой служебной информации в моем случае.

axill
Offline
Зарегистрирован: 05.09.2011

Для проверки подключения радио модуля вам вторая ардуина не нужна, достаточно одной и достаточно посмотреть содержание Serial до первой строки send response

У вас видно, что модуль не работает. Например RF_CH должен быть от 0 до 127, по умолчанию в библиотеке он обычно 76 в десятичном выражении. У вам там 255. Model должна быть со знаком +, если конечно на самом чипе у вас в названии +

 

Artemiy
Offline
Зарегистрирован: 20.10.2014

Я смотрю, проблемы у нас общие. Мне удалось через ethernet gateway добиться чтобы арудина пинговалась и беспроводной датчик работал. Но я наткнулся на следующую проблему.

Итак, имеем Nano + enc28j60 + nrf24L01+.

Скетчем из MySensors я прописал IP 192.168.0.100 - он успешно пингуется когда скетч залит и ардуина подключена в сеть. Этот этап работает. Далее, заливаю пример из RF24 GetStarted. Он мне выдает:

Я так понимаю, канал настроен, то есть ардуина видит NRF24.

Далее, заливаю обратно скетч ethernet gateway, прописываю его в Вере, всё видится, ошибок нет, появляется MySensors Plugin с кнопкой Start Stop. Нажимаю Start - пишет найдено 0 девайсов. Попробовал еще раз - та же фигня. То есть, походу, не видит датчики. Думаю, может собрал датчик не так. Беру новую ардуину, беру новый NRF24+ и новый HS-SR501 PIR Motion Sensor. Собираю всё по схеме, заливаю соотв. скетч. Делаю Start - всё равно найдено 0 устройств. :(

Где что еще можно посмотреть?

Всё, я нашел свой косяк. У меня на шлюзе беспроводной модуль висел на 5,6 пинах, а на датчиках на 9,10. Сменил всё на 5,6.

 

axill
Offline
Зарегистрирован: 05.09.2011

Заработало?) "электричество это наука о контактах")

мне удалось на даче запустить. Пока с тестовым датчиком планирую на каждом этаже свой гейтвей поставить. В квартире тоже поменял serial на ethernet. Теперь правда временно все мои устройства не работают, их надо переводить с mesensors C 1.2 на ардуино 1.4

Artemiy
Offline
Зарегистрирован: 20.10.2014

Да, наука о контактах - это верно.

У меня на Вера3 такой косяк. Я после того как удалил устройство (температурный датчик), шлюз ардуиновский всё равно видит его и принимает сигналы. Видимо, удаляется только из Веры. А делаю по новой "Start", он мне пишет что 0 устройств найдено и больше не подцепляет их.

Монитор шлюза:

0;0;3;0;14;Gateway startup complete.
0;0;3;0;9;read: 1-1-0 s=0,c=1,t=1,pt=7,l=5:70.8
1;0;1;0;1;70.8
0;0;3;0;9;read: 1-1-0 s=1,c=1,t=0,pt=7,l=5:-1.1
1;1;1;0;0;-1.1
0;0;3;0;9;read: 1-1-0 s=1,c=1,t=0,pt=7,l=5:-0.8
1;1;1;0;0;-0.8

Видно, что он видит температурный датчик, но как заставить его "забыть" чтобы он по новой в Вере прописался?

PS: Кстати, обновите библиотеку mySensors полностью, там некоторые файлы изменились. И еще я нашел библиотеку RF24. У меня с ней скетч похудел на пару килобайт. Теперь в нану с дебагом умещается.

axill
Offline
Зарегистрирован: 05.09.2011

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

В вашей проблеме гейт не виноват, он ничего не запоминает. Помнит датчик и вера. Сбросьте у датчика Id

virgus1970
Offline
Зарегистрирован: 24.11.2014

Artemiy пишет:

Всё, я нашел свой косяк. У меня на шлюзе беспроводной модуль висел на 5,6 пинах, а на датчиках на 9,10. Сменил всё на 5,6.

Почему пины 5 и 6? Ведь MySensors в разделе "Подключение радиомодуля" пишет, что пины 9 и 10.

Продолжаю дальше анализировать, что у меня не так с радиодмодулями.

При внимательном рассмотрении модулей выяснил, что у меня их два типа (а у одного из них даже несколько подтипов). Есть модули с чипом маркированным так: 1-я строка "NRF M", 2-я "24L01+", 3-я "1242AF". Второй тип модулей с чипом маркированным так: 1-я "Si24R1", 2-я "R1208003" (есть варианты "R1410003").

Подключил модуль с чипом "NRF M" к пинам 9 и 10. Запустил проверочный скетч, получил вот такой вывод:

 

Все равно везде пишет цифры 0хff :( Но уже "CRC length = 16 bits" и "PA Power = PA_MAX". А вот модель почему-то пишет "nRF24L01", хотя на чипе написано с "+" :(

С чипом "SiR1" на пинах 9 и 10 получил вот такой вывод:

Уже не везде 0х00 или 0хff Но все равно не понимаю работает он или нет. Номер канала все равно 0xff, а должен быть до от 0x00 до 7f.

Для чипа "SiR1" на пинах 7 и 8 получил такой вывод:

Везде нули. Т.е. не работает. Еще какие отличия в выводе заметил:

1. Параметр "CRC Length" на пинах 9,10 "16 bytes", на пинах 7,8 "Dissabled". Не знаю, что это такое точно, но думаю это длина буфера, которая по умолчанию равна как раз 16 байтам.

2. Параметр "PA Power" на пинах 9,10 "PA_MAX", на пинах 7,8 "PA_MIN". Подозреваю, что это параметр как-то связан с питанием модуля. Но ведь пины питания я не менял...

Просьба к тем, у кого радиомодуль адекватно работает с Верой, выложить свой вывод с тестовой программы и написать полную маркировку чипа на этом модуле. Заранее Спасибо!

P.S. Да... Не знаю важно это или нет. Но на модуль с чипом "NRF M" я припаял конденсатор 4,7мФ между землей и питанием (катодом со стрелками к земле). Модуль с чипом "SiR1" без конденсатора. Питание на модули беру от пина "3.3V" на самой Нано.

 

axill
Offline
Зарегистрирован: 05.09.2011

virgus1970 во всех трех случаях у вас отсутствуют признаки работоспособного модуля

что то упускаете из вида. Чипы sir не факт, что удасться полноценно использовать, лучше пока сосредоточиться на работоспособности NRF

Покажите чтоли фото всего этого, может что то будет понятно 

virgus1970
Offline
Зарегистрирован: 24.11.2014

To axill Большое Вам Спасибо за то, что помогаете разобраться!!! А то я уже не знаю и в какую сторону копать :(

axill пишет:

virgus1970 во всех трех случаях у вас отсутствуют признаки работоспособного модуля

А что это за признаки?

axill пишет:

Чипы sir не факт, что удасться полноценно использовать, лучше пока сосредоточиться на работоспособности NRF

У меня достаточно модулей с чипом NRF, я могу использовать только их. Но пока и с ними не удается справиться :(

Выкладываю фото подключения. Проверял подключение ни один раз... Но может быть "замыленным" взглядом что-то не вижу...

Так выглядит моя Нано:

Модуль NRF (фокус не удалось добиться):

Подключение модуля со стороны контакта "земля" (слева направо:черный, оранжевый, зеленый, синий):

Подключение модуля со стороны контакта Vin (справа налево: красный, желтый, синий, не подключенный контакт):

Подключение Нано со стороны Пина 13 (слева направо: зеленый - ПИН13, красный - 3V3):

Подключение к Нано (справа направо: фиолетовый ПИН12, синий ПИН11, желтый ПИН10, оранжевый ПИН10, черный ПИН "GND"):

И кстати... при таком же подключении (но на ПИН 7 и 8) две Нано с модулями NRF общались между собой, показывая пинги... Вот скетч только найти не могу :(

 

axill
Offline
Зарегистрирован: 05.09.2011

вроде все верно. есть тестер? стоит прозвонить наличие фактического контакта между проводниками на плате ардуины и платы модуля. бывает такое с проводами, что контакт потерян. и напряжение питания на радиомодуле проверить.

axill
Offline
Зарегистрирован: 05.09.2011

я тут в ночи состряпал некую фишку. прикрепил к датчику влажности еще и приемник 433МГц и допилил скетч. Теперь могу к Mysensors подключать недорогие датчики (движения, пожара, протечки, дверные и тд)

пока что сделал прототип. Ниже скетч. Он похоже зависает если долгое время нет срабатываний датчиков, надо разбираться. Пока тестирую идею. Наверно нужно будет делать в форме гейтвея где вместо нордика стоит приемник 433МГц.

#include <avr/eeprom.h>
#include <SPI.h>
#include <MySensor.h>  
#include <DHT.h>  
#include <RCSwitch.h>

#define CHILD_ID_HUM 0
#define CHILD_ID_TEMP 1
#define HUMIDITY_SENSOR_DIGITAL_PIN 3
unsigned long SLEEP_TIME = 30000; // Sleep time between reads (in milliseconds)

MySensor gw;
DHT dht;
float lastTemp;
float lastHum;
boolean metric = true; 
MyMessage msgHum(CHILD_ID_HUM, V_HUM);
MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);

RCSwitch mySwitch = RCSwitch();

#define RF433_CHILDS_MAX	20

typedef struct {
	unsigned long	key;
	uint8_t			child_id;
} rf433_child_type;
uint8_t				*eeprom_last_id = (uint8_t*)EEPROM_LOCAL_CONFIG_ADDRESS; 
rf433_child_type	*eeprom_rf433_array = (rf433_child_type*)EEPROM_LOCAL_CONFIG_ADDRESS+1;

unsigned long dht_period;

void setup()  
{ 	
	
  gw.begin();
  dht.setup(HUMIDITY_SENSOR_DIGITAL_PIN); 
  mySwitch.enableReceive(0);  // Receiver on inerrupt 0 => that is pin #2
  digitalWrite(5, HIGH);

  // Send the Sketch Version Information to the Gateway
  gw.sendSketchInfo("Humidity", "1.0");

  // Register all sensors to gw (they will be created as child devices)
  gw.present(CHILD_ID_HUM, S_HUM);
  gw.present(CHILD_ID_TEMP, S_TEMP);
  
  metric = gw.getConfig().isMetric;
}

void loop()      
{  
  if(digitalRead(5)) {
    Serial.println("-- enetered RF433 init mode");
    unsigned long t = millis();
    while(millis() - t < 60000) {
      if (mySwitch.available()) {
		unsigned long key = mySwitch.getReceivedValue();
        mySwitch.resetAvailable();
        uint8_t child_id = rf_find_child(key);
		Serial.print("--- child_id - ");
		if(child_id == 255) {
			// key is not presented in EEPROM
			uint8_t last_id = rf_get_last_id();
			if(last_id < RF433_CHILDS_MAX) {
				// a new id should be created
				rf433_child_type child;
				
				// prepare data to be stored in eeprom
				child.key = key;
				child.child_id = last_id + 2;
				eeprom_write_block(&child, &eeprom_rf433_array[last_id], sizeof(child));
				// store new last_id
				last_id++;
				rf_set_last_id(last_id);
				
				Serial.print("new ");
				Serial.println(last_id);
				
				gw.present(child.child_id, S_MOTION);
			} else {
				// no more space in EEPROM
				Serial.println("no space");
			}
		} else {
			// existing key
			Serial.println(child_id);
			gw.present(child_id, S_MOTION);
		}
		break;
      }
    }
    Serial.println("-- left RF433 init mode");
  }

  if (mySwitch.available()) {
	  // motion event
	  unsigned long key = mySwitch.getReceivedValue();
	  mySwitch.resetAvailable();
	  uint8_t child_id = rf_find_child(key);
	  Serial.print("-- rf key ");
	  Serial.print(key);
	  Serial.print(" child_id ");
	  Serial.println(child_id);
	  if(child_id != 255) {
		  MyMessage msg(child_id, V_TRIPPED);
		  gw.send(msg.set("1"));  // Send tripped value to gw 
		  delay(2000);
		  gw.send(msg.set("0"));
	  }
  }
  
  if(dht_period < millis()) {
	  //delay(dht.getMinimumSamplingPeriod());

	  float temperature = dht.getTemperature();
	  if (isnan(temperature)) {
		  Serial.println("Failed reading temperature from DHT");
	  } else if (temperature != lastTemp) {
		lastTemp = temperature;
		if (!metric) {
		  temperature = dht.toFahrenheit(temperature);
		}
		gw.send(msgTemp.set(temperature, 1));
		Serial.print("T: ");
		Serial.println(temperature);
	  }
  
	  float humidity = dht.getHumidity();
	  if (isnan(humidity)) {
		  Serial.println("Failed reading humidity from DHT");
	  } else if (humidity != lastHum) {
		  lastHum = humidity;
		  gw.send(msgHum.set(humidity, 1));
		  Serial.print("H: ");
		  Serial.println(humidity);
	  }

	  //gw.sleep(SLEEP_TIME); //sleep a bit
	  dht_period = millis() + SLEEP_TIME;
   }
}


uint8_t rf_get_last_id() {
	uint8_t x = eeprom_read_byte(eeprom_last_id);
	if(x == 255) x = 0;
	return x;
}
void rf_set_last_id(uint8_t last_id) {
	eeprom_write_byte(eeprom_last_id, last_id);
}

uint8_t rf_find_child(unsigned long key) {
	uint8_t last_id = rf_get_last_id();
	uint8_t id = 0;
	while(id != last_id) {
		rf433_child_type child;
		eeprom_read_block(&child, &eeprom_rf433_array[id], sizeof(child));
		if(child.key == key) return child.child_id;
	}
	return 255;
}

и немного видео того как оно срабатывает

http://www.youtube.com/watch?v=E4ZgnhwedXg

virgus1970
Offline
Зарегистрирован: 24.11.2014

To axill

Спасибо. Буду дальше разбираться. Пробовать другие радиомодули. Может быть бракованная партия попалась... :(

Большая просьбв... Напишите, пожалуйста, маркировку чипа на своем радиомодуле NRF и если есть такая возможность выложите, пожалуйста, вывод в монитор порта с тестового скетча.

axill пишет:

Пока тестирую идею. Наверно нужно будет делать в форме гейтвея где вместо нордика стоит приемник 433МГц

Очень даже интересная идея. :) Получится своего рода вложенный шлюз: датчик с 433МГц радио -> Ардуино с NRF -> Ардуино-шлюз -> Вера... Самое то, когда не нужна обратная связь. А датчик уже с передатчиком?

А что такие датчики бывают "очень дешевыми"? На АлиЭкспресс?

axill
Offline
Зарегистрирован: 05.09.2011

По возможности выложу. Врядли модули не рабочие. Другая ардуина есть для пробы? Еще можно попробовать програмным драйвером, в той версии RF24 что идет вместе с mysensors есть такой. Он позволяет прицепить модуль к любым выводам

насчет датчиков это датчики сигнализаций, можете пройтись поиском alarm sensor 433mhz на алиэкспресс

датчики движения от 12 долларов за три штуки

обратная связь для датчиков движения, пожара, двери и подобных не нужна. Полезна может быть только возможность удаленной настройки

virgus1970
Offline
Зарегистрирован: 24.11.2014

Есть еще Фридуина, Мини Про и всего три Нано. Я хотел исключить влияние проводов и даже сделал типа что-то шилда:

Но на нем платы вообще не работают почему-то... Попробую на фридуине...

P.S. Не знаю как здесь спрятать фото под кат :(

virgus1970
Offline
Зарегистрирован: 24.11.2014

Подцепил Фридуину Уно. Питание 3,3В взял прямо с платы с питания для датчиков. СЕ - пин 7, CSN - пин 8. Вот вывод:

Но здесь уже модель показал "nRF24L01+" :) Я надеюсь это вывод рабочего модуля?

Updated.  Получил такой же вывод от платы Нано. При чем с пинов СЕ-Пин7, CSN-Пин8. Выходит я перепутал-таки местами CE и CSN?

virgus1970
Offline
Зарегистрирован: 24.11.2014

Artemiy пишет:
Оригинал сообщения

Я так понимаю, канал настроен, то есть ардуина видит NRF24.

Можете дать ссылку на скетч, который загрузили? Или выложить его сюда?

utya
Offline
Зарегистрирован: 08.01.2015

Так вроде в библе mysensros есть пример работы с 433Мгц, или это какой-то не тот пример.

2axill, не могли бы дать ссылку на ваше zwave реле?

axill
Offline
Зарегистрирован: 05.09.2011

virgus1970 пишет:

Подцепил Фридуину Уно. Питание 3,3В взял прямо с платы с питания для датчиков. СЕ - пин 7, CSN - пин 8. Вот вывод:

Но здесь уже модель показал "nRF24L01+" :) Я надеюсь это вывод рабочего модуля?

Updated.  Получил такой же вывод от платы Нано. При чем с пинов СЕ-Пин7, CSN-Пин8. Выходит я перепутал-таки местами CE и CSN?

 

сейчас все выглядит как надо

axill
Offline
Зарегистрирован: 05.09.2011

utya пишет:

Так вроде в библе mysensros есть пример работы с 433Мгц, или это какой-то не тот пример.

2axill, не могли бы дать ссылку на ваше zwave реле?

в библиотеке есть драйвер для другого модуля на 433мгц, такого который как я понимаю полноценно заменяет nrf24, т.е. С адресацией и двухсторонней связью. Мой протитип для самых-самых простых односторонних датчиков

про какое реле речь? Если честно не понял

 

utya
Offline
Зарегистрирован: 08.01.2015

насчёт 433 понял, попробую ваш скетч с livolo.

Ну вы ранее говорили что у вас выключатили света/диммеры z-wave. Вот хотел бы узнать какие именно, модель.

virgus1970
Offline
Зарегистрирован: 24.11.2014

axill пишет:

сейчас все выглядит как надо

УРА!!! СПАСИБО БОЛЬШОЕ!!!

 

axill
Offline
Зарегистрирован: 05.09.2011

utya пишет:

насчёт 433 понял, попробую ваш скетч с livolo.

Ну вы ранее говорили что у вас выключатили света/диммеры z-wave. Вот хотел бы узнать какие именно, модель.

Есть разные - duwi, fibaro, aeon, everspring и tkbhome

Посмотрите на z-waver.ru и zwaverussia.ru

Обратите внимание что у меня пин5 использован для активации режима добавления. Сейчас в моем скетче поддержка только для датчиков движения. Для выключателей нужно переделывать и вместо приемника использовать передатчик, но идея примерно та же

virgus1970
Offline
Зарегистрирован: 24.11.2014

To axill

Нано-шлюз при подключении к монитору порта выдал только одно сообщение: "0;0;3;0;14;Gateway startup complete." Это нормально? Как  проверить, что радиомодуль к ней подключен правильно?

И еще вопрос по подключению датчиков. Так я до конца и не понял. Нужно самому выставлять ID-датчика или все-таки там есть режим Avto, при котором шлюз сам присваивает датчику ID и прописывает его в EEPROM? 

axill
Offline
Зарегистрирован: 05.09.2011

Если пройти процедуру добавления id назначится автоматом

сообщения в терминале гейта будут появляться при получении сообщениц от датчиков. Так что если гейт и датчик работают там будет активность

virgus1970
Offline
Зарегистрирован: 24.11.2014

А как одновременно подключить гейт к Вере и к монитору порта?

axill
Offline
Зарегистрирован: 05.09.2011

virgus1970 пишет:

А как одновременно подключить гейт к Вере и к монитору порта?

ethernet можно, serial нет. Но все что выдает serial gateway видно в логах веры

virgus1970
Offline
Зарегистрирован: 24.11.2014

axill пишет:

Но все что выдает serial gateway видно в логах веры

Я только начал изучать эту тему. Подскажите, пожалуйста, как посмотреть логи в Вере на UI5?

axill
Offline
Зарегистрирован: 05.09.2011

Там есть вэб страничка с логами, если поищите по форуму англоязычному наверняка найдете forum.micasaverde.com

я захожу на веру используя ssh пользователь root и пароль который снизу на корпусе веры (у вера3 так)

Путь к логам погуглите, там файл типа lua.log. Не найдете, посмотрю у себя

virgus1970
Offline
Зарегистрирован: 24.11.2014

Пробую подключить датчик DTH11. Пока не совсем понял правильно он подключился или нет... :( В связи с этим возникли следующие вопросы:

1. У меня Вера подключила два датчика: "Arduino Humidity 1:0" и "Arduino Temp 1:1". Что означают цифры 1:0 и 1:1?

2. Я правильно понимаю, что скетч устроен таким образом, что отсылка данных идет только в случае изменения параметров? А как тогда понять работает датчик или нет?

3. Что за "Arduino Node 1" появился еще? Почему он не выводит информацию по тем пунктам, которые на нем написаны? Сначала время последнего обновления менялся параметр...  Updated После ресета платы на датчике информация появилась... А как часто он обновляется? Когда заново запускается скетч на плате с датчиком?

4. Я не пойму по моему выводу в монитор порта: правильно работает датчик или нет? С одной стороны вроде как показания меняются... но с другой стороны в монитор пишет, что статус передачи "fail". Updated Точно... Данные в Вере меняются, а в мониторе пишет статус передачи "fail". Почему так?

Artemiy
Offline
Зарегистрирован: 20.10.2014

У меня тоже иногда fail пишет, но при этом устройства на вере обновляются. Там скетч так написан, что информация обновляется если изменилась. И время на ноде пишется, когда изменения произошли. Если температура и влажность не менялась, то он и меняться не будет. У Вас датчик dht11? У него замедленная реакция какая-то. Я подключил dht21 - он быстрее обновляется. Соответственно, видно в шлюзе, что данные идут.

virgus1970
Offline
Зарегистрирован: 24.11.2014

To Artemiy

Спасибо! Я тоже вижу, что обновляется и время последнего обновления пишет в ноде. А что это за нод такой? И зачем он нужен? Может быть я не прав, но подозреваю, что каждый скетч будет создавать свой нод?

Насчет  DHT11 согласен. Он даже по техническим данным в 2 раза медленнее DTH22. Но мне для пробы.

В связи с тем, что планирую пробовать разнообразные датчики на одной и той же Нано возникает вопрос. Как правильно удалять установленные датчики и эти ноды из Веры? И как правильно удалять все данные из EEPROM самой Нано, к которой были подключены датчики? Где на MySensors встречал скетч для очистки EEPROM, не могу теперь найти...

Artemiy
Offline
Зарегистрирован: 20.10.2014

Нода создается к каждой ардуине. И нумерация у них как раз идет нода 1, датчик 1:0, 1:1. Далее, если следующую ардуину соберете, будет уже не нода, а репитер с номером 2. И датчики (или устройства) там уже будут 2:0, 2:1 и т.д.

Последний вопрос для меня тоже актуален.

avton
avton аватар
Offline
Зарегистрирован: 11.05.2014

virgus1970 пишет:

 Где на MySensors встречал скетч для очистки EEPROM, не могу теперь найти...

Он есть в примере самой библиотеки EEPROM

virgus1970
Offline
Зарегистрирован: 24.11.2014

Нашел где на MySensors написано как очистить EEPROM.

Я так думаю, что алгоритм подготовки Ардуины, которая уже работала с Верой и которую Вы хотите попробовать с другими датчиками, должен быть следующим:

1. Удалить из Веры соответствующий узел (Arduino Node), а также датчики и актуаторы, которые были подключены через эту плату.

2. Очистить EEPROM приведенным выше скетчем.

Завтра проверю...

P.S. Сейчас только заметил, что у меня в Вере на плагине пишет версия библиотек 1.4 (плагин ставил еще в начале года). А на ноде пишет версия 1.4.1 Обновились библиотеки?

Artemiy
Offline
Зарегистрирован: 20.10.2014

virgus1970: Это не существенная разница. Всё должно работать.

axill: Спасибо за поддержку и советы. Ethernet Шлюз работает как часы. Мне он даже больше понравился - не пропадает как USB'шный. И, как оказалось, это Вы мне Веру-2 продали. :) Я после неё купил 3-ю, но с US чипом. Пришлось US чип переставить в 2-ю веру и отправить это всё на дачу с ардуинами работать. А третью нагружаю по полной. Работает и с z-wave и с ардуинками.

virgus1970
Offline
Зарегистрирован: 24.11.2014

Глупый вопрос, но не могу понять, что не так... Не могу зайти на свою Веру через Инет. Не через локальную сеть, а с другого компа или с телефона не через WiFi. Набираю IP, который прописан в адресной строке броузера, когда захожу через локалку. Пишет "сервер недоступен". Подскажите, пожалуйста, что я делаю не так?

utya
Offline
Зарегистрирован: 08.01.2015

Товарищи, кто знаком и уже что-то пробовал с esp8266?

Хочу создать несколько виртуальных датчиков на вере аля, выключатель и датчик температуры, с помощью lua скриптов написать http запросы на esp8266. У кого еть опыт написания скриптов на lua под вера?

axill
Offline
Зарегистрирован: 05.09.2011

virgus1970 пишет:

Глупый вопрос, но не могу понять, что не так... Не могу зайти на свою Веру через Инет. Не через локальную сеть, а с другого компа или с телефона не через WiFi. Набираю IP, который прописан в адресной строке броузера, когда захожу через локалку. Пишет "сервер недоступен". Подскажите, пожалуйста, что я делаю не так?

если хотите из интернета зайти залогиньтесь на getvera.com

axill
Offline
Зарегистрирован: 05.09.2011

utya пишет:

Товарищи, кто знаком и уже что-то пробовал с esp8266?

Хочу создать несколько виртуальных датчиков на вере аля, выключатель и датчик температуры, с помощью lua скриптов написать http запросы на esp8266. У кого еть опыт написания скриптов на lua под вера?

чисто на Lua  пррмеры легко найти на forum.micasaverde.com. сам делал уже давно

но куда лучше сделать плагин

utya
Offline
Зарегистрирован: 08.01.2015

А сделать плагин, это уже как-то по другому?

axill
Offline
Зарегистрирован: 05.09.2011

да, там целый набор механизмов и встроенные методы работы с сетью. Так MySensors плагин работает, но я не силен, его @hek делал. можно исходники посмотреть из любопытства

axill
Offline
Зарегистрирован: 05.09.2011

отдельно запостил тему про датчик для MySensors и обновление про мою информационную панель которая теперь стала ардуиной  http://arduino.ru/forum/proekty/informatsionnaya-panel-s-chasami-i-ulich...

virgus1970
Offline
Зарегистрирован: 24.11.2014

Разобрался с подключением через Инет.

axill пишет:

если хотите из интернета зайти залогиньтесь на getvera.com

Это я так понял для UI7. У меня же стоит UI5, установленный с сайта mios.com, поэтому в моем случае подключение через Инет через cp.mios.com

Поставил на пробу датчик освещенности. Но он как-то странно работает.. Во-первых, я не ожидал, что при уровне освещенности по датчику BHI750 "0" мои глаза могут достаточно еще различать окружающие предметы. Во-вторых, он очень редко посылает данные. Я понимаю, что скетч устроен таким образом, что посылает только изменения. Но вот датчик температуры даже при отсутствии изменений обновляет данные периодически (это видно из времени обновления в иконке узла). 

Я хотел использовать этот датчик для включения подсветки в темное время суток в проходном коридоре совместно с датчиком движения. Но теперь думаю, что он мне не подойдет... Буду пробовать как работает другой датчик LM393

По поводу повторного использования Ардуино... Я взял плату, которую ранее подсоединял с датчиком DHT11 со скетчем Humidity. Загрузил на нее скетч очистки EEPROM, тот отработал. Залил скетч для проверки работоспособности NRF24 - работает. Залил скетч датчика освещенности, начал подключение к шлюзу... и он не цепляется... По монитору видно, что скетч очистки отработал свое и записал во все ячейки значени 255 (0хff). Но вот шлюз его не цепляет... пробовал, пробовал... не получилось. В итоге подцепил на новую Ардуино.

axill
Offline
Зарегистрирован: 05.09.2011

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

у меня проблем с добавлением новых устройств не возникает. Если хотите поэкспререментировать с разными скетчами то не удаляйте в вере саму ноду "Arduino Node". Удаляйте только те child который уже не нужны. Тогда можно и EEPROM не чистить. Там в вере как-то хитро сохраняется информация и если под одним и тем же ID пытаться создавать удаленные устройства то они не создаются.

utya
Offline
Зарегистрирован: 08.01.2015

Скажите, а как вы управляете с Veri датчиками на ноде?

Даже наверно не так спрошу, а более конкретно как протолкнуть, данные с веры на ноду, какие команды исользуются, там и там. Пытался разобраться по примеру с часами, но там только одна команда получить time и всё.

На ноде экран хочу выводить инфу с других датчиков на этот экран. Ну типа как у вас часики.

axill
Offline
Зарегистрирован: 05.09.2011

в моей статье на коте и вот здесь на форуме http://forum.mysensors.org/topic/957/red-green-matrix-information-panel-... (даже кажется в этой теме ранее) есть код Lua

используются переменные VAR1-VAR5

utya
Offline
Зарегистрирован: 08.01.2015

ООО, спасибо.

virgus1970
Offline
Зарегистрирован: 24.11.2014

axill пишет:

датчик может посылать данные так часто, как хотите. 

Я так понимаю это зависит от настроек функции delay и логики работы блока сравнения текущего значения и предыдущего запомненного. Например вот так: 

  if (lux != lastlux) {
      gw.send(msg.set(lux));
      lastlux = lux;
  }

Однако, скетч датчик влажности посылает периодически данные и при отсутствии изменений данных температуры и влажности. Это видно из времени обновления узла и из листинга в мониторе. Но я так и не нашел, где в скетче "Humidity 1.0" код ответственный за это...

axill пишет:

я для датчиков освещенности применяю обычный фоторезистор

Покажите, пожалуйста, Ваш код реализации. А фоторезистор подключаете как LM393 или по другому варианту?

И еще очень большая просьба... Я так понимаю, что Вы уже более трех лет используете Веру. За это время я уверен Вы попробовали большое количестве вариантов автоматизации определенных действий (сцены). Не могли бы Вы описать перечень тех, сцен и расписаний, которые у Вас реализованы? Для того, чтобы можно было ориентироваться при создании своей системы.

axill
Offline
Зарегистрирован: 05.09.2011

Я имел в виду, что можете переписать скет так, чтобы он отправлял данные так как вы хотите

насчет датчика освещенности. Я ставлю фоторезистор одной ногой к земле вторую к аналогому входу ардуины. Этот же вход подвешиваю на плюс резистором от 10 до 500к в зависимости от теневого сопротивления фоторезистора. Подбираю так, чтобы на аналоговом входе была максимально большая разница напряжений в состояниях "полная темнота" и "максимальная засветка". Дальше пишу код по считыванию данных и преобразованию их в относительную освещенность от 0 до 100%. Посмотрите в моих статьях на радиокоте (поиск по axill) в проектах простых умных часов и часах на матрице (последние я здесь в отдельной ветке недавно опубликовал в коде для ардуино)

Касательно веры. Весь опыт долго пересказывать. Да и зависит от того какая цель стоит. У меня цель в том чтобы избавить жильцов от ряда действий и еще безопасность.

я использовал виртуальные выключатели для обозначения 1. Статус поздно-не поздно (сейчас есть готовый плагин день-ночь) 2. Присутствия дома 3. Отъезд в отпуск - эти два отражены в UI7 как специальный статус. 4. Холодный сезон года - применяется для логики электрообогрева застекленной лоджии. Если средняя температура за три дня на улице ниже порога включается "холодно", если выше - выключается. Температура берется с плагина погоды

настроил комнаты по помещериям. В комнаты добавил камеры где есть, их бывает удобно просматривать удаленно. Можно еще настроить запись событий, но у меня эта часть настроена на NAS

Назыания девайсов начинаю с цифр это дает сортировку устройств внутри комнаты

ряд помощений у меня имеет автоматический свет по датчикам движения. Сейчас для этого применяю smartswitch плагин, причем его настройки можно менять по событиям день-ночь. Так в части помещений у меня ночью вклячается только подсветка

в других помещениях по датчику движения свет не включается, но отключается спустя долгую паузу при отсутствии движения

по данным датчиков движения и датчика на входной двери организовано детектирование отсутствия, эта логика работает только в светлое время суток. Если детектировал отсутствие то меняется статус присутствия и отключается все освещение и ставятся в режим arm датчики движения. У них настроены notification в режиме arm. С этого момента считаются часы и если отсутствие действует больше заданного числа часов выставляется статус отпуск

в статусе отпуск активируется плагин случайного освещения