Hi all. My project is based on real time temperature monitoring using Infra Red Temperature sensor and Nodemcu module. I used Adafruit IO for the dash board. This is to be made into a product and sold to industries which has furnaces, heater, or Milk and Dairy industries which include pasteurization. I tested it in a plastic molding industry and got good feedbacks. Now I'm working on to increase the features according to the need of industries. The main use of IR temperature sensor is it is non contact . So there is no need of the sensor to be in contact with the object.

Step 1: Materials Used:

  1. IR temperature sensor. I used MLX90614 sensor module.
  2. Nodemcu version 1.0.
  3. TP4056 charger module.
  4. 3.7v 1200mah lipo battery.
  5. jumper wires.
  6. Enclosure. ( I have attached it as .stl file. You can download it to print.)

Step 2: Connecting the Materials:

The connections are as shown in the image.

Nodemcu MLX90614

3v3 to Vdd

Gnd to Gnd

SCL to D1

SDA to D2

TP4056 Battery

B+ to +ve of battery

B- to -ve of battery

TP4056 Nodemcu

out+ to Vin

out- to Gnd

Step 3: Adafruit IO Account:

To set up a new Adafruit IO account, click here for brief instructions.

Step 4: Coding:

  • I used Arduino IDE to program the Nodemcu. To code the Nodemcu, you need to download ESP8266 board library from the boards manager.I have attached the required libraries at the bottom along with the driver cp2901. Also the code for the project is attached with the libraries.
  • MQTT is the library to access Adafruit IO
  • MLX90614 is library for the IR temperature sensor.
  • In the code, you have to enter you AIO user name and AIO secret key in

#define AIO_USERNAME "your AIO user name"

#define AIO_KEY "your secret AIO key"

  1. To change the unit of temperature to degree Celsius, go to therm.setUnit(TEMP_F), and change TEMP_F to TEMP_C in the coding.
  • If you have any doubts in coding, don't hesitate to leave a comment.

Step 5: Setting Up the Adafruit IO Dashboard:

To access the dash board you need to create a new feed. So Create a new feed named temperature. I created it as temperature because it is used in the code as temperature. So see to it that you create the both with same names. After creating a new feed, create a new dashboard. I have used gauges and a graph to view the temperature feed. You can just check my dashboard by clicking the link https://io.adafruit.com/prasannaakumar/dashboards/temperature . The best part of Adafruit IO is you can download the data from the time you created the feed. You can also link your AIO with IFTTT to alert you with mails and messages. To access ITFTTT click here.

Step 6: The Result:

I have attached some screenshots of the output test we have run in a plastic industry along a video which was recorded. I got better results and good feed backs from the employees who used analog meters earlier and are eager to use this method. So I'm eager to get your feed backs. So please leave a comment if you have any feed back or issues. Thank you.

<p>That's a neat setup, I want to set one up in the greenhouse tied to the fan so it will turn on when it gets too hot. :)</p>
<p>Hi,</p><p>It would be great idea. You can also connect a humidity sensor with it.</p><p>Connect the fan with a relay and access it through AIO. If you have any issues, just comment.</p><p>Thank you.</p>
Of course Swansong. You can just attach a fand along with a relay so that you can control it from the AIO dashboard or automatically trigger it. Also in green house, it is good to use humidity sensor dht22 along with the IR temperature sensor.<br>Thank you.
great project! out of curiosity, what is the range on that sensor?
<p>Hi,</p><p>I have mention the data sheet of mlx90614 sensor. Actually the range of the sensor is FoV i.e; Field of View (as mentioned in the data sheet).</p><p>If you have further clarification just comment again.</p><p>Thank you. </p>

About This Instructable




Bio: A techie training students on Arduino and sensors.
More by PrasannaaKumar:IR Temperature Sensor IoT for Industries. 
Add instructable to: