Adatum
Авг
27
2014

Обновление серверной Web части «Умного дома» Adatum+

web интерфейс
Выкладываю новое обновление web приложения.
Скачать Web приложение
Обновления коснулись:

1. Исправлены ошибки.

2. Реализована поддержка датчиков работающих по Локальной(IEEE 802.3) и WiFi (IEEE 802.11) сети.

3. Добавлен файл mod-lan.php отвечающий за прием сигналов от Локальной и WiFi сети.

Файл mod-lan.php

<?php
function get_ip()
{   if (!empty($_SERVER['HTTP_CLIENT_IP']))    {        $ip=$_SERVER['HTTP_CLIENT_IP'];    }
    elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))    {        $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];    }
    else    {        $ip=$_SERVER['REMOTE_ADDR'];    }    return $ip;
}

function resolve_mac_for_ip($ip){
$found_mac = NULL;
$f_in = fopen("/proc/net/arp","r");
if ($f_in != NULL){
fgets($f_in);
while (!feof($f_in)){
$t = fgets($f_in);
if ($t != NULL){
$str_split = preg_split ("/[\s]+/", $t);
if ($str_split[0]==$ip) {
$found_mac = $str_split[3];
break;
};
};
};
fclose($f_in);
};
return $found_mac;
}

//http://192.168.0.65/mod-lan.php?mode=PIR&address=192.168.0.246&vale1=2&vale2=2&vale3=2&vale4=2

include 's-head.php';

$timereal = time()+$timezone;   
$date_today = date("Y.m.d",$timereal); 
$time_today = date("H:i:s",$timereal); 

if(isset($_GET['mode']) && $_GET['address']==get_ip())
{
$ipaddress=get_ip();


$read=$_GET['mode'].",".$ipaddress.",".$_GET['vale1'].",".$_GET['vale2'].",".$_GET['vale3'].",".$_GET['vale4'].",".$_GET['mode'];

echo "MAC:".resolve_mac_for_ip(get_ip())." "; 


$mode=$_GET['mode'];
$modecontrol=$_GET['mode'];
$vale1=$_GET['vale1'];	
$vale2=$_GET['vale2'];	
$vale3=$_GET['vale3'];	
$vale4=$_GET['vale4'];	
$address=	$ipaddress;

list($mode, $address, $vale1, $vale2, $vale3, $vale4, $modecontrol) = sscanf($read, "%[^','],%[^','],%[^','],%[^','],%[^','],%[^','],%s");

	 include 'lib-mod-run.php';	   

}

?>

Прием и передача сигналов от датчиков реализовано GET запросом вида:
http://192.168.0.65/mod-lan.php?mode=PIR&address=192.168.0.246&vale1=2&vale2=2&vale3=2&vale4=2
где:
http://192.168.0.65 — адрес приемника.
mode — тип датчика.
address=192.168.0.246 — адрес передатчика.
vale1-4 — передаваемые параметры.
все отрабатывается так же как и на шине RS-485.

4. Добавлены строки в файл mod-run.php отвечающий прием и передачу по шине rs-485, локальной(IEEE 802.3) и WiFi (IEEE 802.11) сети.

Изменения файла mod-run.php.

if (ip2long($vale_address)){    
 echo "-> ".$date_today." ".$time_today.' Send LAN commands  http://'.$vale_address.'/mod-lan.php?mode='.$vale_mode.'&address='.$nameipservelocal.'&vale1='.$vale_run1.'&vale2='.$vale_run2.'&vale3='.$vale_run3.'&vale4='.$vale_run4."\n";

file_get_contents('http://'.$vale_address.'/mod-lan.php?mode='.$vale_mode.'&address='.$nameipservelocal.'&vale1='.$vale_run1.'&vale2='.$vale_run2.'&vale3='.$vale_run3.'&vale4='.$vale_run4.'');
}
else {
$serial->sendMessage($vale_run);	
}

5. Добавлены изменение в файл настроек setting.php.

Добавлен пункт «Ip адрес сервера» — этот адрес будет отправлен датчикам для идентификации сервера.
Изменения интерфейса

6. Общая схема.

Общая схема

Похожие статьи

Оставить комментарий

  • После обновления, при входе на http://localhost появляется приветствие и сообщение об ошибке.

  • Добрый день , извиняюсь но где сама база mySQL или мануал по установке (

  • Правда, нет авторизации. Можете глянуть willen.ru

  • Эх нету авторизации….
    Не работает

  • В журнале операций нажимаю удалить запись страница обновляется бесконечно.
    Такая же фигня когда жмешь кнопку изменить.

  • Поддерживаю Олега одни ошибки

  • Какие ошибки, можно скриншоты на sergomanov@mail.ru

  • Не получается авторизоваться, при запуске Index.php сразу ошибки идут.