Sensor nodes can now report their sketch name and version to the gateway for informational purposes. Added class methods sendSketchName(), sendSketchVersion() and sendSketchInfo() that invokes the aforementioned as a convenience method. Sensor nodes report their sketch information to the gateway by calling sendSketchInfo(const char *name, const char *version) in the Arduino sketch setup() method after initializing the radio by invoking the Sensor::begin() method.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
/*
|
/*
|
||||||
The Sensor Net Arduino library adds a new layer on top of the RF24 library.
|
The Sensor Net Arduino library adds a new layer on top of the RF24 library.
|
||||||
It handles radio network routing, relaying and ids.
|
It handles radio network routing, relaying and ids.
|
||||||
|
|
||||||
@@ -335,6 +335,21 @@ void Sensor::requestStatus(uint8_t nodeId, int8_t childId, uint8_t variableType)
|
|||||||
sendData(radioId, nodeId, childId, M_REQ_VARIABLE, variableType, "", 0, false);
|
sendData(radioId, nodeId, childId, M_REQ_VARIABLE, variableType, "", 0, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Sensor::sendSketchInfo(const char *name, const char *version) {
|
||||||
|
sendSketchName(name);
|
||||||
|
sendSketchVersion(version);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Sensor::sendSketchName(const char *name) {
|
||||||
|
if (name != NULL)
|
||||||
|
sendInternal(I_SKETCH_NAME, name);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Sensor::sendSketchVersion(const char *version) {
|
||||||
|
if (version != NULL)
|
||||||
|
sendInternal(I_SKETCH_VERSION, version);
|
||||||
|
}
|
||||||
|
|
||||||
void Sensor::sendBatteryLevel(int value) {
|
void Sensor::sendBatteryLevel(int value) {
|
||||||
sendInternal(I_BATTERY_LEVEL, ltoa(value, convBuffer, 10));
|
sendInternal(I_BATTERY_LEVEL, ltoa(value, convBuffer, 10));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
#include <avr/pgmspace.h>
|
#include <avr/pgmspace.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
//#define DEBUG
|
#define DEBUG
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
#define debug(x,...) debugPrint(x, ##__VA_ARGS__)
|
#define debug(x,...) debugPrint(x, ##__VA_ARGS__)
|
||||||
@@ -80,7 +80,7 @@ typedef enum {
|
|||||||
typedef enum {
|
typedef enum {
|
||||||
I_BATTERY_LEVEL, I_BATTERY_DATE, I_LAST_TRIP, I_TIME, I_VERSION, I_REQUEST_ID,
|
I_BATTERY_LEVEL, I_BATTERY_DATE, I_LAST_TRIP, I_TIME, I_VERSION, I_REQUEST_ID,
|
||||||
I_INCLUSION_MODE, I_RELAY_NODE, I_LAST_UPDATE, I_PING, I_PING_ACK,
|
I_INCLUSION_MODE, I_RELAY_NODE, I_LAST_UPDATE, I_PING, I_PING_ACK,
|
||||||
I_LOG_MESSAGE, I_CHILDREN, I_UNIT
|
I_LOG_MESSAGE, I_CHILDREN, I_UNIT, I_SKETCH_NAME, I_SKETCH_VERSION
|
||||||
} internalMessageType;
|
} internalMessageType;
|
||||||
|
|
||||||
// Sensor types
|
// Sensor types
|
||||||
@@ -176,6 +176,24 @@ class Sensor : public RF24
|
|||||||
void sendVariable(uint8_t radioId, uint8_t childId, uint8_t variableType, unsigned int value);
|
void sendVariable(uint8_t radioId, uint8_t childId, uint8_t variableType, unsigned int value);
|
||||||
void sendVariable(uint8_t radioId, uint8_t childId, uint8_t variableType, int value);
|
void sendVariable(uint8_t radioId, uint8_t childId, uint8_t variableType, int value);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends sketch info to sensor net gateway for this radio node.
|
||||||
|
* @param name String containing a short Sketch name
|
||||||
|
* @param version String containing a short Sketch version
|
||||||
|
*/
|
||||||
|
void sendSketchInfo(const char *name, const char *version);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends sketch name to sensor net gateway for this radio node.
|
||||||
|
* @param info String containing a short Sketch name and version
|
||||||
|
*/
|
||||||
|
void sendSketchName(const char *name);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends sketch version to sensor net gateway for this radio node.
|
||||||
|
* @param info String containing a short Sketch name and version
|
||||||
|
*/
|
||||||
|
void sendSketchVersion(const char *version);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sends battery status to sensor net gateway for this radio node.
|
* Sends battery status to sensor net gateway for this radio node.
|
||||||
|
|||||||
@@ -22,6 +22,9 @@ void setup()
|
|||||||
gw.begin();
|
gw.begin();
|
||||||
dht.setup(HUMIDITY_SENSOR_DIGITAL_PIN);
|
dht.setup(HUMIDITY_SENSOR_DIGITAL_PIN);
|
||||||
|
|
||||||
|
// Send the Sketch Version Information to the Gateway
|
||||||
|
gw.sendSketchInfo("Humidity", "1.0")
|
||||||
|
|
||||||
// Register all sensors to gw (they will be created as child devices)
|
// Register all sensors to gw (they will be created as child devices)
|
||||||
gw.sendSensorPresentation(CHILD_ID_HUM, S_HUM);
|
gw.sendSensorPresentation(CHILD_ID_HUM, S_HUM);
|
||||||
gw.sendSensorPresentation(CHILD_ID_TEMP, S_TEMP);
|
gw.sendSensorPresentation(CHILD_ID_TEMP, S_TEMP);
|
||||||
|
|||||||
@@ -14,6 +14,9 @@ Relay gw;
|
|||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
gw.begin();
|
gw.begin();
|
||||||
|
|
||||||
|
//Send the sensor node sketch version information to the gateway
|
||||||
|
gw.sendSketchInfo("RelayingNode", "1.2");
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop()
|
void loop()
|
||||||
|
|||||||
Reference in New Issue
Block a user