Страница 22 из 72
Re: Модуль MySensor
Добавлено: Пт фев 12, 2016 3:40 pm
Anton_kulibin
NightRider. Смотрите питание. Я 2 дня бился оказалось, на модуль идет 4,2В, сгорел преобразователь (оказалось 4 месяца назад кондер перепутал + с -, но все работало). NRF модули очень капризны к напряжению.
Re: Модуль MySensor
Добавлено: Пт фев 12, 2016 3:56 pm
NightRider
Anton_kulibin писал(а):NightRider. Смотрите питание. Я 2 дня бился оказалось, на модуль идет 4,2В, сгорел преобразователь (оказалось 4 месяца назад кондер перепутал + с -, но все работало). NRF модули очень капризны к напряжению.
Спасибо за совет, перепроверю уровень напряги. Кондеры у меня везде припаяны.
Я правильно понимаю, что вот эти "фейлы" это исключение и их быть не должно. И если включить отладку на ноде и снять лог сообщений эдак со ста, то ни одного фейла там быть не должно?
Так то я думал что это в порядке вещей, для этого и реализован ACK с повторной отправкой... Но чет у меня последнее не работает.
Re: Модуль MySensor
Добавлено: Пн фев 15, 2016 10:17 am
NightRider
На гейте подключенный к RPI2 приблизительно 3v, на одной из нод - 3.12v
Судя по описаниям - модуль NRF нормально себя чувствует при таких уровнях.
Re: Модуль MySensor
Добавлено: Ср фев 17, 2016 7:12 pm
Ivan
Обновил модуль
- Исправил для PHP 5.3
- Добавлен сброс информации о батарейке
Re: Модуль MySensor
Добавлено: Ср фев 17, 2016 10:16 pm
Alien
Может совпадение, но после обновления ошибки посыпались:
socket_connect() failed. Reason: Operation now in progress
2016-02-17 20:25:37 Connecting TCP
20:25:37 running cycle_mysensor.php
socket_connect() failed. Reason: Operation now in progress
2016-02-17 20:23:01 Connecting TCP
20:23:01 running cycle_mysensor.php
socket_connect() failed. Reason: Operation now in progress
2016-02-17 20:22:44 Connecting TCP
20:22:44 running cycle_mysensor.php
Re: Модуль MySensor
Добавлено: Ср фев 17, 2016 11:39 pm
slgeo
Alien, а какой у тебя гейт подключен?
Иван, ты говорил о кривых и неудобных значениях передачи % заряда аккумулятора, вот на примере скетча
Battery Powered Sensors немного переработал формулу расчета процента.
Думаю, теперь он более корректен и отражает действительное значение заряда.
Опирался на то что, если напряжение на аккумуляторе (батарейке) упало более чем на 20%, то будет отсылаться 0%.
Код: Выделить всё
#include <SPI.h>
#include <MySensor.h>
int BATTERY_SENSE_PIN = A0; // select the input pin for the battery sense point
MySensor gw;
unsigned long SLEEP_TIME = 5000; // sleep time between reads (seconds * 1000 milliseconds)
int oldBatteryPcnt = 0;
void setup()
{
// use the 1.1 V internal reference
#if defined(__AVR_ATmega2560__)
analogReference(INTERNAL1V1);
#else
analogReference(INTERNAL);
#endif
gw.begin();
// Send the sketch version information to the gateway and Controller
gw.sendSketchInfo("Battery Meter", "1.1");
}
void loop()
{
// get the battery Voltage
int sensorValue = analogRead(BATTERY_SENSE_PIN);
#ifdef DEBUG
Serial.println(sensorValue);
#endif
// 1M, 470K divider across battery and using internal ADC ref of 1.1V
// Sense point is bypassed with 0.1 uF cap to reduce noise at that point
// ((1e6+470e3)/470e3)*1.1 = Vmax = 3.44 Volts
// 3.44/1023 = Volts per bit = 0.003363075
// коэффициент надо подстроить под свои резисторы
float batteryV = sensorValue * 0.00247899159663;
// некорректный расчет %, поскольку отталкивается от 0 отметки
// int batteryPcnt = sensorValue / 10;
// сохраняем в переменную напряжение заряженного аккумулятора
float FullbatteryV = 1.2;
// считаем % отталкиваясь от того, что потеря заряда на 20%, будет считаться как 0%
int batteryPcnt = (1 - (FullbatteryV - batteryV)/(0.2 * FullbatteryV)) * 100;
if (batteryPcnt > 100) batteryPcnt = 100;
if (batteryPcnt < 0) batteryPcnt = 0;
#ifdef DEBUG
Serial.print("Battery Voltage: ");
Serial.print(batteryV);
Serial.println(" V");
Serial.print("Battery percent: ");
Serial.print(batteryPcnt);
Serial.println(" %");
#endif
if (oldBatteryPcnt != batteryPcnt) {
// Power up radio after sleep
gw.sendBatteryLevel(batteryPcnt);
oldBatteryPcnt = batteryPcnt;
}
gw.sleep(SLEEP_TIME);
}
Re: Модуль MySensor
Добавлено: Ср фев 17, 2016 11:47 pm
Alien
Ethernet. Перегрузил гейт - заработало. Просто он у меня месяцами без затыков справлялся. Скорее всего совпадение. Будет повторяться - отпишусь. Кстати, обновление нод по сети не предвидится?

Re: Модуль MySensor
Добавлено: Чт фев 18, 2016 8:02 am
Ivan
Насчёт чтения батареи через резистивный делитель. У вас он будет давать лишнее потребление, ещё учтите что включенный АЦП тоже даёт лишнее потребление.
Обновление нод по радио предвидеться. Но для этого мне нужно собрать 1 такую ноду.
Давайте обговорим это в личке или через Skype
Re: Модуль MySensor
Добавлено: Пт фев 26, 2016 11:10 am
Ivan
Исправлена ошибка определения отключения сокета
Re: Модуль MySensor
Добавлено: Сб фев 27, 2016 2:25 am
lanket
Знатоки Ардуинок подскажите пожалуйста пытаюсь заставить работать блок реле состоящий из 21 шт. Потихоньку потом его еще хочу нагрузить всякими датчиками.
Скетч взял оригинальный с сайта
http://www.mysensors.org/build/relay
Так как у Atmega328 для реализации задумки нехватает портов решил реализовать на MEGA 2560.
Не запустилась, сетка не видит ноды.
Смущает одна строчка:
Код: Выделить всё
// Select AtMega328 hardware profile
MyHwATMega328 hw;
В инете находиться только копии этого же или других скетч.
Описания не нашол такой команды.
Закоментировать если то вываливается с ошибкой
Код: Выделить всё
exit status 1
'hw' was not declared in this scope
Пробовал и вот такие 2 варианта:
Ругается мол такого не знаю
Аналогично подбирал назввание со строчкой
Доперло поискать в библиотеках
вот и нашол MyHwATMega328.h
А вот с оконцовкой 2560 ничего подобного.
Что делать то?
Нехочется делить блок реле на 3 ардуинки когда логичнее былобы (так как это все в щетке управления 1м этажом) реализовать в одной ноде (ардуинке)