Skip to content

Commit

Permalink
Merge pull request #12 from arduino-libraries/release1.2.1
Browse files Browse the repository at this point in the history
release1.2.1
  • Loading branch information
kevinbuck-temboo authored Mar 12, 2017
2 parents c70e446 + 45dd3e3 commit a7bdbaa
Show file tree
Hide file tree
Showing 10 changed files with 163 additions and 18 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2016, Temboo Inc.
// Copyright 2017, Temboo Inc.

#include <Process.h>

Expand Down
99 changes: 99 additions & 0 deletions examples/YunShield/TembooDeviceConfig/TembooDeviceConfig.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
// Copyright 2017, Temboo Inc.

#include <Process.h>

void setup() {
// initialize the Bridge
Bridge.begin();
Serial.begin(9600);
Process p;

//intro message
Serial.println("**** Temboo Cloud Controls ****\n");

// update the package list
Serial.print("Updating package listings...");
p.runShellCommand("opkg update");
int returnCode = p.exitValue();
if (returnCode == 0) {
Serial.println("Success!");
} else {
Serial.println("Failed. Make sure your device is connected to the internet properly.");
while(p.available()) {
char c = p.read();
Serial.print(c);
}
return;
}
Serial.println();
// upgrade the Temboo package
Serial.print("Updating Temboo...");
p.runShellCommand("opkg install http://downloads.arduino.cc/openwrtyun/1/packages/temboo_1.3.1-1_ar71xx.ipk --force-depends");
returnCode = p.exitValue();
if (returnCode == 0) {
Serial.println("Success!");
} else {
Serial.println("Failed.");
Serial.println("Error number: " +String(returnCode));
while(p.available()) {
char c = p.read();
Serial.print(c);
}
return;
}
Serial.println();

// install python openssl to allow for for ssl connections
Serial.print("Installing python-openssl...");
p.runShellCommand("opkg install python-openssl");
returnCode = p.exitValue();
if (returnCode == 0) {
Serial.println("Success!");
} else {
Serial.println("Failed.");
while(p.available()) {
char c = p.read();
Serial.print(c);
}
return;
}
Serial.println();

// Installing twisted web to work with CoAP gateway
Serial.print("Installing twisted-web...");
p.runShellCommand("opkg install http://downloads.arduino.cc/openwrtyun/1/packages/twisted-web_2.5.0-1_ar71xx.ipk --force-depends");
returnCode = p.exitValue();
if (returnCode == 0) {
Serial.println("Success!");
} else {
Serial.println("Failed.");
while(p.available()) {
char c = p.read();
Serial.print(c);
}
return;
}
Serial.println();

// Configuring zope
Serial.print("Configuring zope...");
p.runShellCommand("opkg install http://downloads.arduino.cc/openwrtyun/1/packages/zope-interface_2.5.0-1_ar71xx.ipk --force-depends");
returnCode = p.exitValue();
if (returnCode == 0) {
p.runShellCommand("touch /usr/lib/python2.7/site-packages/zope/__init__.py");
Serial.println("Success!");
} else {
Serial.println("Failed.");
while(p.available()) {
char c = p.read();
Serial.print(c);
}
return;
}

Serial.println("Update Complete - your Yun is ready for Cloud Controls!");
}

void loop() {
// do nothing
}
2 changes: 1 addition & 1 deletion library.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ paragraph=Use this library to connect your Arduino or Genuino board to Temboo, m
category=Communication
url=http://www.temboo.com/arduino
architectures=*
version=1.2.0
version=1.2.1
core-dependencies=arduino (>=1.5.0)
28 changes: 28 additions & 0 deletions src/Temboo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,18 @@ void TembooChoreo::addInput(const String& inputName, const char* inputValue) {
m_inputs.put(inputName.c_str(), inputValue);
}

void TembooChoreo::addInputWithSensor(const String& inputName, const String& inputValue) {
m_expressions.put(inputName.c_str(), inputValue.c_str());
}

void TembooChoreo::addInputWithSensor(const char* inputName, const String& inputValue) {
m_expressions.put(inputName, inputValue.c_str());
}

