Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Electric Imp TMP36 Thermometer Thingspeak Logger
local thingspeakUrl = "";
local headers = {"Content-Type": "application/x-www-form-urlencoded",
local field = "field1";
function httpPostToThingspeak (data) {
local request =, headers, data);
local response = request.sendsync();
return response;
device.on("updateTemp", function(temp) {
local response = httpPostToThingspeak(field +"="+temp);
function getTemp() {
local supplyVoltage = hardware.voltage();
local voltage = supplyVoltage * / 65535.0;
local c = (voltage - 0.5) * 100 ;
local c_str = format("%.01f", c);
server.log("Current temp is "+c_str+" °C");
agent.send("updateTemp", c_str);
imp.wakeup(600, getTemp);
imp.configure("TMP36 Thermometer Thingspeak Logger", [], []);

Hello , can you provide more details on how to setup the Agent parameter with the Thingspeak channel...what part of the code gets substituted..

Issue resolved.
for the future..
fill the "KEY" with the API provided by Thingspeak number this should be a 16 digit number.

iobridge commented May 6, 2014

Thanks for creating your Electric Imp + ThingSpeak projects... We were inspired by your projects to create an official GitHub project for connecting the Electric Imp to ThingSpeak:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment