Things used in this project

Hardware components:
Photon new
Particle Photon
Since we had three remote temperature monitoring setups, we have three times as many materials.
10988 01
Temperature Sensor
We used the DS18B20 uncovered and covered temperature sensors to make this project.
Mfr 25frf52 1k sml
Resistor 1k ohm
4.7K ohm resistors are an option as well, we just noticed more issues with receiving proper temperature measurements when using them.
11026 02
Jumper wires (generic)
Software apps and online services:


DS18B20 Temperature Sensor to Ubidots codeC/C++
This is a basic code using the build app. We include the HTTPClient, OneWire and Spark-dallas-temperature libraries to read our DS18B20 temperature sensor. In order to get data to Ubidots, you need to find and include the VARIABLE_ID and TOKEN and insert into the code on lines 19 and 20 respectively. The only problem we ran into was that the spark-dallas-temperature library included in particle build was not updated. Line 27 in the spark-dallas-temperature.h file was changed to #include <OneWire.h> and added next to our original code.
// This #include statement was automatically added by the Particle IDE.
#include "spark-dallas-temperature.h"

// This #include statement was automatically added by the Spark IDE.
#include "HttpClient/HttpClient.h"
// This #include statement was automatically added by the Spark IDE.
#include "OneWire.h"
#define ONE_WIRE_BUS D2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensor(&oneWire);
float temperaturef = 0.0; 
float temperature = 0.0;
char resultstr[64];
HttpClient http;
#define VARIABLE_ID "58ecf2787625422c3a418de6"
#define TOKEN "TASZcmIv4eg1oS180p4kKHs31Zy81q"
http_header_t headers[] = {
      { "Content-Type", "application/json" },
      { "X-Auth-Token" , TOKEN },
    { NULL, NULL } // NOTE: Always terminate headers will NULL
http_request_t request;
http_response_t response;
void setup() {
    request.port = 80;
    request.hostname = "";
    request.path = "/api/v1.6/variables/"VARIABLE_ID"/values";
void loop() {
 temperature=sensor.getTempCByIndex( 0 );
 sprintf(resultstr, "{\"value\":%.4f}",temperaturef); 
 request.body = resultstr;//Sending presence to Ubidots, response, headers);
 Serial.println(response.status); //For debug only



Did you replicate this project? Share it!

I made one

Love this project? Think it could be improved? Tell us what you think!

Give feedback


Similar projects you might like

2-Way Particle Photon Communication
  • 132
  • 4

Make two Particle Photons "talk" via the usage of webhooks!

E-Paper Weather Display with Photon and IFTTT
  • 749
  • 9

Full instructions

Create a beautiful medium for weather information using Particle's cloud services and IFTTT.

IFTTT - Enabled Sensors with Particle Photon
  • 660
  • 11

Full instructions

Connect any sensor to Particle Photon and use it to trigger an IFTTT action with just a few lines of code.

Light Detecting Email Sender
  • 208
  • 4

Full instructions

Receive an email about when the light is too strong on your device; nobody wants a heated device left directly under the sun. Photon + IFTTT

Internet-Connected Popcorn Popper
  • 141
  • 1

Full instructions

A hot air popcorn popper triggered via the Internet! (Built for the Bellingham Codes May event.)

MyReed-Switch controlled by Particle Electron
  • 38
  • 0

Full instructions

Magnetism in a simple door monitoring

Add projectSign up / Login