At this year's OSIsoft Users Conference hosted in San Francisco, we set up a PI System to collect data from several different data sources around the Hilton San Francisco Union Square Hotel. These data sources included distributed ad-hoc IoT sensors, the hotel's HVAC system, the hotel's registration data, the attendees' smartbadges, and the hotel's IT assets. Altogether, this gave us a substantial amount of data streams to 'play with' and analyze. We decided to call this project the Internet of Hotel Things (IoHT)!
Ultimately, our IoHT PI System architecture looked like this:
Cloud Virtual Machine Configuration:
- Three Microsoft Azure VMs were spun up for the project: a domain controller, a web server, and a PI Server.
- Active Directory user accounts were created on the domain for every registered UC attendee using a PowerShell script, giving all attendees PI Coresight login access, and PI data read access.
- Web Server
- An OSIsoft subdomain was registered so that public DNS servers could route users to the web server with a simple reusable URL.
- A trusted Certificate Authority public SSL certificate was purchased, and bound to the web server's HTTPS port (443), so that users could securely log into PI Coresight (basic authentication passes credentials as plain text, unless using HTTPS), as well as encrypt all data passed between the server and browsers.
- A custom HTML informational homepage was built, giving users IoHT information and login instructions.
- Google Analytics was used to monitor the usage statistics (OS, browser, location, views, users, duration, resolution, etc.) of the homepage.
- PI Coresight 2016 Beta was installed and configured to allow attendees to be some of the first to explore it on their own devices.
- PI Server
- PI Points were created for all data streams, and AF hierarchies were built so that every PI Point was easily discoverable with metadata.
- By using VMs in the cloud, we were easily able to dynamically add resources (RAM, CPU cores, disk space) to each node as needed, remotely configure the VMs from anywhere with internet access, centrally store PI data in a node accessible to the public internet, as well as publicly publish a website, all with strong built-in security and backup methods.
Data Source Connection Configurations:
- HVAC system
- The hotel exposes HVAC data through a secured web service. We were able to extract the HVAC data from the web service into CSV files with a PowerShell script. CSV files were generated every five minutes, with the current value of each HVAC asset's attributes. The PI Interface for UFL was then able to parse the CSV files, and push the data directly into PI.
- Registration data
- Some registration data (occupancy, etc.) was also exposed through the same web service as the HVAC data. Once again, we were able to generate CSV files and parse the data with UFL at a five minute interval.
- The smartbadges sent data over Bluetooth to nearby distributed gateways (placed by conference room entrances, etc.), and these gateways passed the proximity data to the 3rd party's central server. This proximity data was exposed via a secured web API. A custom C# Windows service was written, using the AFSDK, to pull anonymous proximity data from the 3rd party web API, and push the data directly into PI.
- Eight Virtual Local Area Networks (VLAN) were configured for the SF UC. VLAN data was exposed via SNMP (although it took the hotel's IT team a few days into the UC to expose this data) from the hotel's internal switches that were configured for the event. Since this data was only exposed on the hotel's internal network, an interface node was added to the hotel's internal network, with access to the public network as well. The PI Interface for SNMP was used on this interface node to pull data from the IT assets, and push data directly to the cloud PI System. Since this PI data traversed over the public internet, with no native encryption, IPsec was configured between the interface node and the PI Server to encrypt all network data.
- We wanted to monitor the health, status, and performance of the key IoHT servers, so that we could proactively discover any issues and resolve them as fast as possible. To do this, we implemented the IT Asset Monitor Toolkit using the PI Interface for Ping, TCP Response, and Performance Monitor.
- We set up an AF hierarchy around the servers, and displays to monitor the system:
- For more information, see Implementation of the IT Asset Monitor Toolkit around the Internet of Hotel Things
- Ad-hoc IoT devices
- The hotel's HVAC system had several gaps in environmental data around the hotel, so we decided to fill the data gaps with ad-hoc sensors. We decided to use Ethernet-wired, SNMP-based IoT devices with on-board temperature and humidity/dew point sensors. We distributed these devices around the hotel in specific locations of interest. These devices each required a power socket, an Ethernet port, and an IP address. Since the devices were on the hotel's private network, we used the hotel interface node's PI Interface for SNMP to pull data from the devices and push the data to PI over the IPsec-configured public internet route.
- We conducted a similar project for one of our own buildings, and made some interesting discoveries. Watch the video here!
As part of the IoHT project, we also had a data analysis competition, with prizes, in which attendees were able to analyze the available data looking for interesting stories and present results in PI Coresight displays. We decided on two winners:
- Francis Lauryssens
- Francis made a couple of Coresight displays around the HVAC data available for the hotel. He made use of multi state variables, element relative displays, and a lot of the new features in PI Coresight 2016. He also put together a huge document analyzing every data source and data stream, with many findings in ways the hotel could be more efficient:
- Ricky Rescar
- Ricky was looking at the Grand Continental Ballroom, in which the main keynote session was held, and analyzed the discharged vs. mixed air temperatures for different zones in the room during the session. He was able to discover the zones in which most attendees were sitting by comparing the mixed and discharged air temperatures in the different zones. While the mixed air temperature was relatively the same for all zones, there was a lot more cold air being pumped into certain areas, and this increase in temperature was likely due to large groups of humans (living heat generators) in certain areas:
Congratulations Francis and Ricky!
You can watch the IoHT UC presentation here!
Thanks to everyone who participated in the Internet of Hotel Things project! We plan to continue this project at our other conferences around the world, and at future SF UCs, so this won't be your last opportunity!
Are there any other data sources or data streams that you would like to see at future events? Any ways that you would like us to do this differently, and make it more enjoyable and useful for the conference attendees?