AM 05: Frame Class Utility
This is the basic code to create a frame with every Ambient Control sensor.
Required Materials
1 x Plug & Sense! Ambient Control 1 x Luminosity (Luxes Accuracy) 1 x Digital Humidity & Temperature Probe
Notes
- This example can be executed in Waspmote v15 - If you are using Waspmote v12, you MUST use the proper sensor fields
Code
/*
* ------------ [AM_05] - Frame Class Utility --------------
*
* Explanation: This is the basic code to create a frame with every
* Ambient Control sensor
*
* Copyright (C) 2017 Libelium Comunicaciones Distribuidas S.L.
* http://www.libelium.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
* Version: 3.1
* Design: David Gascón
* Implementation: Luis Miguel Marti
*/
#include
#include
float temperature;
float humidity;
float pressure;
float analogLDRvoltage;
float digitalLuxes;
char node_ID[] = "Node_01";
void setup()
{
USB.ON();
USB.println(F("Frame Utility Example for Ambient Control"));
USB.println(F("******************************************************"));
USB.println(F("WARNING: This example is valid only for Waspmote v15"));
USB.println(F("If you use a Waspmote v12, you MUST use the correct "));
USB.println(F("sensor field definitions"));
USB.println(F("******************************************************"));
// Set the Waspmote ID
frame.setID(node_ID);
}
void loop()
{
///////////////////////////////////////////
// 1. Read sensors
///////////////////////////////////////////
// Read the temperature sensor
temperature = SensorAmbient.getTemperatureBME();
// Read the humidity sensor
humidity = SensorAmbient.getHumidityBME();
// Read the pressure sensor
pressure = SensorAmbient.getPressureBME();
//Sensor LDR reading
analogLDRvoltage = SensorAmbient.getLuminosity();
// Read the Luxes sensor
digitalLuxes = SensorAmbient.getLuxes(OUTDOOR);
///////////////////////////////////////////
// 2. Create ASCII frame
///////////////////////////////////////////
// Create new frame (ASCII)
frame.createFrame(ASCII);
// Add temperature
frame.addSensor(SENSOR_BME_TC, temperature);
// Add humidity
frame.addSensor(SENSOR_BME_HUM, humidity);
// Add pressure
frame.addSensor(SENSOR_BME_PRES, pressure);
// Add LDR value
frame.addSensor(SENSOR_AMBIENT_LUM, analogLDRvoltage);
// Add Luxes
frame.addSensor(SENSOR_AMBIENT_LUXES, digitalLuxes);
// Show the frame
frame.showFrame();
//wait 2 seconds
delay(2000);
}
Output
H#
Frame Utility Example for Ambient Control
===============================
Current ASCII Frame:
Length: 70
Frame Type: 134
frame (HEX): 3C3D3E86042333413836373036334439333734323834234E6F64655F30312330235443423A2D33392E37312348554D423A2D322E31234C554D3A302E313033234C55583A3023
frame (STR): <=>�#3A867063D9374284#Node_01#0#TCB:39.71#HUMB:32.1#LUM:0.103#LUX:0#
===============================
...
Last updated