Ahmed Popović Benjamin Ramić Tviter Projekat

Dependencies:   ESP8266 mbed

Fork of TwitterProjekat by Ahmed Popović

Committer:
2016US_AhmedPopovic
Date:
Mon May 16 20:44:32 2016 +0000
Revision:
0:510ec65bf38b
Child:
1:51391e2303d7
jah

Who changed what in which revision?

UserRevisionLine numberNew contents of line
2016US_AhmedPopovic 0:510ec65bf38b 1 #include "ESP8266.h"
2016US_AhmedPopovic 0:510ec65bf38b 2 #include <string>
2016US_AhmedPopovic 0:510ec65bf38b 3
2016US_AhmedPopovic 0:510ec65bf38b 4 using namespace std;
2016US_AhmedPopovic 0:510ec65bf38b 5
2016US_AhmedPopovic 0:510ec65bf38b 6 class WiFi
2016US_AhmedPopovic 0:510ec65bf38b 7 {
2016US_AhmedPopovic 0:510ec65bf38b 8 private:
2016US_AhmedPopovic 0:510ec65bf38b 9 char rcv[2048];
2016US_AhmedPopovic 0:510ec65bf38b 10 char snd[255];
2016US_AhmedPopovic 0:510ec65bf38b 11 ESP8266 * esp;
2016US_AhmedPopovic 0:510ec65bf38b 12 Serial * pc;
2016US_AhmedPopovic 0:510ec65bf38b 13
2016US_AhmedPopovic 0:510ec65bf38b 14 public:
2016US_AhmedPopovic 0:510ec65bf38b 15 WiFi(char * ssid, char * pw, Serial * pc)
2016US_AhmedPopovic 0:510ec65bf38b 16 {
2016US_AhmedPopovic 0:510ec65bf38b 17 this->pc = pc;
2016US_AhmedPopovic 0:510ec65bf38b 18 this->pc->baud(115200);
2016US_AhmedPopovic 0:510ec65bf38b 19 esp = new ESP8266(PTE0, PTE1, 115200);
2016US_AhmedPopovic 0:510ec65bf38b 20
2016US_AhmedPopovic 0:510ec65bf38b 21 SetupModule();
2016US_AhmedPopovic 0:510ec65bf38b 22 ConnectToWifi(ssid, pw);
2016US_AhmedPopovic 0:510ec65bf38b 23 }
2016US_AhmedPopovic 0:510ec65bf38b 24
2016US_AhmedPopovic 0:510ec65bf38b 25 string GetPage(string ip, string page)
2016US_AhmedPopovic 0:510ec65bf38b 26 {
2016US_AhmedPopovic 0:510ec65bf38b 27 strcpy(snd, "AT+CIPSTART=0,\"TCP\",\"173.236.171.131\",80");
2016US_AhmedPopovic 0:510ec65bf38b 28 esp->SendCMD(snd);
2016US_AhmedPopovic 0:510ec65bf38b 29 esp->RcvReply(rcv, 400);
2016US_AhmedPopovic 0:510ec65bf38b 30 pc->printf("%s", rcv);
2016US_AhmedPopovic 0:510ec65bf38b 31
2016US_AhmedPopovic 0:510ec65bf38b 32 wait(2);
2016US_AhmedPopovic 0:510ec65bf38b 33 strcpy(snd, "AT+CIPSEND=0,39");
2016US_AhmedPopovic 0:510ec65bf38b 34 esp->SendCMD(snd);
2016US_AhmedPopovic 0:510ec65bf38b 35 esp->RcvReply(rcv, 2048);
2016US_AhmedPopovic 0:510ec65bf38b 36 pc->printf("%s", rcv);
2016US_AhmedPopovic 0:510ec65bf38b 37 wait(2);
2016US_AhmedPopovic 0:510ec65bf38b 38
2016US_AhmedPopovic 0:510ec65bf38b 39 strcpy(snd, "GET / HTTP/1.1\r\nHost: liliumdev.com\r\n\r\n");
2016US_AhmedPopovic 0:510ec65bf38b 40 esp->SendCMD(snd);
2016US_AhmedPopovic 0:510ec65bf38b 41 while(true)
2016US_AhmedPopovic 0:510ec65bf38b 42 {
2016US_AhmedPopovic 0:510ec65bf38b 43 esp->RcvReply(rcv, 2048);
2016US_AhmedPopovic 0:510ec65bf38b 44 pc->printf("%s", rcv);
2016US_AhmedPopovic 0:510ec65bf38b 45 }
2016US_AhmedPopovic 0:510ec65bf38b 46 }
2016US_AhmedPopovic 0:510ec65bf38b 47
2016US_AhmedPopovic 0:510ec65bf38b 48 bool SetupModule()
2016US_AhmedPopovic 0:510ec65bf38b 49 {
2016US_AhmedPopovic 0:510ec65bf38b 50 wait(3);
2016US_AhmedPopovic 0:510ec65bf38b 51 pc->printf("Sending AT\r\n");
2016US_AhmedPopovic 0:510ec65bf38b 52 strcpy(snd, "AT");
2016US_AhmedPopovic 0:510ec65bf38b 53 esp->SendCMD(snd);
2016US_AhmedPopovic 0:510ec65bf38b 54 esp->RcvReply(rcv, 400);
2016US_AhmedPopovic 0:510ec65bf38b 55 pc->printf("%s", rcv);
2016US_AhmedPopovic 0:510ec65bf38b 56 wait(2);
2016US_AhmedPopovic 0:510ec65bf38b 57 pc->printf("Set mode to STA\r\n");
2016US_AhmedPopovic 0:510ec65bf38b 58 esp->SetMode(1);
2016US_AhmedPopovic 0:510ec65bf38b 59 esp->RcvReply(rcv, 1000);
2016US_AhmedPopovic 0:510ec65bf38b 60 pc->printf("%s", rcv);
2016US_AhmedPopovic 0:510ec65bf38b 61
2016US_AhmedPopovic 0:510ec65bf38b 62 strcpy(snd, "AT+CIPMUX=1");
2016US_AhmedPopovic 0:510ec65bf38b 63 esp->SendCMD(snd);
2016US_AhmedPopovic 0:510ec65bf38b 64 esp->RcvReply(rcv, 400);
2016US_AhmedPopovic 0:510ec65bf38b 65
2016US_AhmedPopovic 0:510ec65bf38b 66 return true;
2016US_AhmedPopovic 0:510ec65bf38b 67 }
2016US_AhmedPopovic 0:510ec65bf38b 68
2016US_AhmedPopovic 0:510ec65bf38b 69 bool ConnectToWifi(char * ssid, char * pw)
2016US_AhmedPopovic 0:510ec65bf38b 70 {
2016US_AhmedPopovic 0:510ec65bf38b 71 pc->printf("Receiving Wifi List\r\n");
2016US_AhmedPopovic 0:510ec65bf38b 72 esp->GetList(rcv);
2016US_AhmedPopovic 0:510ec65bf38b 73 pc->printf("%s", rcv);
2016US_AhmedPopovic 0:510ec65bf38b 74
2016US_AhmedPopovic 0:510ec65bf38b 75 pc->printf("Connecting to AP\r\n");
2016US_AhmedPopovic 0:510ec65bf38b 76 esp->Join(ssid, pw);
2016US_AhmedPopovic 0:510ec65bf38b 77 esp->RcvReply(rcv, 1000);
2016US_AhmedPopovic 0:510ec65bf38b 78 pc->printf("%s", rcv);
2016US_AhmedPopovic 0:510ec65bf38b 79 wait(8);
2016US_AhmedPopovic 0:510ec65bf38b 80 pc->printf("Getting IP\r\n");
2016US_AhmedPopovic 0:510ec65bf38b 81 esp->GetIP(rcv);
2016US_AhmedPopovic 0:510ec65bf38b 82
2016US_AhmedPopovic 0:510ec65bf38b 83 pc->printf("%s", rcv);
2016US_AhmedPopovic 0:510ec65bf38b 84
2016US_AhmedPopovic 0:510ec65bf38b 85 return true;
2016US_AhmedPopovic 0:510ec65bf38b 86 }
2016US_AhmedPopovic 0:510ec65bf38b 87 };