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

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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.12.2013, 14:42   #11
alexval2007
Member
 
Регистрация: 05.11.2012
Сообщений: 63
Вес репутации: 0
alexval2007 is an unknown quantity at this point
По умолчанию Re: Smart Home modbus web project

Ну мысль у меня такая имеем сеть из arduin slave 1 - slave n. протокол обмена у нас модбас по rs485 роутер у нас мастер сети на котором стоит веб серв. У нас всего 20 регистров этого более чем достаточно для любых задач если использовать биты этих регистров как это и делается в промышленности, 16 битный регистр * 20 регистров = 320 переменных ввода / вывода. В первой ардуине может использоваться всего 10 переменных и они могут быть из разных регистров. Во второй другое количество переменных и все те же 20 регистров. Да биты которые извлекаем из регистров превратим в те же байтовые переменные зато сеть не будет нагружена посылками в 100-300 регистров которые несут в себе всего одну переменную если эта переменная передает значения вкл выкл а не какое то цифровое температуру или еще что. Решил дописать на php чуть и html поправить в ардуине тоже немного поправлю добавлю пару функций. Сам сервер трогать не надо он прекрасно работает и 20 регистров нам хватит если ими правильно воспользоваться. И так что я тут на ваял собственно вот:
PHP код:
<?php
//чтение битов из регистра
$input 15//входная переменная (регистр)
$lamp_array = array();
for (
$i=0;$i<16;$i++){
  
$lamp_array[$i] = ($input >> $i) & 0x01;
}
var_dump($lamp_array);//выводим на экран содержимое массива
?>
Собственно мы прочитали содержимое регистра и теперь можем обращаясь к элементам массива узнать состояние битов с 1 по 16.

Сейчас разбираюсь с записью бит в регистр.
alexval2007 вне форума   Ответить с цитированием
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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


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


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