Code for sensor nodes connected by radio receiver with gateway

Dependencies:   mbed WakeUp coapRadioClient DHT11

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers mainMoisture.cpp Source File

mainMoisture.cpp

00001 //#include "sensor.h"
00002 //#include "humidityMeter.h"
00003 //#include "moistureMeter.h"
00004 //#include "mbed.h"
00005 //#include "msg.h"
00006 //#include "dbg.h"
00007 //#include "coapClient.h"
00008 //#include <string>
00009 //
00010 //// https://os.mbed.com/users/Sissors/code/WakeUp/
00011 //#include "WakeUp.h"
00012 //
00013 //#define BUFFER_LEN 32
00014 //#define CHANNEL 4
00015 //#define RX_ADDRESS 0xABCDEF08
00016 //#define TX_ADDRESS 0xABCDEF12
00017 //#define DATA_RATE 1000
00018 //#define RETRANSMITS 4
00019 //
00020 //char postUri[] = "/moist";
00021 //char getConfUri[] = "/conf/moist";
00022 //
00023 //Serial pc(USBTX, USBRX); // tx, rx
00024 //PinName pinA = PinName(PC_0);
00025 //uint8_t token[] = {3};
00026 //CoapClient coapClient = CoapClient(3,token, RETRANSMITS, DATA_RATE, CHANNEL, RX_ADDRESS, TX_ADDRESS);
00027 //InterruptIn button(USER_BUTTON);
00028 //
00029 //
00030 //// TODO #ifdef
00031 //MoistureMeter sensor = MoistureMeter(pinA);
00032 //
00033 //int config_interval = 30;
00034 //int sense_interval = 10;
00035 //
00036 //int config_time_left = 0;
00037 //int sense_time_left = 0;
00038 //
00039 //void check_for_new_config() {
00040 //    DBG("************ ASKING FOR NEW CONFIG...");
00041 //    uint8_t buffer[BUFFER_LEN];
00042 //    uint8_t sensor_id;
00043 //    int new_interval;
00044 //    int ret = coapClient.get(buffer, BUFFER_LEN, getConfUri);
00045 //    if(ret > 0) {
00046 //        Msg::deconstruct_data_msg(&sensor_id, &new_interval, buffer, BUFFER_LEN);
00047 //        sense_interval = new_interval;
00048 //        DBG("************ NEW INTERVAL IS %d.", sense_interval);
00049 //    }
00050 //    DBG("************ GET RET: %d", ret);
00051 //}
00052 //
00053 //void collect_and_send_data() {
00054 //    uint8_t buffer[10];
00055 //    int data = sensor.read();
00056 //    int sensor_id = sensor.getSensorId();
00057 //    // TODO put sensor_id in URI, not in payload
00058 //    DBG("************ SENDING VALUE %d...", data);
00059 //    Msg::construct_data_msg(sensor_id, data, buffer, 10);
00060 //    int ret = coapClient.post(buffer, 10, postUri);
00061 //    DBG("************ POST RET: %d", ret);
00062 //}
00063 //
00064 //bool start = false;
00065 //void send_packet() {
00066 //    DBG("Start");
00067 //    start = true;
00068 //}
00069 //
00070 //
00071 //int main() {
00072 //    pc.baud(115200);
00073 //    WakeUp::calibrate();
00074 //    sensor.initialize();
00075 //    DBG("RESTART");
00076 //    int czas_na_spanko = 1;
00077 //    Timer t;
00078 //    button.rise(&send_packet);
00079 //    while(true) {
00080 //        while(start) {
00081 //            if (config_time_left <= 0) {
00082 //                check_for_new_config();
00083 //                config_time_left = config_interval;
00084 //            }
00085 //            if (sense_time_left <= 0) {
00086 //                collect_and_send_data();
00087 //                sense_time_left = sense_interval;
00088 //            }
00089 //
00090 //            czas_na_spanko = min(config_time_left, sense_time_left);
00091 //            DBG("*********** Config time left %d.", config_time_left);
00092 //            DBG("*********** Sense time left %d.", sense_time_left);
00093 //            DBG("*********** Interval %d.", sense_interval);
00094 //            DBG("*********** Czas na spanko to %d.", czas_na_spanko);
00095 //            if(czas_na_spanko > 0) {
00096 //                t.stop();
00097 //                wait(czas_na_spanko);
00098 //                t.reset();
00099 //                t.start();
00100 //                config_time_left -= czas_na_spanko;
00101 //                sense_time_left -= czas_na_spanko;
00102 //            } else {
00103 //                config_time_left -= t.read_ms();
00104 //                t.stop();
00105 //                t.reset();
00106 //                t.start();
00107 //            }
00108 //        }
00109 //    }
00110 //}