# IoT Open-Source Architecture for the Maintenance of Building Facilities
## 3 Materials and Methods
### Data Transmission and Visualization 3D Model and IoT Data  
The 2D and 3D models of the fan coil unit and the building model used for this research are both built in Autodesk Revit authoring tool. To connect IoT sensor data with BIM, the Autodesk Forge Platform is utilized: it is a cloud-based platform and provides application programming interface (API) services. A free trial of Forge APIs lasts 90 days and gives access to 100 cloud credits, 5 GB storage, and services such as authentication (two-legged authentication), data management, Model Derivative, Model Viewer, all of them necessary and sufficient to create the customized application. By registering on the Forge platform, the end-user receives a client ID, client password, and all the services necessary for application development. BIM-IoT integration and the visualization process \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Sensors** & **Frequency** & **Sensor Allocation** & **Note** \\ \hline T1 & 180\({}^{\prime\prime}\) & delivery pipe & every 1800” send to the server the average detected values in the interval in which one of the values is at least 200 volts \\ \hline T2 & 180\({}^{\prime\prime}\) & return pipe & every 1800” send to the server the average detected values in the interval in which one of the values is at least 200 volts \\ \hline T3 & 180\({}^{\prime\prime}\) & air inlet & every 1800” send to the server the average detected values in the interval in which one of the values is at least 200 volts \\ \hline T4 & 180\({}^{\prime\prime}\) & air outlet & every 1800” send to the server the average detected values in the interval in which one of the values is at least 200 volts \\ \hline T5 & 10\({}^{\prime\prime}\) & motor case & every 1800” send to the server the average detected values in the interval in which one of the values is at least 200 volts \\ \hline v1 & 0.1\({}^{\prime\prime}\) & motor voltage & send voltage value to the server only if for at least 180” v1 is greater than 0 and less than 200 volts \\ \hline v2 & 0.1\({}^{\prime\prime}\) & motor voltage & send voltage value to the server only if for at least 180” v1 is greater than 0 and less than 200 volts \\ \hline v3 & 0.1\({}^{\prime\prime}\) & motor voltage & send voltage value to the server only if for at least 180” v1 is greater than 0 and less than 200 volts \\ \hline \hline \end{tabular}
\begin{tabular}{c c c} i1 & 0.05”/3” & motor current & 0.05” for the first 10\({}^{\prime}\) from v1 equal to at least 200 volts \\  & & (anti-unbalance)/3” in normal operation/no fields-on if v1 \(<\) 200 volts/send to the server the integral of i1 \(\times\)dt on the range where v1 is at least 200 volts (power consumption control)/send to alarm server if i1 \(>\) 1.5 \(\times\) i1 rated for more than 6” \\ \hline i2 & 0.05”/3” & motor current & 0.05” for the first 10\({}^{\prime}\) from v2 equal to at least 200 volts \\  & & (anti-unbalance)/3” in normal operation/no fields-on if v2 \(<\) 200 volts/send to the server the integral of i1 \(\times\) dt on the range where v2 is at least 200 volts (power consumption control)/send to alarm server if i2 \(>\) 1.5 \(\times\) i2 rated for more than 6” \\ \hline i3 & 0.05”/3” & motor current & 0.05” for the first 10\({}^{\prime}\) from v3 equal to at least 200 volts \\  & & (anti-unbalance)/3” in normal operation/no fields-on if v3 \(<\) 200 volts/send to the server the integral of i3 \(\times\) dt on the range where v3 is at least 200 volts (power consumption control)/send to alarm server if i3 \(>\) 1.5 \(\times\) i1 rated for more than 6” \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Sampling frequency and FC sensor allocation. using the Forge platform is described in Figure 6: the right column records the services used for the custom application on the Forge platform, while the left column shows the applications layer. The 3D building model can be uploaded onto the Forge platform by inserting credentials provided by the authentication API and using the upload.html file.