Toby Chui 1ef51d0779 init 5 years ago
..
drivers 1ef51d0779 init 5 years ago
img 1ef51d0779 init 5 years ago
script 1ef51d0779 init 5 years ago
HDS_iptable.php 1ef51d0779 init 5 years ago
README.txt 1ef51d0779 init 5 years ago
description.txt 1ef51d0779 init 5 years ago
hds_scan.php 1ef51d0779 init 5 years ago
index.php 1ef51d0779 init 5 years ago
iptable.txt 1ef51d0779 init 5 years ago
loadDevImage.php 1ef51d0779 init 5 years ago
loadDevList.php 1ef51d0779 init 5 years ago
loadDriverProperties.php 1ef51d0779 init 5 years ago
manualDriverConfig.php 1ef51d0779 init 5 years ago
nicknameman.php 1ef51d0779 init 5 years ago
recordType.php 1ef51d0779 init 5 years ago
request.php 1ef51d0779 init 5 years ago

README.txt


// ) )
// / / __ ___ _ __ ( ) ___
// / // / / // ) ) // ) ) // ) ) ) ) / / // ) )
// / ((___/ / // / / // / / // / / / / / / //
//____/ / / / // / / ((___( ( // / / / / / / ((____

=================================================================
Home Dynamic - Home Automation System

# Introduction
Home Dynamic is a fully automated Open Source Home Automation Control Hub.
Home dynamic provide full scanning of in range IoT devices with custom protocol.

# ESP8266 Protocol
## Basic Requirement
The ESP8266 Wifi IoT Module (ESP) can be used with Home Dynamic Module.
In the code of the ESP, there are custom API that needed to be provided for the
Home Dynamic Module for ESP connection and identification.

The minimal structure is as follow:
1. :/info
2. :/on
3. :/off

The return value of the following command have to be at least with these information:
1. _On:_Off:
2. true
3. true

In the condition that the relative path contain "/" or "\", replace the symbol with "|".

## Advance Communication Protocol
Home Dynamic Module support advanced sensor/ micro-controller control protocol.
Examples:

1. [Get return state of module]
_On:_Off:_State:,;,
Example Code:
printf("

DHT11 Sensor_On:switch|on_Off:switch|off_State:Temperature, %s℃;Humidity,%s%%

",temp_value,humi_value);
Example Output:
DHT11 Sensor_On:switch|on_Off:switch|off_State:Temperature,25℃;Humidity,60%

2. [Update module mode]
_On:_Off:_Mode:_Option:,,
Example Code:
printf("

Desk Lamp_On:switch|on_Off:switch|off_Mode:mode|_Option:Warm,Bright,Night_State:Mode,%s

",current_Mode);
Example Output:
Desk Lamp_On:switch|on_Off:switch|off_Mode:mode|_Option:Warm,Bright,Night_State:Mode,Warm

The current mode of the module is using can be shown using state option.

3. [Passing variables to module]
_On:_Off:_Variables:_Keywords:,
And the returned value will be in the format same as the PHP GET. For example, this URL will be requested from the ESP for a TV Controller.
?keyword1=something&keyword2=something_else

Example Code for Getting Argument from URL Path:

void handleSpecificArg() {
String message = “”;
if (server.arg(“Keyword1”)== “”){ //Parameter not found
message = “Keyword1 Argument not found”;
}else{ //Parameter found
message = “Keyword1 Argument = “;
message += server.arg(“Keyword1”); //Gets the value of the query parameter
}
server.send(200, “text/plain”, message); //Returns the HTTP response
}

Example Output of info page:
IoT Remote_On:switch|on_Off:switch|off_Variables:sendCommand_Keywords:channel,volume

Example URL request:
sendCommand?channel=10&volume=0.8

(C)IMUS Laboratory 2017-2018
Licensed under (C) IMUS Laboratory