## 5 Implementation Details  
A Wireless Sensor Network (WSN) based experimental prototype of the control system is designed in order for verifying the feasibility of the designed procedure. The conceptual architecture of the proposed prototype consists of three types of IoT nodes as illustrated in Figure 8: sensor node, proxy node and actuator node. The sensor node is responsible for collecting and delivering environment data using various physical sensors like air temperature, relative humidity and air velocity sensor. The proxy node that contains the data collection, PMV regression model, and the fuzzy controller module processes the environment data and generates control signals accordingly. The actuator node takes charge of adjusting the surroundings indoors such as speeding up the fan for air cooling. Lastly, the communication channel between nodes specifies the communication protocol--for example, Constrained Application Protocol (CoAP) [47] released by Internet Engineering Task Force (IETF), for data exchange and command transmission in WSN. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**PMV Variation** & **PMV** & **OT** & **V** \\ \hline NM & SC & VH & Z \\ PS & SC & VH & M \\ NS & N & H & Z \\ Z & N & H & Z \\ \hline \hline \end{tabular}
\end{table} 
Table 4: A sample of the used fuzzy rules. Figure 8: IoT smart space prototype conceptual. Figure 7: Block diagram of the fuzzy controller based on PMV optimization. The following contents give an overview of the implementation tools, hardware, and technologies used to develop the smart space use case. The prototype consists of three kinds of computing nodes as shown in Figure 8 so that the development environments have been concluded into three tables to describe the development environment for each node separately. Table 5 depicts the development tools and technologies used for implementing the IoT sensor nodes hosted on the Intel Edison (City, US State abbrev. if applicable, Country). The operating system on Intel Edison [48] is flashed into Android Things so that the applications can be developed using Java programming language. Physical sensors including air temperature, relative humidity, etc. have been implemented into CoAP resources as part of the sensor node server. Each resource is assigned with a unique Uniform Resource Identifier (URI) so that it can be identified by the server. Table 6 presents the developer kits and technologies used for the IoT proxy node. The CoAP server is also deployed on the proxy node and is developed in Java programming language. The proxy node sends a request to each sensor node on the appointed port and performs the operation on the corresponding sensor to obtain environment data for computing the PMV index. SQLite database is used as the repository to hold sensing information from the IoT sensor nodes. The Weka and jFuzzyLogic are two open source machine learning libraries used to implement the MLR predictive model and the fuzzy controller. Table 7 presents the technology stack for developing the IoT actuator node. In this case, only one control unit has been used to regulate the indoor environment conditions. Similar to those sensor devices on the sensor nodes, the fan actuator is implemented as the CoAP resource of the actuator node server. The actuator node listens for the request from the proxy node and performs the fan unit accordingly. \begin{table}
\begin{tabular}{c c} \hline \hline
**Component** & **Characterization** \\ \hline Hardware & Intel Edison with Arduino Expansion Board \\ Operating System & Android \\ Memory & 1 GB \\ Server & CoAP Server \\ IDE & Eclipse Luna SR2(4.4.2) \\ Data Base Management System (DBMS) & SQlite3 \\ Library and Framework & Weka, jFuzzyLogic, Californium CoAP \\ Programming Language & Java \\ \hline \hline \end{tabular}
\end{table} 
Table 6: Development environment of IoT proxy node.