Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Alex_Jet
Сообщения: 891
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Alex_Jet » 06 янв 2019, 19:37

Andrey_B писал(а):
05 янв 2019, 11:43
Иконка "PPM" кодируется в крупном шрифте символом "p". "Done" для "disp_cmd=1" поправил.
Андрей, спасибо большое за доработки и исправления. Правда символ ppm в моем варианте получился не удачным:(
По поводу очистки нулевой строки дисплея - получается около 110 мс. Если всю строку заполнить текстом, то получается то же время. Самое быстрое - вывод крупного шрифта (цифры и пробелы) - 6 символов за 12 мс.
Andrey_B писал(а):
05 янв 2019, 21:24
Я не вижу в этом практического смысла. В прошивке это точно не нужно.
В прошивке это точно не нужно. А вот более читабельная настройка портов в веб-интерфейсе - была бы удобна. Например, не просто DS, а DS-1W/DS-1WBUS/DS-DHT/DS-iB/DS-W26. Для входов - IN-P/IN-R/IN-P&R/IN-C, для выходов - OUT/OUT-SW/OUT-SW link/OUT-DS2413. В общем, я когда-то об этом уже писал...

Update1: Андрей, при установке времени контроллер также возвращает страницу Config, а не Done.

Andrey_B
Администратор
Сообщения: 4081
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 07 янв 2019, 11:47

Alex_Jet писал(а):
06 янв 2019, 19:37
символ ppm в моем варианте получился не удачным:(
Вопрос вкуса. Я могу придумать свой вариант, но нет гарантии, что он вам понравится. Правда в том, что это маловостребованная функция.
Alex_Jet писал(а):
06 янв 2019, 19:37
По поводу очистки нулевой строки дисплея - получается около 110 мс.
Это плата за возможность использовать I2C-устройства с любыми портами.
Alex_Jet писал(а):
06 янв 2019, 19:37
В прошивке это точно не нужно. А вот более читабельная настройка портов в веб-интерфейсе - была бы удобна.
Все это сводится в конечном итоге к вопросу о "шашечках или ехать". Я разделяю вашу точку зрения, и все, что вы написали тогда, совершенно логичные и правильные вещи. Но в то же время я понимаю, что это значительная реструктуризация интерфейса, потенциальные баги, где-то потеря совместимости с существующими программными решениями. И ради чего? Нет, не ради каких-то новых функций и, возможностей. А ради того, чтобы админу было чуть приятнее производить начальную настройку, которая делается 5 минут на много лет вперед. В данном случае, когда есть тысячи инсталляций, я скорее буду придерживаться консервативного правила "работает - не трогай", а шашечки прикручивать возможно к чему-то принципиально другому.
Alex_Jet писал(а):
06 янв 2019, 19:37
при установке времени контроллер также возвращает страницу Config, а не Done.
"Done" задумывался как экономия времени контроллера на формирование содержимого ответного пакета в тех ситуациях, когда запросов от сервера много.
В данном случае установка времени - это очень редкая операция, а значит экономии нет. Кроме того, такую операцию может производить пользователь и сразу увидеть результат, а не промежуточный "Done".
Возможно, вы используете ответ "Done" для анализа сервером успешности выполнения операции/команды. Если это рассматривать в этой логике, то да, должен вернуть что-то стандартное. Но таких ситуаций, когда в целях оптимизации флеша одни и те же запросы используются и для пользовательского интерфейса и в качестве внешнего "API" много.

zidky
Сообщения: 92
Зарегистрирован: 19 авг 2018, 03:42

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение zidky » 13 янв 2019, 02:38

Andrey_B писал(а):
07 янв 2019, 11:47
использовать I2C-устройства
Кстати о них - взял датчик тока INA219 и не понял как его запустить. На шине виден только его адрес, но как его инициализировать или прочитать? Про API I2C нашел, но команды инициализации, старта и чтения дают FF на выходе. Может как-то нужно указать его адрес? Я ему запаял перемычку другого адреса, на стандартном он определялся как какой-то BMx280, кажется. Ведь можно последовательностью запросов к меге получить значение?

Во вложении рабочий драйвер для ардуино, похоже. Как понял из кода, нужно послать 0x01 и 0x02 для получения BUSVOLTAGE через команды: http://192.168.0.15/sec/?pt=36&scl=37&i2c_send=1 (2)?
Вложения
arduino-ina219-master.zip
(17.52 КБ) 20 скачиваний

Коля
Сообщения: 167
Зарегистрирован: 28 ноя 2014, 18:50

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Коля » 13 янв 2019, 08:31

SIM800L позволяет совершать дозвон на телефон или только смс?

Andrey_B
Администратор
Сообщения: 4081
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 13 янв 2019, 11:14

zidky писал(а):
13 янв 2019, 02:38
взял датчик тока INA219 и не понял как его запустить.
"Аппаратно" работать можно только с теми I2C-устройствами, поддержка которых заложена в прошивке. INA219 в данный момент не поддерживается.
"Программно" можно теоретически работать с любыми I2C-устройствами, но мне кажется это не ваш случай. Да я и не слышал, чтобы кто-то делал свои программные драйверы для т.н. MegaD I2C API. Видимо, не очень удобно, не очень эффективно и не очень очевидно.
Коля писал(а):
13 янв 2019, 08:31
SIM800L позволяет совершать дозвон на телефон или только смс?
В текущий момент только SMS.

Коля
Сообщения: 167
Зарегистрирован: 28 ноя 2014, 18:50

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Коля » 13 янв 2019, 13:03

Вообще Вы планируете дозвон? Не всегда для режима охраны и пожарки только смс достаточно. Не всегда смотришь смс сразу. На некоторые тел можно ставить программы чтоб поставить звук смс например тревога. Но везде раньше ставил - работала через раз. Поэтому можно пропустить важное событие.
У меня кситал gsm сигналка стоит на работе и даче. Она звонит и говорит тревога и смс отправляет. Пользуясь 7 лет удобно. В новой квартире не хотел ее ставить, думал получится только мегой и gsm модулем обойтись.
Просто если не планируете тогда буду разводить провода под каитал.

Andrey_B
Администратор
Сообщения: 4081
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 13 янв 2019, 14:16

Коля писал(а):
13 янв 2019, 13:03
Вообще Вы планируете дозвон?
В краткосрочной перспективе - нет.
Для мобильных звонков необходима сохраненная и желательно изменяемая запись голоса, а мне жаль на это ресурсов микроконтроллера. Ведь контроллер создавался не для этого.
С другой стороны "сервер" + GSM USB Dongle позволяют гораздо больше. А если еще и Asterisk имеется, то возможности почти безграничны.

Коля
Сообщения: 167
Зарегистрирован: 28 ноя 2014, 18:50

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Коля » 13 янв 2019, 15:41

Понятно. На самом деле голос и не обязателен. Просто был молчаливый звонок)

zidky
Сообщения: 92
Зарегистрирован: 19 авг 2018, 03:42

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение zidky » 13 янв 2019, 17:41

Andrey_B писал(а):
13 янв 2019, 11:14
"Программно" можно теоретически работать с любыми I2C-устройствами, но мне кажется это не ваш случай. Да я и не слышал, чтобы кто-то делал свои программные драйверы для т.н. MegaD I2C API. Видимо, не очень удобно, не очень эффективно и не очень очевидно.
Почему не мой случай? Для программного метода интересуюсь и хочу создать драйвер через MegaD I2C API. Пытаюсь перефразировать вопрос: как через MegaD I2C API выбрать адрес устройства которому передавать данные? Или Вы имеете в виду что I2C API не справится?

Andrey_B
Администратор
Сообщения: 4081
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 13 янв 2019, 21:44

Наверное, у вас пока не сложилось полного представления относительно MegaD I2C API. Это в сущности довольно низкоуровневая штука.
Попробуйте вот это.
Если проберет и сможете разобраться, а это, поверьте, совсем несложно, то сможете работать с любым I2C-устройством, которое не поддерживается "нативно" прошивкой. Будете, вероятно, первым, кто смог.
У этого метода есть только один существенный недостаток - низкая скорость работы.

xsash
Сообщения: 225
Зарегистрирован: 08 авг 2016, 12:27

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение xsash » 13 янв 2019, 22:20

Поддержу про "молчаливый" дозвон, причем лучше "двойной". Поясню.

Например в iphone есть функция "не беспокоить", когда отключаются звуковые и вибро уведомления от всех программ и событий.
НО - если произойдет 2 звонка с одного номера, то во второй раз будет уже оповещение. Вот из описания "Использование режима «Не беспокоить водителя»", ранее аналогичный был алгоритм для ночного режима
Уведомления о телефонных вызовах будут поступать так же, как и при включении обычного режима «Не беспокоить». Можно разрешить прием вызовов только от абонентов из списка «Избранные», а также принимать вызовы, если абонент звонит повторно.

Andrey_B
Администратор
Сообщения: 4081
Зарегистрирован: 18 мар 2011, 12:06

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Andrey_B » 13 янв 2019, 22:34

xsash писал(а):
13 янв 2019, 22:20
Поддержу про "молчаливый" дозвон
Посмотрю, что можно сделать.

zidky
Сообщения: 92
Зарегистрирован: 19 авг 2018, 03:42

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение zidky » 14 янв 2019, 01:45

Andrey_B писал(а):
13 янв 2019, 21:44
Наверное, у вас пока не сложилось полного представления относительно MegaD I2C API.
Таки да. Просмотрел примеры и не понял конкретно как задается адрес к которому обратиться? Вот он виси у меня 0x82 и в примерах подобного не нашел. Или это задается после старта следующей командой записи?

Я плаваю в работе с моей ina219. По даташиту вроде как запишите в регистр что нужно читать и читайте. Но как это реализовать через API?
Сейчас пробую так:

Код: Выделить всё

Инит
http://192.168.0.15/sec/?pt=36&scl=37&i2c_cmd=1

Старт
http://192.168.0.15/sec/?pt=36&scl=37&i2c_cmd=2

Отправить
http://192.168.0.15/sec/?pt=36&scl=37&i2c_send=2

Стоп
http://192.168.0.15/sec/?pt=36&scl=37&i2c_cmd=3

Старт
http://192.168.0.15/sec/?pt=36&scl=37&i2c_cmd=2

Прочитать
http://192.168.0.15/sec/?pt=36&scl=37&i2c_read=0

Стоп
http://192.168.0.15/sec/?pt=36&scl=37&i2c_cmd=3
Почему отправляю 2? - это Bus voltage в таблице Summary of Register Set даташита. Но в ответ ff и все. Чувствую что отправляю не то и нужно наставление.
Неравнодушных прошу ознакомиться со страницей 14 и 19 даташита http://www.ti.com/lit/ds/symlink/ina219.pdf.

Коля
Сообщения: 167
Зарегистрирован: 28 ноя 2014, 18:50

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Коля » 14 янв 2019, 08:14

При подключении gsm модема 800l к одной меге 2561 плюс 2 модуля - управление и работа смс только с этой мегой и ее модулями?
Если купить еще пять мег 2561 с модулями- чтоб с ним работали смс , нужно покупать еще 5 gsm модулей?

xsash
Сообщения: 225
Зарегистрирован: 08 авг 2016, 12:27

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение xsash » 14 янв 2019, 08:31

Да, один контроллер - один gsm модем

Сервер "решает"

Alex_Jet
Сообщения: 891
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Alex_Jet » 14 янв 2019, 09:03

zidky писал(а):
14 янв 2019, 01:45
Сейчас пробую так:

Код: Выделить всё

Инит
http://192.168.0.15/sec/?pt=36&scl=37&i2c_cmd=1
На портах 36 и 37 нет штатной подтяжки к +3.3В, поэтому шина I2C не будет на них работать. Попробуйте подключить девайс к портам 30-35.

zidky
Сообщения: 92
Зарегистрирован: 19 авг 2018, 03:42

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение zidky » 14 янв 2019, 12:59

Alex_Jet писал(а):
14 янв 2019, 09:03
На портах 36 и 37 нет штатной подтяжки к +3.3В, поэтому шина I2C не будет на них работать. Попробуйте подключить девайс к портам 30-35.
Как же это? Ведь куча датчиков висит на других мегах именно на них по i2c. Честно-честно!

Alex_Jet
Сообщения: 891
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Alex_Jet » 14 янв 2019, 13:26

zidky писал(а):
14 янв 2019, 12:59
Alex_Jet писал(а):
14 янв 2019, 09:03
На портах 36 и 37 нет штатной подтяжки к +3.3В, поэтому шина I2C не будет на них работать. Попробуйте подключить девайс к портам 30-35.
Как же это? Ведь куча датчиков висит на других мегах именно на них по i2c. Честно-честно!
Проверьте точно ли это так. Я как-то раз подключал к P36-37 DS2413 - и он не работал. Может быть на платах других датчиков на линиях SDA/SCL есть "противопомеховые" подтягивающие резисторы? Вообще P36-37 специально оставлены без подтяжки для нормальной работы ADC с аналоговыми датчиками.

zidky
Сообщения: 92
Зарегистрирован: 19 авг 2018, 03:42

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение zidky » 14 янв 2019, 13:53

Alex_Jet писал(а):
14 янв 2019, 13:26
Проверьте точно ли это так. Я как-то раз подключал к P36-37 DS2413 - и он не работал. Может быть на платах других датчиков на линиях SDA/SCL есть "противопомеховые" подтягивающие резисторы? Вообще P36-37 специально оставлены без подтяжки для нормальной работы ADC с аналоговыми датчиками.
http://192.168.0.14/sec/?pt=36&scl=37&i2c_dev=max44009 - отрабатывает четко.
Так же висят другие. Тот же датчик CO2 на линии 22 метра.
Но это на свежих мегах. Пробовал украинские клоны мег - там таки проблемы были, цифровые порты требовали особого подхода почему-то даже с 1wire.

Alex_Jet
Сообщения: 891
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Прошивка MegaD-2561 (релизы, обсуждения, предложения)

Сообщение Alex_Jet » 14 янв 2019, 14:12

zidky писал(а):
14 янв 2019, 13:53
http://192.168.0.14/sec/?pt=36&scl=37&i2c_dev=max44009 - отрабатывает четко.
Ок, будет время - проверю сам. У самого в голове осталось, что к P36-37 подключать только аналоговые датчики...

Ответить