void TembooChoreo::addInputWithSensor(const char* inputName, const char* inputValue) {
m_expressions.put(inputName, inputValue);
}

void TembooChoreo::addInputExpression(const String& inputName, const String& inputValue) {
m_expressions.put(inputName.c_str(), inputValue.c_str());
}
Expand All @@ -168,6 +180,22 @@ void TembooChoreo::addInputExpression(const char* inputName, const char* inputVa
m_expressions.put(inputName, inputValue);
}

void TembooChoreo::addSensorValue(const char* sensorName, int sensorValue, const char* conversion) {
m_sensors.put(sensorName, sensorValue, conversion, NULL, NULL, NULL, NULL, NULL);
}

void TembooChoreo::addSensorValue(const char* sensorName, int sensorValue) {
m_sensors.put(sensorName, sensorValue, NULL, NULL, NULL, NULL, NULL, NULL);
}

void TembooChoreo::addSensorValue(const char* sensorName, int sensorValue, const char* conversion, const char* calibrationValue) {
m_sensors.put(sensorName, sensorValue, conversion, NULL, NULL, NULL, NULL, calibrationValue);
}

void TembooChoreo::addSensorValue(const char* sensorName, int sensorValue, const char* rawLow, const char* rawHigh, const char* scaleLow, const char* scaleHigh) {
m_sensors.put(sensorName, sensorValue, NULL, rawLow, rawHigh, scaleLow, scaleHigh, NULL);
}

