Monitors temperature using lm75b temperature sensor and it sends the data to thingspeak using esp8266 WIFI module.
Diff: main.cpp
- Revision:
- 2:e259a0cfc9f1
- Parent:
- 1:8ab009672555
--- a/main.cpp Sat Jun 17 09:53:27 2017 +0000 +++ b/main.cpp Mon Apr 15 18:02:44 2019 +0000 @@ -1,117 +1,28 @@ #include "mbed.h" -#include "ESP8266.h" +#include "LM75B.h" + -Serial pc(USBTX,USBRX); - -//POT sensor -AnalogIn pot(PTB0); - -//wifi UART port and baud rate -ESP8266 wifi(PTE0, PTE1, 115200); - -//buffers for wifi library -char resp[1000]; -char http_cmd[300], comm[300]; - -int timeout = 8000; //timeout for wifi commands - -//SSID and password for connection -#define SSID "Eduvance" -#define PASS "eduvance123" - -//Remote IP -#define IP "184.106.153.149" +Serial pc(USBTX, USBRX); +DigitalOut led1(LED1); + +LM75B Temp(PTE25, PTE24); //SDA, SCL, ADDRESS -//global variable -float potvalue = 0; - -//Update key for thingspeak -char* Update_Key = "O1VOWGC3WXI981H6"; + + + -//Wifi init function -void wifi_initialize(void){ - - pc.printf("******** Resetting wifi module ********\r\n"); - wifi.Reset(); - - //wait for 5 seconds for response, else display no response receiveed - if (wifi.RcvReply(resp, 5000)) - pc.printf("%s",resp); - else - pc.printf("No response"); - - pc.printf("******** Setting Station mode of wifi with AP ********\r\n"); - wifi.SetMode(1); // set transparent mode - if (wifi.RcvReply(resp, timeout)) //receive a response from ESP - pc.printf("%s",resp); //Print the response onscreen - else - pc.printf("No response while setting mode. \r\n"); +int main() +{ + pc.baud(115200); + //pc.printf("BOARD %s\r\n", board); - pc.printf("******** Joining network with SSID and PASS ********\r\n"); - wifi.Join(SSID, PASS); - if (wifi.RcvReply(resp, timeout)) - pc.printf("%s",resp); - else - pc.printf("No response while connecting to network \r\n"); - - pc.printf("******** Getting IP and MAC of module ********\r\n"); - wifi.GetIP(resp); - if (wifi.RcvReply(resp, timeout)) - pc.printf("%s",resp); - else - pc.printf("No response while getting IP \r\n"); - - pc.printf("******** Setting WIFI UART passthrough ********\r\n"); - wifi.setTransparent(); - if (wifi.RcvReply(resp, timeout)) - pc.printf("%s",resp); - else - pc.printf("No response while setting wifi passthrough. \r\n"); - wait(1); - - pc.printf("******** Setting single connection mode ********\r\n"); - wifi.SetSingle(); - wifi.RcvReply(resp, timeout); - if (wifi.RcvReply(resp, timeout)) - pc.printf("%s",resp); - else - pc.printf("No response while setting single connection \r\n"); - wait(1); + //Temp.write(0x01, 0x00); + + while(1) + { + pc.printf("The temp is: %4.2f degree Celsius\n\r", Temp.read()); + led1 = !led1; + wait(2); + } } - -void wifi_send(void){ - - pc.printf("******** Starting TCP connection on IP and port ********\r\n"); - wifi.startTCPConn(IP,80); //cipstart - wifi.RcvReply(resp, timeout); - if (wifi.RcvReply(resp, timeout)) - pc.printf("%s",resp); - else - pc.printf("No response while starting TCP connection \r\n"); - wait(1); - - //create link - sprintf(http_cmd,"/update?api_key=%s&field1=%f",Update_Key,potvalue); - pc.printf(http_cmd); - - pc.printf("******** Sending URL to wifi ********\r\n"); - wifi.sendURL(http_cmd, comm); //cipsend and get command - if (wifi.RcvReply(resp, timeout)) - pc.printf("%s",resp); - else - pc.printf("No response while sending URL \r\n"); -} - -int main () { - - - wifi_initialize(); - - while (1) { - potvalue = 255*pot.read(); - pc.printf("Current potvalue is = %.3f \r\n", potvalue); - - wifi_send(); - wait(30); - } -} \ No newline at end of file + \ No newline at end of file