Temperature monitoring system – Case study

This article is about some one who wants to implement a temperature monitoring system. The engineer has an idea but does not know how to go about, where to start etc., The engineers goals are the following:

  1. The temperature sensors will be installed more than one location.
  2. All the temperature data will be sent to a remote server.
  3. The remote server can be configured to analyse data and send an email to subscribed users.

The goals sound simple?? So where does one start? Clearly it has two ends – the sensor end and the server end.

The sensor end needs knowledge of electronics, may be C programming to program the firmware, understanding of communication etc.,

The server end needs knowledge of software development – to develop code talking to db, emailing, UI, etc.,

So the project may sound simple but the two ends are extremes in terms of the skill one needs to have. Unless one has a lot of dedication or mocking one side or buying off the shelf solution, making a working product should be a team work with clearly defined goals. When someone brings a project such as this do not under estimate, it poses equal number of challenges if you really want it to work end to end.

A team can be formed and split into two halves, one group working on the sensor side of things and the other working on the server side. Suppose there are 4 people in a team, 2 can work on sensor and communication and the other two on server side. It does not matter if they belong to CS or EC or EE background.

On the sensor side, the following are the list of investigations one needs to make:

  1. What is the sensor operating temperature and what is available in the market?
  2. How to get the data out of the sensor?
  3. How far will be the sensor and the data transmitter to the server?
  4. How will the sensor and transmitter communicate between each other? wifi, RFID, etc., What kind of transmitter you need to buy?
  5. What is the communication mechanism between transmitter and the remote server? wifi, LAN, GPRS, etc.,
  6. How to configure the transmitter to talk to the remote server?C program, UI, etc.,
  7. The frequency of polling temperature data and transmitting to server.
  8. Power backup options in-order to continue transmission of temperature data even in case of power failures.

On the server side, the following are the list of investigations one needs to make:

  1. What kind of server software you need? Linux, windows, Apache, IIS, cloud(Amazon Web Services, Azure, Google App Engine)
  2. What database to use to store data? text file, SQL server, etc.,
  3. What high level language should I use to develop a tool for temperature configurations? C++, C#, Java, etc.,
  4. How to log issues?
  5. Database design for storing users, sensor groups, locations, limits, etc.,

One has to table all these items, break them into even smaller tasks and work step by step answering and solving the problems and in the end integrating the two ends.