VK011 Architecture

When Dr. Heet was looking for an inexpensive and simple hardware solution for measuring temperatures, he came across the QKits VK011 interface that can be ordered from the company website for less than $40. It supports up to 4 Dallas DS18S20 sensors on 4 channels, does not need a separate power supply, and has a serial interface which is simple to program.

Finding the right software turned out to be more difficult. QKits links to a free tool on their website that turned out to be of no use. Dr. Heet found Daniel Klein’s TermD very impressive, particularly the charting capabilities, but the application (written in Perl) resisted every attempt to get it running, and so he decided to write an “Enterprise-class” solution from scratch in C#/.Net.

Image

VK011 Architecture

The solution is a framwork of components. Central to this framework is the VK011 device driver assembly – VK011Manager. It encapsulates the handling of the serial port and the communication protocol with the device. It collects data from the device and passes it on to its clients. Once you download the Visual Studio solution, you will find two sample applications that use the driver. One is a Windows Console app, VK011Console, the other one a Windows Forms app, VK011Win. The VK011Manager supports one client (multi-client support could be a future enhancements). Only one application can use the VK011 at a time. The other components are:

 

  • VK011DCS – A Windows service for data collection to a relational database.
  • VK011Alert – A configurable tool that monitors temperatures for set limits and sends alerts via email or custom application
  • DCS – A SQL Server database. The VS solution contains a database project and all DDL scripts to create the database.
  • VK011WebService – A Web Service that publishes temperature data to be consumed via HTTP requests
  • VK011Reports – A set of Reporting Services reports with temperature charts
  • VK011ToGo – A Windows Mobile 6 application for monitoring temperatures remotely
  • VK011Web – A site that combines current temperature data from the Web Serivice and historic data from the reports