Arrow Intern IoT / Mbed 2 deprecated ENV_NODE_REQUEST_POC

Dependencies:   mbed BME280 SI1145

main.cpp

Committer:
jonathanyost
Date:
2017-06-27
Revision:
2:2bdf15b94f18
Parent:
1:423c669d0306
Child:
3:51b128605eaa

File content as of revision 2:2bdf15b94f18:

#include "mbed.h"
#include <string>

#define node_id (0x01)
#define tx (PA_9)
#define rx (PA_10)

const char nodeID = '1';

Serial xb(tx, rx);
Serial pc(D1, D0);

//send_sensor_data(temp, pressure, humidity, motion, uv, ir, vis, noise);
//"id:2,te:2,pr:3,mo:4,uv:5,ir:6,vi:7,no:8"
void send_sensor_data(int t, int p, int h, int m, int u, int ir, int v, int n){
    //"        id:2, te:%2,pr:%3,mo:%4,uv:%5,ir:%6,vi:%7,no:%8"
    xb.printf("id:%c,te:%d,pr:%d,hu:%d,mo:%d,uv:%d,ir:%d,vi:%d,no:%d",nodeID,t,p,h,m,u,ir,v,n);
}

void send_pir_data(int pir){
    xb.printf("PIR:%d",pir);
}

int main() {
    pc.printf("echo!!\n\r");
    // initialize read data chars
    char pc_data = 'e';
    char buffer[128];
    
    /* Sensor Data
    format:  "ID:2,te:2,pr:3,mo:4,uv:5,ir:6,vi:7,no:8"
    
    
    */
    
    int temp = 1;
    int pressure = 2;
    int humidity = 3;
    int motion = 4;
    int uv = 5;
    int ir = 6;
    int vis = 7;
    int noise = 8;
    
    bool send_enable = false;
        
    while(true){
        if(pc.readable()){
            pc_data = pc.getc();
            pc.printf("%c", pc_data);
            xb.printf("%c", pc_data);
        }
        
        if(xb.readable()){
            xb.gets(buffer, 5);
            pc.printf("%s", buffer);
            
            /*for(int i = 0; i < 5; i++){
                pc.printf("%c",buffer[i]);
                wait(0.1);   
            }*/
            
            if(buffer[3] == nodeID){
                send_enable = true;
            }
        }
        
        if(xb.writeable() && send_enable){
            send_sensor_data(temp, pressure, humidity, motion, uv, ir, vis, noise);
            send_enable = false;
        }
    }
}