Не работало - факт. Версия mysensors у меня последняя. Это в MQTT и ethernet гейтах не написано что его надо подключить, а во всех остальных случаях нарисовано подключениеcabat писал(а):Вроде на форуме mysensors.org писали, что сейчас IRQ не используется: http://forum.mysensors.org/topic/510/mi ... oughts/190Ujin778 писал(а):Я разобрался с сериалгейтом - оказывается не подключил выход прерывания от радиомодуля
mysensors
-
- Сообщения: 62
- Зарегистрирован: Вт апр 28, 2015 8:26 pm
- Благодарил (а): 14 раз
- Поблагодарили: 2 раза
Re: mysensors
-
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
- Благодарил (а): 49 раз
- Поблагодарили: 327 раз
Re: mysensors
255 это бруткаст. Скорей всего не может получить адрес. Радио модуль не правильно подключен
- Рейтинг: 1.16%
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
-
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
- Благодарил (а): 49 раз
- Поблагодарили: 327 раз
Re: mysensors
Смотрите на статус. Скорей всего он у вас faild
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
-
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
- Благодарил (а): 49 раз
- Поблагодарили: 327 раз
Re: mysensors
Irq не используется уже с версии 1.2
- Рейтинг: 1.16%
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
-
- Сообщения: 62
- Зарегистрирован: Вт апр 28, 2015 8:26 pm
- Благодарил (а): 14 раз
- Поблагодарили: 2 раза
Re: mysensors
Когда радио неправильно подключено то в отладку об этом пишет, а тут связь с гейтом есть.Ivan писал(а):255 это бруткаст. Скорей всего не может получить адрес. Радио модуль не правильно подключен
-
- Сообщения: 62
- Зарегистрирован: Вт апр 28, 2015 8:26 pm
- Благодарил (а): 14 раз
- Поблагодарили: 2 раза
Re: mysensors
Я ещё менял инициализацию библиотеки, там было с кучей параметров а я сделал все по умолчанию как в примерах нод сделано. Может в этом дело было.Ivan писал(а):Irq не используется уже с версии 1.2
-
- Сообщения: 354
- Зарегистрирован: Вт окт 09, 2012 8:05 am
- Откуда: Луза Кировская обл. Россия
- Благодарил (а): 20 раз
- Поблагодарили: 35 раз
Re: mysensors
Коллеги есть MQtt gate на базе Uno+wiz5100. Может кто подскажет как управлять V_light. Создан объект, свойство привязано к Mqtt параметру. Но гейт не передает параметры ноде. Все скетчи с mysensors.
Linux версия. Ubuntu Server 16.04+2xArduinoMega+Eth_GW_Mysensors_10node+WeatherStation+Xiaomi
CONNECT
CONNECT
-
- Сообщения: 191
- Зарегистрирован: Пт дек 20, 2013 4:46 pm
- Благодарил (а): 72 раза
- Поблагодарили: 38 раз
Re: mysensors
Я поборол эту проблему. Помогло одно из двух 
Во-первых я все-таки немного изменял код от mysensors.
Ну и второе, думаю помогло именно это. Я заметил разницу между библиотеками которые у меня были в IDE и идущими с mysensors. Заменил библиотеки - все работает. Со времени моего последнего поста ни зависаний, ни пропаданий.
На всякий случай приложу код ноды с датчиками движения, температуры\влажности, реле. Репитер, шлет температуру каждые 5 минут.

