test
Dependencies: BH1750 DHT DS1820 W5500Interface MQ135 NTPClient SENSOR WebSocketClient mbed
main.cpp
- Committer:
- readysteadygo2006
- Date:
- 2016-09-08
- Revision:
- 0:7b09d7308cf7
- Child:
- 2:31b004b66644
File content as of revision 0:7b09d7308cf7:
#include "mbed.h" #include "SENSOR.h" #include "HTTPClient.h" #include "ESP8266Interface.h" #include "TCPSocketConnection.h" #include "Websocket.h" //#include "NTPClient.h" #define SENSOR_ARRAY_SIZE 6 SENSOR *sensor_array[SENSOR_ARRAY_SIZE]; Serial pc(USBTX, USBRX); // tx, rx ESP8266Interface wifi(PA_11,PA_12,PB_12,"EE-mehrg7","MFPHOME0708",115200); // TX,RX,Reset,SSID,Password,Baud //NTPClient ntp; int main() { pc.baud(921600); //Create sensors // pc.printf("Creating sensor 0\n\r"); sensor_array[0] = new SENSOR( PB_9, PB_8, NC, NC, PA_0, PA_9); //I2C1,A0 // pc.printf("Creating sensor 1\n\r"); sensor_array[1] = new SENSOR( PB_3, PB_10, NC, NC, PA_1, PC_7); //I2C2,A1 // pc.printf("Creating sensor 2\n\r"); sensor_array[2] = new SENSOR( PB_4, PA_8, NC, NC, PA_4, PB_6); //I2C3,A2 // pc.printf("Creating sensor 3\n\r"); sensor_array[3] = new SENSOR( PA_3, NC, NC, NC, PB_0, PA_7); //GPIO,A3 // pc.printf("Creating sensor 4\n\r"); sensor_array[4] = new SENSOR( PA_2, NC, NC, NC, PC_1, PA_6); //GPIO,A4 // pc.printf("Creating sensor 5\n\r"); sensor_array[5] = new SENSOR( PA_10, NC, NC, NC, PC_0, PA_5); //GPIO,A5 //Statically connect sensors // pc.printf("Connecting sensor 0\n\r"); // sensor_array[0]->detectSensor(BH1750_SENSOR); sensor_array[0]->detectSensor(NO_SENSOR); // pc.printf("Connecting sensor 1\n\r"); sensor_array[1]->detectSensor(NO_SENSOR); // sensor_array[1]->detectSensor(NO_SENSOR); // pc.printf("Connecting sensor 2\n\r"); sensor_array[2]->detectSensor(NO_SENSOR); // sensor_array[2]->detectSensor(NO_SENSOR); // pc.printf("Connecting sensor 3\n\r"); // sensor_array[3]->detectSensor(MQ135_SENSOR); sensor_array[3]->detectSensor(NO_SENSOR); // pc.printf("Connecting sensor 4\n\r"); sensor_array[4]->detectSensor(NO_SENSOR); // sensor_array[4]->detectSensor(ML8511_SENSOR); // pc.printf("Connecting sensor 5\n\r"); // sensor_array[5]->detectSensor(DHT11_SENSOR); sensor_array[5]->detectSensor(NO_SENSOR); string sensor_reading; string sensor_logentry; sensorStatus sensor_status; sensorType sensor_type; wifi.init(); //Reset wifi.connect(); //Use DHCP pc.printf("IP Address is %s\n\r", wifi.getIPAddress()); /* if (ntp.setTime("0.uk.pool.ntp.org") == 0) { time_t ctTime; ctTime = time(NULL); printf("Time is set to : %s \r\n", ctime(&ctTime)); } else { printf("Error getting time \r\n"); } wait(2); */ pc.printf("trying to connect to ws://192.168.1.84:8000/\n\r"); Websocket ws("ws://192.168.1.84:8000/"); if(!ws.connect()) { pc.printf("Failed to connect to ws://192.168.1.84:8000/\n\r"); } else { pc.printf("Starting reading sensor array\n\r"); while(1) { for(int sensor_index = 0; sensor_index < SENSOR_ARRAY_SIZE; sensor_index++) { pc.printf("Reading sensor %d\n\r", sensor_index); sensor_type = sensor_array[sensor_index]->getSensorType(); pc.printf("Sensor type: %d\n\r", sensor_type); sensor_status = sensor_array[sensor_index]->readSensor(sensor_reading); pc.printf("Sensor status: %d\n\r", sensor_status); switch (sensor_status) { case SENSOR_SUCCESS: pc.printf("Reading sensor(%d) of type(%d), status(%d): %s\n\r", sensor_index, (int)sensor_type, (int)sensor_status, sensor_reading.c_str()); break; case SENSOR_UNCONNECTED: break; default: pc.printf("Problem reading (%d) of type(%d), status(%d): %s\n\r", sensor_index, (int)sensor_type, (int)sensor_status, sensor_reading.c_str()); break; break; } } pc.printf("send: %s\n\r", sensor_reading.c_str()); char msg[1000]; strcpy(msg, sensor_reading.c_str()); ws.send(msg); pc.printf("\n\r\n\r"); wait(1); } } ws.close(); while(true) {} }