Code for sensor nodes connected by radio receiver with gateway

Dependencies:   mbed WakeUp coapRadioClient DHT11

mainHumidity.cpp

Committer:
Ka_myk
Date:
2019-01-25
Revision:
7:2393eb882f82
Parent:
3:4ffffdb5230f

File content as of revision 7:2393eb882f82:

//#include "sensor.h"
//#include "mbed.h"
//#include "msg.h"
//#include "dbg.h"
//#include "coapClient.h"
//#include <string>
//
//// https://os.mbed.com/users/Sissors/code/WakeUp/
//#include "WakeUp.h"
//
//#include "DHT11.h"
//#include "humidityMeter.h"
//#include "tempMeter.h"
//
//#define DATA_BUFFER_LEN 10
//#define BUFFER_LEN 32
//#define CHANNEL 4
//#define RX_ADDRESS 0xABCDEF08
//#define TX_ADDRESS 0xABCDEF11
//#define DATA_RATE 1000
//#define RETRANSMITS 4
//
//char postUri[] = "/hum";
//char getConfUri[] = "/conf/hum";
//char postUri2[] = "/temp";
//
//Serial pc(USBTX, USBRX); // tx, rx
//PinName pinA = PinName(A5);
//uint8_t token[] = {1};
//CoapClient coapClient = CoapClient(2, token, RETRANSMITS, DATA_RATE, CHANNEL, RX_ADDRESS, TX_ADDRESS);
//InterruptIn button(USER_BUTTON);
//
//
//// change this
//DHT11 dht(pinA);
//HumidityMeter sensor = HumidityMeter(&dht);
//TempMeter sensor2 = TempMeter(&dht);
//
//int config_interval = 30;
//int sense_interval = 10;
//
//int config_time_left = 0;
//int sense_time_left = 0;
//
//void check_for_new_config() {
//    uint8_t buffer[BUFFER_LEN];
//    int ret = coapClient.get(buffer, BUFFER_LEN, getConfUri);
//    if(ret > 0) {
//        uint8_t sensor_id = 0;
//        int data = -1;
//        Msg::deconstruct_data_msg(&sensor_id, &data, buffer, ret);
//        DBG("INTERVAL: %d", data);
//        sense_interval = data;
//    }
//    DBG("GET: %d", ret);
//}
//
//void collect_and_send_data() {
//    uint8_t buffer[DATA_BUFFER_LEN];
//    int data = sensor.read();
//    DBG("DATA: %d", data);
//    int sensor_id = sensor.getSensorId();
//    // TODO put sensor_id in URI, not in payload
//    Msg::construct_data_msg(sensor_id, data, buffer, DATA_BUFFER_LEN);
//    int ret = coapClient.post(buffer, DATA_BUFFER_LEN, postUri);
//    DBG("POST: %d", ret);
//    
//    data = sensor2.read();
//    DBG("TEMP: %d", data);
//    sensor_id = sensor2.getSensorId();
//    // TODO put sensor_id in URI, not in payload
//    Msg::construct_data_msg(sensor_id, data, buffer, DATA_BUFFER_LEN);
//    ret = coapClient.post(buffer, DATA_BUFFER_LEN, postUri2);
//    DBG("POST: %d", ret);
//}
//
//bool start = false;
//void send_packet() {
//    DBG("Start");
//    start = true;
//}
//
//
//int main() {
//    pc.baud(115200);
//    WakeUp::calibrate();
//    sensor.initialize();
//    sensor2.initialize();
//    DBG("RESTART");
//    int czas_na_spanko = 1;
//    Timer t;
//    button.rise(&send_packet);
//    while(true) {
//        while(start) {
//            if (config_time_left <= 0) {
//                check_for_new_config();
//                config_time_left = config_interval;
//            }
//            if (sense_time_left <= 0) {
//                collect_and_send_data();
//                sense_time_left = sense_interval;
//            }
//
//            czas_na_spanko = min(config_time_left, sense_time_left);
//            DBG("SPANKO: %d", czas_na_spanko);
//            if(czas_na_spanko > 0) {
//                t.stop();
//                //WakeUp::set(czas_na_spanko);
//                wait(czas_na_spanko);
//                t.reset();
//                t.start();
//                config_time_left -= czas_na_spanko;
//                sense_time_left -= czas_na_spanko;
//            } else {
//                config_time_left -= t.read_ms();
//                t.stop();
//                t.reset();
//                t.start();
//            }
//        }
//    }
//}