Во-первых я все-таки немного изменял код от mysensors.
Ну и второе, думаю помогло именно это. Я заметил разницу между библиотеками которые у меня были в IDE и идущими с mysensors. Заменил библиотеки - все работает. Со времени моего последнего поста ни зависаний, ни пропаданий.
На всякий случай приложу код ноды с датчиками движения, температуры\влажности, реле. Репитер, шлет температуру каждые 5 минут.
/**
Sensor version 3:
Motion
Temperature
Humidity
Relay
Repeater
*/
#include <SPI.h>
#include <MySensor.h>
#include <DHT.h>
#define CHILD_ID_MOT 0 // Id of the sensor child
#define CHILD_ID_HUM 1
#define CHILD_ID_TEMP 2
#define CHILD_ID_RELAY 3
#define HUMIDITY_SENSOR_DIGITAL_PIN 4
#define DIGITAL_INPUT_SENSOR 3 // The digital input you attached your motion sensor. (Only 2 and 3 generates interrupt!)
#define INTERRUPT DIGITAL_INPUT_SENSOR-2 // Usually the interrupt = pin -2 (on uno/nano anyway)
#define RELAY_1 5 // Arduino Digital I/O pin number for first relay (second on pin+1 etc)
#define NUMBER_OF_RELAYS 2 // Total number of attached relays
#define RELAY_ON 0 // GPIO value to write to turn on attached relay
#define RELAY_OFF 1 // GPIO value to write to turn off attached relay
unsigned long SEND_FREQUENCY = 300; // Minimum time between send (in seconds). We don't want to spam the gateway.
long previousMillis = 0;
MySensor gw;
boolean ReqAck = false; //Request ack
DHT dht;
boolean lastTrip;
MyMessage msgMot(CHILD_ID_MOT, V_TRIPPED);
MyMessage msgHum(CHILD_ID_HUM, V_HUM);
MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
void setup()
{
// The third argument enables repeater mode.
gw.begin(incomingMessage, AUTO, true);
dht.setup(HUMIDITY_SENSOR_DIGITAL_PIN);
// Send the Sketch Version Information to the Gateway
gw.sendSketchInfo("AHSSensor3", "1.0");
// Register all sensors to gw (they will be created as child devices)
gw.present(CHILD_ID_MOT, S_MOTION, ReqAck);
gw.present(CHILD_ID_HUM, S_HUM, ReqAck);
gw.present(CHILD_ID_TEMP, S_TEMP, ReqAck);
// Fetch relay status
for (int sensor=CHILD_ID_RELAY, pin=RELAY_1; sensor<=CHILD_ID_RELAY+NUMBER_OF_RELAYS;sensor++, pin++) {
// Register all relay to gw (they will be created as child devices)
gw.present(sensor, S_LIGHT, ReqAck);
// Then set relay pins in output mode
pinMode(pin, OUTPUT);
// Set relay to last known state (using eeprom storage)
digitalWrite(pin, gw.loadState(sensor)?RELAY_ON:RELAY_OFF);
}
pinMode(DIGITAL_INPUT_SENSOR, INPUT); // sets the motion sensor digital pin as input
}
void loop()
{
unsigned long currentMillis = millis();
// By calling process() you route messages in the background
gw.process();
// Read digital motion value
boolean tripped = digitalRead(DIGITAL_INPUT_SENSOR) == HIGH;
if (tripped != lastTrip) {
lastTrip = tripped;
Serial.print("Tripped: ");
Serial.println(tripped);
gw.send(msgMot.set(tripped?"1":"0")); // Send tripped value to gw
}
if(currentMillis - previousMillis > SEND_FREQUENCY *1000) {
previousMillis = currentMillis;
delay(dht.getMinimumSamplingPeriod());
sendTemp();
sendHum();
}
}
void incomingMessage(const MyMessage &message) {
// We only expect one type of message from controller. But we better check anyway.
if (message.type==V_LIGHT) {
// Change relay state
digitalWrite(message.sensor-3+RELAY_1, message.getBool()?RELAY_ON:RELAY_OFF);
// Store state in eeprom
gw.saveState(message.sensor, message.getBool());
// Write some debug info
Serial.print("Incoming change for relay:");
Serial.print(message.sensor);
Serial.print(", New status: ");
Serial.println(message.getBool());
}
}
void sendTemp() {
float temperature = dht.getTemperature();
if (isnan(temperature)) {
Serial.println("Failed reading temperature from DHT");
}
else {
gw.send(msgTemp.set(temperature, 1));
Serial.print("Temperature: ");
Serial.println(temperature);
}
}
void sendHum() {
float humidity = dht.getHumidity();
if (isnan(humidity)) {
Serial.println("Failed reading humidity from DHT");
}
else {
gw.send(msgHum.set(humidity, 1));
Serial.print("Humidity: ");
Serial.println(humidity);
}
}
- Рейтинг: 1.16%
Ubuntu на Banana pi M2U Connect
- slgeo
- Сообщения: 551
- Зарегистрирован: Чт фев 05, 2015 2:35 pm
- Откуда: РнД
- Благодарил (а): 139 раз
- Поблагодарили: 74 раза
Re: mysensors
А библиотеки Mysensors для RaspberryPi с поддержкой MQTT не существует? Получается придется городить к малинке EthernetGateway?
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
CONNECT