void TembooChoreo::addSensorInput(const char* sensorName, int sensorValue, const char* conversion) {
m_sensors.put(sensorName, sensorValue, conversion, NULL, NULL, NULL, NULL, NULL);
}
Expand Down
33 changes: 24 additions & 9 deletions src/Temboo.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,15 @@ class TembooChoreo : public Process {
void setSettingsFileToRead(const String& filePath) { addParameter("-r" + filePath);}
void setGatewayAddress(const String& addr) { addParameter("-s" + addr);}
void addInputExpression(const String& inputName, const String& inputValue) { addParameter("-f" + inputName + ":" + inputValue);}
void addInputWithSensor(const String& inputName, const String& inputValue) { addParameter("-f" + inputName + ":" + inputValue);}
void addSensorInput(const String& sensorName, long sensorValue, const String& conversion) {addParameter("-n" + sensorName + ":" + String(sensorValue) + ":" + conversion);}
void addSensorInput(const String& sensorName, long sensorValue) {addParameter("-v" + sensorName + ":" + String(sensorValue));}
void addSensorInput(const String& sensorName, long sensorValue, const String& conversion, const String& calibrationValue) {addParameter("-b" + sensorName + ":" + String(sensorValue) + ":" + conversion + ":" + calibrationValue);}
void addSensorInput(const String& sensorName, long sensorValue, const String& rawLow, const String& rawHigh, const String& scaleLow, const String& scaleHigh) {addParameter("-m" + sensorName + ":" + String(sensorValue) + ":" + rawLow+ ":" + rawHigh+ ":" + scaleLow+ ":" + scaleHigh);}
void addSensorValue(const String& sensorName, long sensorValue, const String& conversion) {addParameter("-n" + sensorName + ":" + String(sensorValue) + ":" + conversion);}
void addSensorValue(const String& sensorName, long sensorValue) {addParameter("-v" + sensorName + ":" + String(sensorValue));}
void addSensorValue(const String& sensorName, long sensorValue, const String& conversion, const String& calibrationValue) {addParameter("-b" + sensorName + ":" + String(sensorValue) + ":" + conversion + ":" + calibrationValue);}
void addSensorValue(const String& sensorName, long sensorValue, const String& rawLow, const String& rawHigh, const String& scaleLow, const String& scaleHigh) {addParameter("-m" + sensorName + ":" + String(sensorValue) + ":" + rawLow+ ":" + rawHigh+ ":" + scaleLow+ ":" + scaleHigh);}
void setDeviceName(const String& deviceName) {addParameter("-d" + deviceName);}
void setDeviceType(const String& deviceType) {addParameter("-t" + deviceType);}
};
Expand Down Expand Up @@ -112,12 +117,12 @@ class TembooChoreo : public Stream {
void setAppKey(const String& appKey);
void setAppKey(const char* appKey);

// sets the name of the choreo to be executed.
// Sets the name of the choreo to be executed.
// (required)
void setChoreo(const String& choreoPath);
void setChoreo(const char* choreoPath);

// sets the name of the saved inputs to use when executing the choreo
// Sets the name of the saved inputs to use when executing the choreo
// (optional)
void setSavedInputs(const String& savedInputsName);
void setSavedInputs(const char* savedInputsName);
Expand All @@ -134,25 +139,35 @@ class TembooChoreo : public Stream {
void setDeviceName(const String& deviceName);
void setDeviceName(const char* deviceName);

// sets an input to be used when executing a choreo.
// Sets an input to be used when executing a choreo.
// (optional or required, depending on the choreo being executed.)
void addInput(const String& inputName, const String& inputValue);
void addInput(const char* inputName, const char* inputValue);
void addInput(const char* inputName, const String& inputValue);
void addInput(const String& inputName, const char* inputValue);

// Sets a Choreo input that contains a sensor value to be converted by Temboo
void addInputWithSensor(const String& inputName, const String& inputValue);
void addInputWithSensor(const char* inputName, const String& inputValue);
void addInputWithSensor(const char* inputName, const char* inputValue);
// Keeping legacy methods
void addInputExpression(const String& inputName, const String& inputValue);
void addInputExpression(const char* inputName, const String& inputValue);
void addInputExpression(const char* inputName, const char* inputValue);

// sets in input that is using a sensor value. Different parameters are needed depending
// Sets in input that is using a sensor value. Different parameters are needed depending
// on the type of sensor being used.
void addSensorValue(const char* sensorName, int sensorValue, const char* conversion);
void addSensorValue(const char* sensorName, int sensorValue);
void addSensorValue(const char* sensorName, int sensorValue, const char* conversion, const char* calibrationValue);
void addSensorValue(const char* sensorName, int sensorValue, const char* rawLow, const char* rawHigh, const char* scaleLow, const char* scaleHigh);
// Keeping legacy methods
void addSensorInput(const char* sensorName, int sensorValue, const char* conversion);
void addSensorInput(const char* sensorName, int sensorValue);
void addSensorInput(const char* sensorName, int sensorValue, const char* conversion, const char* calibrationValue);
void addSensorInput(const char* sensorName, int sensorValue, const char* rawLow, const char* rawHigh, const char* scaleLow, const char* scaleHigh);
// sets an output filter to be used to process the choreo output

// Sets an output filter to be used to process the choreo output
// (optional)
void addOutputFilter(const char* filterName, const char* filterPath, const char* variableName);
void addOutputFilter(const String& filterName, const char* filterPath, const char* variableName);
Expand All @@ -163,12 +178,12 @@ class TembooChoreo : public Stream {
void addOutputFilter(const char* filterName, const String& filterPath, const String& variableName);
void addOutputFilter(const String& filterName, const String& filterPath, const String& variableName);

// run the choreo using the current input info
// Run the choreo using the current input info
int run();
// run the choreo with a user specified timeout
// Run the choreo with a user specified timeout
int run(uint16_t timeoutSecs);

// run the choreo on the Temboo server at the given IP address and port
// Run the choreo on the Temboo server at the given IP address and port
int run(IPAddress addr, uint16_t port);
int run(IPAddress addr, uint16_t port, uint16_t timeoutSecs);

Expand Down
2 changes: 1 addition & 1 deletion src/TembooMQTTEdgeDevice.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
###############################################################################
#
# Temboo MQTT edge device library
# Temboo MQTT Edge Device library
#
# Copyright (C) 2017, Temboo Inc.
#
Expand Down
2 changes: 1 addition & 1 deletion src/TembooMonitoring.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

#include <Arduino.h>
#include <Mailbox.h>
#ifdef ARDUINO_ARCH_SAMD
#if defined(ARDUINO_ARCH_SAMD) || defined(ARDUINO_ARCH_SAM)
#include "avr/dtostrf.h"
#endif
#include "utility/TembooGlobal.h"
Expand Down
7 changes: 6 additions & 1 deletion src/TembooYunShield.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,15 @@ class TembooYunShieldChoreo : public Process {
void setSettingsFileToRead(const String& filePath) { addParameter("-r" + filePath);}
void setGatewayAddress(const String& addr) { addParameter("-s" + addr);}
void addInputExpression(const String& inputName, const String& inputValue) { addParameter("-f" + inputName + ":" + inputValue);}
void addInputWithSensor(const String& inputName, const String& inputValue) { addParameter("-f" + inputName + ":" + inputValue);}
void addSensorInput(const String& sensorName, long sensorValue, const String& conversion) {addParameter("-n" + sensorName + ":" + String(sensorValue) + ":" + conversion);}
void addSensorInput(const String& sensorName, long sensorValue) {addParameter("-v" + sensorName + ":" + String(sensorValue));}
void addSensorInput(const String& sensorName, long sensorValue, const String& rawLow, const String& rawHigh, const String& scaleLow, const String& scaleHigh) {addParameter("-m" + sensorName + ":" + String(sensorValue) + ":" + rawLow+ ":" + rawHigh+ ":" + scaleLow+ ":" + scaleHigh);}
void addSensorInput(const String& sensorName, long sensorValue, const String& conversion, const String& calibrationValue) {addParameter("-b" + sensorName + ":" + String(sensorValue) + ":" + conversion + ":" + calibrationValue);}
void addSensorInput(const String& sensorName, long sensorValue, const String& rawLow, const String& rawHigh, const String& scaleLow, const String& scaleHigh) {addParameter("-m" + sensorName + ":" + String(sensorValue) + ":" + rawLow+ ":" + rawHigh+ ":" + scaleLow+ ":" + scaleHigh);}
void addSensorValue(const String& sensorName, long sensorValue, const String& conversion) {addParameter("-n" + sensorName + ":" + String(sensorValue) + ":" + conversion);}
void addSensorValue(const String& sensorName, long sensorValue) {addParameter("-v" + sensorName + ":" + String(sensorValue));}
void addSensorValue(const String& sensorName, long sensorValue, const String& conversion, const String& calibrationValue) {addParameter("-b" + sensorName + ":" + String(sensorValue) + ":" + conversion + ":" + calibrationValue);}
void addSensorValue(const String& sensorName, long sensorValue, const String& rawLow, const String& rawHigh, const String& scaleLow, const String& scaleHigh) {addParameter("-m" + sensorName + ":" + String(sensorValue) + ":" + rawLow+ ":" + rawHigh+ ":" + scaleLow+ ":" + scaleHigh);}
void setDeviceName(const String& deviceName) {addParameter("-d" + deviceName);}
void setDeviceType(const String& deviceType) {addParameter("-t" + deviceType);}
};
Expand Down
4 changes: 0 additions & 4 deletions src/utility/TembooGPIO.c
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,6 @@ void tembooDigitalGPIOInit(TembooGPIOConfig* sensorConfig, TembooSensor* tembooS
tembooDigitalWrite(sensorConfig, defaultValue);
tembooSensor->write = tembooDigitalWrite;
} else {
// probably don't need to do this, but best go on and set it
// TODO: remove /comment after review
sensorConfig->currentValue = tembooDigitalRead(sensorConfig);
tembooSensor->write = NULL;
}
Expand All @@ -99,8 +97,6 @@ void tembooAnalogGPIOInit(TembooGPIOConfig* sensorConfig, TembooSensor* tembooSe
tembooAnalogWrite(sensorConfig, defaultValue);
tembooSensor->write = tembooAnalogWrite;
} else {
// probably don't need to do this, but best go on and set it
// TODO: remove /comment after review
sensorConfig->currentValue = tembooAnalogRead(sensorConfig);
tembooSensor->write = NULL;
}
Expand Down
2 changes: 2 additions & 0 deletions src/utility/TembooWebSocketRequestHandles.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ typedef struct TembooSensor{
int defaultValue;
} TembooSensor;

typedef TembooSensor TembooActuator;

void addWebSocketPinData(int pin, int pinVal, bool requestResponse);
void updateIntervalTime(int intervalTime);

Expand Down

0 comments on commit a7bdbaa

Please sign in to comment.