Lab 6_v2
Dependencies: mbed Thingspeak_template LM75B mbed-rtos EthernetInterface MMA7660
Dependents: Thingspeak_template
Revision 2:f7645c6a85f3, committed 2021-08-16
- Comitter:
- steveshun
- Date:
- Mon Aug 16 16:06:35 2021 +0000
- Parent:
- 1:21d76b260bc6
- Commit message:
- Lab 6
Changed in this revision
diff -r 21d76b260bc6 -r f7645c6a85f3 ESP8266.lib --- a/ESP8266.lib Sun Mar 28 18:20:05 2021 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -https://developer.mbed.org/users/janhavi/code/ESP8266/#4f24e7e803a1
diff -r 21d76b260bc6 -r f7645c6a85f3 EthernetInterface.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/EthernetInterface.lib Mon Aug 16 16:06:35 2021 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/teams/SiSK/code/EthernetInterface/#d7bd7384a37c
diff -r 21d76b260bc6 -r f7645c6a85f3 HTTPClient.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/HTTPClient.lib Mon Aug 16 16:06:35 2021 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/steveshun/code/Thingspeak_template/#7c21420dd39a
diff -r 21d76b260bc6 -r f7645c6a85f3 LM75B.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LM75B.lib Mon Aug 16 16:06:35 2021 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/chris/code/LM75B/#6a70c9303bbe
diff -r 21d76b260bc6 -r f7645c6a85f3 MMA7660.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MMA7660.lib Mon Aug 16 16:06:35 2021 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/Sissors/code/MMA7660/#36a163511e34
diff -r 21d76b260bc6 -r f7645c6a85f3 main.cpp --- a/main.cpp Sun Mar 28 18:20:05 2021 +0000 +++ b/main.cpp Mon Aug 16 16:06:35 2021 +0000 @@ -1,124 +1,54 @@ - -// PIR Motion Sensor Alarm + ESP8622 WiFi Module + FRDM-k64f -//PIR sensor can detect change on its surrounding by measuring the change of infra red -// Then will send high=1 to the FRDM-k64f to flash the LED, Run the Buzzer, -//Send information through UART serial Port to Tera Term and display how many motion been -//detected,also will send information to Thingspeak IoT website using WiFi connection - +#include "mbed.h" +#include "HTTPClient.h" +#include "LM75B.h" +#include "MMA7660.h" +#include "EthernetInterface.h" -#include "mbed.h" -#include "ESP8266.h" - -#define APIKEY YTDILMQL53ASDCJ4 +LM75B sensor(D14,D15); +MMA7660 accel(PTE25 , PTE24); +char buffer[256]; +char resp[1024]; +char val[4][16]; +int ret = 0; Serial pc(USBTX,USBRX); -DigitalOut Buzzer(D3); // output -PwmOut LED(D13); // flashing the led -DigitalIn inputPin(D2); // pir senor input -DigitalOut redled(LED1); -ESP8266 wifi(PTE0, PTE1, 115200); // baud rate for wifi -char snd[255],rcv[1000]; - +//Ethernet Interface +EthernetInterface eth; +//HTTP Client for interfacing to web services +HTTPClient http; #define IP "184.106.153.149" // thingspeak.com IP Address -int val = 0; // value to holed the high/low info from pir from pin D2 -int cnt = 0; // counter for motion +//http client init +HTTPMap map; +HTTPText inText(resp, 1024); //String thingtweetAPIKey = "TTEVLP931ODJ5GMT"; -/************ WiFi INTIALIZATION *********/ -void wifi_initialize(void); -void wifi_send(void); - -int main () { - -pc.baud(9600); -pc.printf("SET mode to AP\r\n"); -wifi.SetMode(1); // set ESP mode to 1 -wifi.RcvReply(rcv, 1000); //receive a response from ESP -pc.printf("%s",rcv); //Print the response onscreen -pc.printf("Conneting to AP\r\n"); -wifi.Join("BHTG1672G3FC2-2G", "5f17baeb"); // Your wifi username & Password -wifi.RcvReply(rcv, 1000); //receive a response from ESP -pc.printf("%s", rcv); //Print the response onscreen -wait(8); //waits for response from ESP -pc.printf("Getting IP\r\n"); //get IP addresss from the connected AP -wifi.GetIP(rcv); //receive an IP address from the AP -pc.printf("%s", rcv); - - - wait(5); // Delay 5 sec to give the pir time to get snapshut of the surrounding +int main () { +//ethernet init + eth.init(); //Use DHCP + ret= eth.connect(); - pc.printf("Initializing WiFi\r\n"); - //wifi_initialize(); - while (1) { - - val = inputPin.read(); - - if (val==0) { - cnt++; - pc.printf(" The Sensor is ON And I Detected = %i Till NOW\r\n",cnt); - Buzzer = 1; - pc.printf("PLEASE STAY AWAY\r\n"); - pc.printf("Sending WiFi information\n\r"); - wifi_send(); - redled=1; // when the motion detected turn of the on board red led - LED.period(2.0f); // 2 seconds period - wait(2.0f); - LED.pulsewidth(.02); // 2 mseconds pulse (on) - redled=1; - // Buzzer = 1; - wait(1.5f); - } - else { - - pc.printf(" The Sensor is OFF \r\n"); - LED = 0; - Buzzer =0; - redled=0; // turn the on board red led on - wait(1.5f); - } + if (!ret){ + pc.printf("\r\nConnected, IP: %s, MASK: %s, GW: %s", + eth.getIPAddress(), eth.getNetworkMask(), eth.getGateway()); + } else { + pc.printf("\r\nError eth.connect() - ret = %d", ret); + } + + while(1){ + pc.printf("\r\nWriting to thingspeak"); + map.put("api_key","xxx"); /* Fill your thingspeak API KEY*/ + sprintf(val[0],"%4.1f",sensor.read()); + map.put("field1", val[0]); + pc.printf("\r\nPosting Data..."); + ret = http.post("https://api.thingspeak.com/update", map, &inText); //writing data to Thingspeak + if (!ret){ + pc.printf("\r\nPOST successfully - read %d characters", strlen(resp)); + pc.printf("\r\nResult: %s\n", resp); + }else{ + pc.printf("\r\nError Connecting to ethernet port - ret = %d - HTTP return code = %d", ret, http.getHTTPResponseCode()); } } - -void wifi_send(void){ - - strcpy(snd,"AT+CIPMODE=0");//Setting WiFi into MultiChannel mode - wifi.SendCMD(snd); - pc.printf(snd); - wifi.RcvReply(rcv, 3000); - pc.printf("%s", rcv); - - //WIFI updates the Status to Thingspeak servers// - strcpy(snd,"AT+CIPMUX=1");//Setting WiFi into MultiChannel mode - wifi.SendCMD(snd); - pc.printf(snd); - wifi.RcvReply(rcv, 3000); - pc.printf("%s", rcv); - - - sprintf(snd,"AT+CIPSTART=4,\"TCP\",\"%s\",80",IP); //Initiate connection with THINGSPEAK server - wifi.SendCMD(snd); - pc.printf(snd); - wifi.RcvReply(rcv, 3000); - pc.printf("%s", rcv); - - strcpy(snd,"AT+CIPSEND=4,47"); //Send Number of open connections,Characters to send - wifi.SendCMD(snd); - pc.printf(snd); - wifi.RcvReply(rcv, 3000); - pc.printf("%s", rcv); - - - sprintf(snd,"GET /update?key=WZXOHNJSLN9G1AGP&field1=%2.2f\r\n",1.0); //Post values to thingspeak - pc.printf("%s",snd); - wifi.SendCMD(snd); - - wifi.RcvReply(rcv, 3000); - pc.printf("%s", rcv); - - wifi.SendCMD("AT+CIPCLOSE"); //Close the connection to server - wifi.RcvReply(rcv, 3000); - pc.printf("%s", rcv); }
diff -r 21d76b260bc6 -r f7645c6a85f3 mbed-rtos.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-rtos.lib Mon Aug 16 16:06:35 2021 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/teams/ST/code/mbed-rtos/#83895f30f8f2