Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > CyberWrt

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.02.2018, 22:33   #1
melsem
Moderator
 
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 600
melsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud of
По умолчанию Модуль "Вебка к роутеру для arduino-Терморегулятора"

С вебморды есть просмотр на пк температуры со всех датчиков.

Терморегулятор на Arduino работает самостоятельно.
Роутер не обязателен, можно одноразово и с пк настройки прописать.
Код:
 с консоли arduino-IDE
r+=setS - ARDUINO ОТПРАВИТ ВСЕ УСТАНОВОКИ
r+=setN - ARDUINO ОТПРАВИТ ВСЕ ИМЕНА ДАТЧИКОВ
r+=setM - ARDUINO ОТПРАВИТ ВСЕ СЕРИЙНЫЕ НОМЕРА ДАТЧИКОВ
r+=setT - ARDUINO ОТПРАВИТ ВСЕ ПОКАЗАНИЯ ТЕМПЕРАТУРЫ
Отправка настроек с консоли в arduino.
Код:
строка:
a+=0 115200 16 04 11 27

a+=0 - ключ + пробел.
115200 - speed +пробел.
16 - 16-ти символьный LCD + пробел.
04 - колличество датчиков + пробел.
11 - номер ноги 1wire + пробел.
27 - это i2c адрес 0x27
Код:
Для 4 первых датчиков строка должна быть полностью, деже если только термометр:

b+=0 7 KotelIn 28A9324B03000043 1 5 1 512 16

a+= - ключ.
0 - порядковый номер датчика + пробел. (отщет с нуля!!)В веб-морде отщет идет с 1!!
7 - колличество символов в имени датчика + пробел.
KotelIn - само имя датчика + пробел. (только латынь!!!)
28A9324B03000043 - серийный датчика + пробел.
1 - тип прибора+пробел. (0 - термометр, 1 - Термостат, 2 - Кондиционер)
5 - номер GPIO-выхода + пробел.
1 - активный HIGH + пробел. (0 - LOW)
512 - 51,2 градуса (максимум 99,9 градуса)
 температура отключения gpio терморегулятор (включения gpio кондиционер) + пробел.
16 - 1,6 градуса гистерезис. (максимум 9,9 градуса)

К оставшимся 6 датчикам: 
b+=4 6 Okno-2 28A9324B03000088
---

Название: 2efde413eff4.png
Просмотров: 915

Размер: 62.7 КбНажмите на изображение для увеличения
Название: 1.png
Просмотров: 148
Размер:	118.5 Кб
ID:	4950
Скетч для arduino в архивах.

1. Залить Скетч в arduino. Подключить кнопки, i2C-LCD и ds18b20 + подтяжку от 3,3кОм до 4,7кОм

2. СЕРИЙНЫЕ НОМЕРА ДАТЧИКОВ ПРОГРАМА ПРОСКАНИРУЕТ И СОХРАНИТ САМА, ТОЛЬКО НАДО:

* НАЖАТЬ И УДЕРЖИВАТЬ ОДНОВРЕМЕННО ДВЕ КНОПКИ "buttonMenu" И "buttonPLUS",
* и нажать и потом отпустить кнопку reset на плате, ПОДОЖДАТЬ 5-6 СЕК,
* ОТПУСТИТЬ КНОПКИ "buttonMenu" И "buttonPLUS"
* или
* НАЖАТЬ И УДЕРЖИВАТЬ ОДНОВРЕМЕННО ДВЕ КНОПКИ "buttonMenu" И "buttonPLUS",
* ПОДАТЬ ПИТАНИЕ, ПОДОЖДАТЬ 5-6 СЕК И ОТПУСТИТЬ КНОПКИ "buttonMenu" И "buttonPLUS"

buttonMenu = 2, //кнопка пин 2
buttonPLUS = 3, //кнопка пин 3
buttonMinus = 4; //кнопка пин 4

На LCD отобразит температуру. Прибор уже готов сам работать.
По умолчанию gpio-выходы 5, 6, 7, 8 с активными уровнями HIGH. LCD 16-ти символьная.
В меню-настроек на самой arduino можно изменять:
тип - термометр, термостат, кондиционер и их температуру отключения-включения и гистерезис на 4 датчиках
((термостат и кондиционер это терморегуляторы отличающиеся, между собой, по методу включения-отключения gpio-выходов)).
и колличество датчиков.

С вебморды еще можно изменить gpio-выходы и менять местами, i2c адрес LCD, и на 20-ти символьный, подписывать имена к датчикам,
местами менять Серийные номера, переключать активные уровни HIGH-LOW,
скрость порта (при наведении в подсказке с которыми работает),

2. Поключить к роутеру.
* Потом установить Необходимые пакеты в роутер:
* kmod-usb-serial-ch341 или kmod-usb-serial-pl2303, или другой, в зависимости какой usb-uart переходник используется на arduino.
* Если подключаться к uart роутера то usb-serial не надобно устанавливать.

3. С архива установить:
opkg install port_listen
opkg install termostat-serial-arduino

