Двух канальный ключ

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Ответить
xace
Сообщения: 56
Зарегистрирован: 12 май 2011, 18:07

Двух канальный ключ

Сообщение xace » 04 июл 2011, 18:42

Двух канальный ключ.

Может кто нибудь подробнее описать как работать с ключом через PHP. Какая примерно структура должа быть базы данных.

Только встал на изучение тернистого пути php и Mysql.

Допустим я создал таблицу key. Как построить логику дальше ? Пример автора увы не очень понятен...

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

Re: Двух канальный ключ

Сообщение Andrey_B » 04 июл 2011, 19:15

xace, если вы имеете ввиду двухканальный 1-wire ключ, то работать с ним очень просто.
Для этого никакая база данных не нужна.
Все, что необходимо, это работающий owfs и установленный PHP.
Простейшая программа выглядит так:

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

<?
// Вызываем библиотеку ownet.php. Лежать она может здесь (в версии 2.8) или в /opt/owfs/bin/ownet.php (в 2.7)
require "/opt/owfs/share/php/OWNet/ownet.php";
// Создаем объект класса OWNet. Порт указан по умолчанию 3000
$ow=new OWNet("tcp://localhost:3000");
// Считываем значение канала A. Адрес ключа, естественно свой.
$pio = $ow->get("/12.40F869000000/PIO.A");
?>
Вот и все. База данных нужна для удобства использования информации, например, для создания универсального кода, когда, подключив к системе еще одно устройство, мы в БД просто добавляем запись, но не вносим никакие изменения в код. Структура БД зависит от внутренней логики системы, от используемой или неиспользуемой CMS, от личных привычек и предпочтений.

Моя структура таблицы, где заведены все исполнительные устройства

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

CREATE TABLE IF NOT EXISTS `tmp_7` (
  `tmpID` int(10) unsigned NOT NULL,
  `ContID` int(10) unsigned NOT NULL,
  `key_addr` text,
  `key_title` text,
  `key_label` text,
  `key_pio` tinyint(3) unsigned NOT NULL default '0',
  `key_type` text,
  `key_level` decimal(30,0) default NULL,
  PRIMARY KEY  (`tmpID`)
) ENGINE=MyISAM;
Не обращайте внимание на название таблицы, это следствие гибкости, так как и эту таблицу я создавал визуально в CMS, а не вручную.
Вот как это выглядит в CMS
keys_cms.jpg
keys_cms.jpg (177.74 КБ) 12798 просмотров
Вот так пока в отображается в Web-клиенте.
keys_web.jpg
keys_web.jpg (48.88 КБ) 12798 просмотров
Но набор характеристик ключа может быть иным.

xace
Сообщения: 56
Зарегистрирован: 12 май 2011, 18:07

Re: Двух канальный ключ

Сообщение xace » 05 июл 2011, 18:51

Картинка для меня проясняется :)

А если ключ 2 канальный ?

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

Re: Двух канальный ключ

Сообщение Andrey_B » 05 июл 2011, 19:23

А что это меняет?
Обратите внимание, что в своей базе я оперирую не устройством целиком, а конкретными портами.
Так 2-х канальные ключи в базе у меня прописаны два раза.
Например, как на скриншоте:
12.40F869000000/PIO.A - это одна нагрузка
12.40F869000000/PIO.B - это другая нагрузка

Для работы с ключами у меня есть специальный скрипт key.php
В нем описана функция. Функцию можно вызвать из любой другой программы или же через Web-интерфейс, если обратиться к key.php напрямую.
В качестве параметров функции указываются не адреса устройств (это неудобно и неочевидно) а их символьные альясы, указанные в моей базе как Label
В зависимости от адреса устройства, функция понимает с каким типом устройств она работает. Таким образом в key.php есть обработчик для 1-wire, X-10, Ethernet-устройств.
Это удобно.

maxxir
Сообщения: 32
Зарегистрирован: 15 апр 2011, 12:42
Откуда: Тольятти

Re: Двух канальный ключ

Сообщение maxxir » 05 июл 2011, 20:26

Andrey_B писал(а):Таким образом в key.php есть обработчик для 1-wire, X-10, Ethernet-устройств.
Это удобно.
Надо добавить еще обработчики под MiWi и CanBus, вот тогда бомба будет :D

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

Re: Двух канальный ключ

Сообщение Andrey_B » 05 июл 2011, 22:21

MiWi - интересная штука. Где бы подсмотреть примеры готовых устройств?
CanBus не знаю. Схемотехника сложнее и дороже 1-wire, особых преимуществ в доме по сравнению с Ethernet не вижу. Кто-нибудь у себя использует CAN в качестве основной шины?
А обработчик написать - дело второстепенное. Это за 10 минут можно сделать.

maxxir
Сообщения: 32
Зарегистрирован: 15 апр 2011, 12:42
Откуда: Тольятти

Re: Двух канальный ключ

Сообщение maxxir » 05 июл 2011, 22:40

Andrey_B писал(а):MiWi - интересная штука. Где бы подсмотреть примеры готовых устройств?
CanBus не знаю. Схемотехника сложнее и дороже 1-wire, особых преимуществ в доме по сравнению с Ethernet не вижу. Кто-нибудь у себя использует CAN в качестве основной шины?
А обработчик написать - дело второстепенное. Это за 10 минут можно сделать.
Вот эти оба транспорта и хочу использовать у себя.
CAN драйверы ко мне уже приехали из Тритона, MIWI (MRF24J40MA-I/RM) закажу в конце июля там же.
Ловлю ВАС на слове о 10-ти минутах :D. Примеры подключения по интерфейсам низкого уровня наработаю - выложу.
А подключение через WEB буду рассчитывать на Ваше содействие, PHP и WEB не мой конёк :oops:

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

Re: Двух канальный ключ

Сообщение Andrey_B » 05 июл 2011, 22:55

maxxir, я был бы не против составить материал по предложенным вами технологиям
- элементная база (компоненты, схема, печатная плата)
- протоколы, фреймворки
- использование технологии в своих решениях

Относительно 10 минут - я готов, но для этого устройства должны быть у меня. Либо придется воспроизвести их, либо приобрести.

Ответить