Skip navigation
All Places > Academic Users Group > Blog > 2017 > March

Four OSI Johnson City co-ops competed in the 2017 OSI Users
Conference Visualization Virtual Hackathon and took First Place
in the ‘OSI Internal’ division.


The team submitted “PROJECT-OPERATION-PI-TANGO-DOOM-3D A proof
of concept for determining if Google's new Augmented Reality project, Google
Tango, would be useful and applicable to consumers of PI and its systems.
students are Simon Boka (UT-Knoxville), John Burns (UT-Knoxville), Phillip
Little (Clemson) and Andrew Bathon (ETSU). They are working this semester

on the Interface and AF Development Teams at OSI in Johnson City.


UC2017 Virtual Hackathon OSI Internal winners.jpg

Left to Right: Andrew Bathon, Phillip Little, John Burns, And Simon Boka

Here is a link to the Submission and a link to other Hackathon Category Winners


The Virtual Hackathon was the first of its kind at this s UC and lasted for the

3 weeks leading up to the Conference. Entries were submitted online.

Winners were selected on (1) Creativity and Originality (2) Potential Business Impact

(3) Technical Implementation (4) Data Analysis and Insight and (5) UI/UX.


Way to go students!

Joe Gantz

The talks from the orientation session were:


1. PI System 101 - General Introduction to the PI System for Academic Users

2. OSIsoft Collaborations with Academia - Pathway to Success and Grant Partnering

3. Getting Started with PI at your University - First Semester Tools for Success

4. OSIsoft Learning Resources - Transform Your Classroom

5. A Classroom Example and Hands-on Demo


Video recordings will also be available soon.

We put together YouTube Playlists to supplement the morning orientation session at the 2017 Academic Symposium.


Here they are:


PI System 101 - General introduction to the PI System for Academic Users

Academic Symposium - PI 101 - YouTube

Getting Started with PI at Your University – First Semester Tools for Success

Academic Symposium - Getting Started with PI - YouTube


Remember to check back after the event for slide decks from these and other sessions!

We’re sharing a demo based on an IoT device that we call RoomBot. This is a simple device that we designed for educational demos. It’s easy to assemble and easy to integrate with PI.


We want you to replicate this setup for use in your classroom! We documented the RoomBot setup steps and are sharing it here. We also share the sketch that we used to program the Arduino and the associated Python code that writes the data to PI using PI Web API.


We used this device to collect room data at the Johnson City office. We spotted interesting trends right away!





Getting Started:


This project had a small start-up cost. Arduino devices are cheap and the learning curve is small.


I’ll admit to being a little intimidated at the start of this project. I was not at all familiar with Arduino devices or any kind of microcontroller. I also don’t know Python, although I am competent with scripting in other languages.


I was excited to find that working with Arduino devices is simple! I was writing sensor data to PI within two hours of unpacking the device.


To start, I downloaded the Arduino IDE software, as instructed by the packaging, and loaded an example Sketch called “Accelerometer”. The sketch programs the device to read data from the sensors (accelerometer and gyroscope sensors) that are built into all Arduino 101 devices.


I then found an example Python script that reads data from Arduino devices using a quick Google search. I modified this quickly and added some lines of code to write data to PI using REST calls through PI Web API. And that was it! A quick and dirty prototype, with sensor data writing to PI.


We then passed the project over to a team of two engineers in the OSIsoft Johnson City Office: Steve Edwards and Caleb Steiner. They experimented with different Arduino sensors before coming up with the final RoomBot setup. The RoomBot has temperature and light intensity sensors, as well as a knob that is attached to a potentiometer; adjusting this knob mimics a set point change. They built an Arduino sketch for their setup, perfected and documented the associated Python code, created a schematic of the Arduino wiring, and documented their work. We’re sharing all of their work with you here.


Steve and Caleb also did some setup in PI for the demo and documented their steps. They setup the Arduino device in PI, using a template, and created a web-based visualization. We later brought a second Arduino online. Now we’re able toggle the display to look at data from either device.


Other Projects:


We've had a number of projects collecting data from Arduino devices and sending to PI that were posted to PI Square.  These include the following posts:

  1. Daniel Lopez used Powershell scripts to pull in data from various sensors, including solar cell output, ambient sound levels, equipment vibration, air temperature and humidity,     and motor current and position.
  2. Barry Shang hooked up his Arduino with a simple temperature sensor to monitor in his office, and collected the data with similar Python code, also writing data through the PI Web API.
  3. Butch Payne had a similar setup as Barry to collect temperature data from an Arduino, but instead passed the data through a Microsoft Azure Event Hub, before consuming the data with the PI UFL Connector


We’ve found many ideas for IoT projects with Arduinos or similar devices. Using the above methods, this data could also be collected in PI.


Some links with these project ideas include:


Some interesting ideas included:

  • Collecting additional environmental data (humidity, pressure, soil moisture)
  • Intelligent bug zappers
  • Gas detection (e.g. natural gas leaks, radon)
  • Smart meat smoking