4. Модуь пропишется в вебке Cyberwrt.
После установки при первом входе в вебку модуля перекинет в настройки, это надо для запуска демона port_listen, который постоянно слушает порт.
С не настроенным или не установленным ком-портом не запустится.

И обязательная последовательность действий для упрощения первичной настройки синхронизации.
Код:
Если в скетче ничего не изменялось то прописать только свой ком-порт
 и нажать сохранить и перезагрузить обязательно.

Потом нажать в вебе "Термостат-arduino-serial", должна отобразится температура.
И нажать "Настройка_arduino". 

И все, Настройки arduino и модуля в роутере синхронизируются, и теперь можно настраивать под себя.
Если что то настроить кнопками на самой arduino, в вебе зайдя в "Настройка_arduino" автоматом пропишется и сохранится.
Что бы от этого не затиралась флэш, вписываются только изменения. Если изменений в arduino не было, то и писать ничего не будет.

Если, что то, где то криво пошло не так. Есть RESET всех настроек.

* АВАРИЙНОЕ ВОССТАНОВЛЕНИЕ РАБОТОСПОСОБНОСТИ UART-232 И ВСЕХ НАСТРОЕК

* НАЖАТЬ И УДЕРЖИВАТЬ КНОПКУ "buttonPLUS" ПОДАТЬ ПИТАНИЕ, ПОДОЖДАТЬ 5-6 СЕК И ОТПУСТИТЬ КНОПКУ "buttonPLUS"
* НАЖАТАЯ КНОПКА "buttonPLUS" Reset to defaults: ВСЕХ НАСТРОЕК И ЗАПИШЕТ speed=115200;

* или
* ПРИ ВКЛЮЧЕННОМ ПИТАНИИ НАЖАТЬ И УДЕРЖИВАТЬ КНОПКУ "buttonPLUS" НАЖАТЬ И ОТПУСТИТЬ КНОПКУ "RESET" НА ПЛАТЕ,
* ПОДОЖДАТЬ 5-6 СЕК И ОТПУСТИТЬ КНОПКУ "buttonPLUS"
* или
* НАЖАТАЯ КНОПКА "buttonMinus" Reset to defaults: ВСЕХ НАСТРОЕК И ЗАПИШЕТ speed=57600;
* или
* НАЖАТЫЕ ВМЕСТЕ КНОПКИ "buttonPLUS" И "buttonMinus" Reset to defaults: ВСЕХ НАСТРОЕК И ЗАПИШЕТ speed=9600;
Вложения
Тип файла: zip AA_termostat-serial-arduino_19.02.2018-test_ar71xx.zip (18.5 Кб, 58 просмотров)
Тип файла: zip LiquidCrystal_I2C.zip (19.9 Кб, 54 просмотров)
Тип файла: zip LEDE_17.01.4_termostat-serial-arduino_ar71xx.zip (12.1 Кб, 54 просмотров)
Тип файла: zip LEDE_17.01.4_termostat-serial-arduino_ramips.zip (12.0 Кб, 53 просмотров)
Тип файла: zip CC15.05.1_termostat-serial-arduino_ar71xx.zip (12.0 Кб, 51 просмотров)
Тип файла: zip CC15.05.1_termostat-serial-arduino_ramips.zip (12.3 Кб, 50 просмотров)
Тип файла: zip BB-14.07_termostat-serial-arduino_ar71xx.zip (11.7 Кб, 55 просмотров)
Тип файла: zip BB-14.07_termostat-serial-arduino_ramips.zip (11.3 Кб, 50 просмотров)
Тип файла: zip Скетч_termostat-serial-arduino.zip (7.8 Кб, 59 просмотров)

Последний раз редактировалось melsem; 26.03.2018 в 16:05.
melsem вне форума   Ответить с цитированием
Старый 10.03.2018, 22:47   #2
melsem
Moderator
 
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 600
melsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud of
По умолчанию

Архивы перезалил.
Дописал:
1. i2c - адрес можно с веба менять.

2. Теперь название прибора хранится и в самой ардуино.
/* НАЗВАНИE ПРИБОРА (кирилица 27-символa a латынь 54-символa) В ARDUINO ДЛЯ EEPROM 312-367 */
если вписывать с вебки, лишние символы обрежутся. Но при за-програмировании ардуино с консоли надо быть внимательным.
(Символ в кирилице занимает 2 байта, латынь 1 байт.)

3. Проверку на отвал питания датчика или корпуса, или выход со строя самого датчика (не только crc). Выводить на LCD и в веб будет "Err-CRC"
Во всех примерах с ds18x20 что встрачались проверка crc это просто .... И все втупую, как и я раньше, переписывают, а проверки то никакой и нету.
Последний принятый байт сравнивается с этим же байтом?

И еще в самом скетче.

Скетч отдельно в архиве.

Последний раз редактировалось melsem; 11.03.2018 в 00:59.
melsem вне форума   Ответить с цитированием
Ответ

Метки
arduino, cyberwrt, ds18b20, терморегулятор, openwrt


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:37. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика