Ahmed Popović Benjamin Ramić Tviter Projekat

Dependencies:   ESP8266 mbed

Fork of TwitterProjekat by Ahmed Popović

Committer:
2016US_BenjaminRamic
Date:
Thu May 26 19:18:22 2016 +0000
Revision:
2:907b2a247aaa
Parent:
1:51391e2303d7
Ahmed Popovi?; Benjamin Rami?; Projekat US

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_BenjaminRamic 2:907b2a247aaa 3 #include <cstdlib>
2016US_AhmedPopovic 0:510ec65bf38b 4
2016US_AhmedPopovic 0:510ec65bf38b 5 using namespace std;
2016US_AhmedPopovic 0:510ec65bf38b 6
2016US_AhmedPopovic 0:510ec65bf38b 7 class WiFi
2016US_AhmedPopovic 0:510ec65bf38b 8 {
2016US_AhmedPopovic 0:510ec65bf38b 9 private:
2016US_AhmedPopovic 0:510ec65bf38b 10 char rcv[2048];
2016US_AhmedPopovic 0:510ec65bf38b 11 char snd[255];
2016US_AhmedPopovic 0:510ec65bf38b 12 ESP8266 * esp;
2016US_AhmedPopovic 0:510ec65bf38b 13 Serial * pc;
2016US_AhmedPopovic 0:510ec65bf38b 14
2016US_AhmedPopovic 0:510ec65bf38b 15 public:
2016US_AhmedPopovic 0:510ec65bf38b 16 WiFi(char * ssid, char * pw, Serial * pc)
2016US_AhmedPopovic 0:510ec65bf38b 17 {
2016US_AhmedPopovic 0:510ec65bf38b 18 this->pc = pc;
2016US_AhmedPopovic 0:510ec65bf38b 19 this->pc->baud(115200);
2016US_AhmedPopovic 0:510ec65bf38b 20 esp = new ESP8266(PTE0, PTE1, 115200);
2016US_AhmedPopovic 0:510ec65bf38b 21
2016US_AhmedPopovic 0:510ec65bf38b 22 SetupModule();
2016US_AhmedPopovic 0:510ec65bf38b 23 ConnectToWifi(ssid, pw);
2016US_AhmedPopovic 0:510ec65bf38b 24 }
2016US_AhmedPopovic 0:510ec65bf38b 25
2016US_BenjaminRamic 1:51391e2303d7 26 string GetPage(string kveri)
2016US_AhmedPopovic 0:510ec65bf38b 27 {
2016US_AhmedPopovic 0:510ec65bf38b 28 strcpy(snd, "AT+CIPSTART=0,\"TCP\",\"173.236.171.131\",80");
2016US_AhmedPopovic 0:510ec65bf38b 29 esp->SendCMD(snd);
2016US_AhmedPopovic 0:510ec65bf38b 30 esp->RcvReply(rcv, 400);
2016US_AhmedPopovic 0:510ec65bf38b 31 pc->printf("%s", rcv);
2016US_AhmedPopovic 0:510ec65bf38b 32
2016US_BenjaminRamic 2:907b2a247aaa 33 char velChar[10];
2016US_BenjaminRamic 2:907b2a247aaa 34 int ukupnaVelicina = 4 + kveri.length() + 35;
2016US_AhmedPopovic 0:510ec65bf38b 35 wait(2);
2016US_BenjaminRamic 2:907b2a247aaa 36 strcpy(snd, "AT+CIPSEND=0,");
2016US_BenjaminRamic 2:907b2a247aaa 37 sprintf(velChar, "%d", ukupnaVelicina);
2016US_BenjaminRamic 2:907b2a247aaa 38 strcpy(snd+13, velChar);
2016US_BenjaminRamic 2:907b2a247aaa 39 //pc->printf("sad saljem: %s\r\n\r\n", snd);
2016US_AhmedPopovic 0:510ec65bf38b 40 esp->SendCMD(snd);
2016US_AhmedPopovic 0:510ec65bf38b 41 esp->RcvReply(rcv, 2048);
2016US_BenjaminRamic 2:907b2a247aaa 42 //pc->printf("%s", rcv);
2016US_AhmedPopovic 0:510ec65bf38b 43 wait(2);
2016US_AhmedPopovic 0:510ec65bf38b 44
2016US_BenjaminRamic 1:51391e2303d7 45
2016US_BenjaminRamic 1:51391e2303d7 46 strcpy(snd, "GET ");
2016US_BenjaminRamic 1:51391e2303d7 47 strcpy(snd + 4, kveri.c_str());
2016US_BenjaminRamic 2:907b2a247aaa 48 strcpy(snd + 4 + kveri.length(), " HTTP/1.1\r\nHost: liliumdev.com\r\n\r\n\0");
2016US_BenjaminRamic 2:907b2a247aaa 49 string stringSndBuffer = snd;
2016US_BenjaminRamic 2:907b2a247aaa 50
2016US_BenjaminRamic 2:907b2a247aaa 51 /* pc->printf("U bufferu je: \"");
2016US_BenjaminRamic 2:907b2a247aaa 52 pc->printf("%s", snd);
2016US_BenjaminRamic 2:907b2a247aaa 53 pc->printf("\", velicina svega je: %d, a nasa je %d\r\n", snd, stringSndBuffer.length(), ukupnaVelicina);*/
2016US_AhmedPopovic 0:510ec65bf38b 54 esp->SendCMD(snd);
2016US_BenjaminRamic 2:907b2a247aaa 55 /* while(true)
2016US_AhmedPopovic 0:510ec65bf38b 56 {
2016US_AhmedPopovic 0:510ec65bf38b 57 esp->RcvReply(rcv, 2048);
2016US_AhmedPopovic 0:510ec65bf38b 58 pc->printf("%s", rcv);
2016US_BenjaminRamic 2:907b2a247aaa 59 }*/
2016US_BenjaminRamic 2:907b2a247aaa 60
2016US_BenjaminRamic 2:907b2a247aaa 61 return "";
2016US_AhmedPopovic 0:510ec65bf38b 62 }
2016US_AhmedPopovic 0:510ec65bf38b 63
2016US_AhmedPopovic 0:510ec65bf38b 64 bool SetupModule()
2016US_AhmedPopovic 0:510ec65bf38b 65 {
2016US_AhmedPopovic 0:510ec65bf38b 66 wait(3);
2016US_AhmedPopovic 0:510ec65bf38b 67 pc->printf("Sending AT\r\n");
2016US_AhmedPopovic 0:510ec65bf38b 68 strcpy(snd, "AT");
2016US_AhmedPopovic 0:510ec65bf38b 69 esp->SendCMD(snd);
2016US_AhmedPopovic 0:510ec65bf38b 70 esp->RcvReply(rcv, 400);
2016US_AhmedPopovic 0:510ec65bf38b 71 pc->printf("%s", rcv);
2016US_AhmedPopovic 0:510ec65bf38b 72 wait(2);
2016US_AhmedPopovic 0:510ec65bf38b 73 pc->printf("Set mode to STA\r\n");
2016US_AhmedPopovic 0:510ec65bf38b 74 esp->SetMode(1);
2016US_AhmedPopovic 0:510ec65bf38b 75 esp->RcvReply(rcv, 1000);
2016US_AhmedPopovic 0:510ec65bf38b 76 pc->printf("%s", rcv);
2016US_AhmedPopovic 0:510ec65bf38b 77
2016US_AhmedPopovic 0:510ec65bf38b 78 strcpy(snd, "AT+CIPMUX=1");
2016US_AhmedPopovic 0:510ec65bf38b 79 esp->SendCMD(snd);
2016US_AhmedPopovic 0:510ec65bf38b 80 esp->RcvReply(rcv, 400);
2016US_AhmedPopovic 0:510ec65bf38b 81
2016US_AhmedPopovic 0:510ec65bf38b 82 return true;
2016US_AhmedPopovic 0:510ec65bf38b 83 }
2016US_AhmedPopovic 0:510ec65bf38b 84
2016US_AhmedPopovic 0:510ec65bf38b 85 bool ConnectToWifi(char * ssid, char * pw)
2016US_AhmedPopovic 0:510ec65bf38b 86 {
2016US_AhmedPopovic 0:510ec65bf38b 87 pc->printf("Receiving Wifi List\r\n");
2016US_AhmedPopovic 0:510ec65bf38b 88 esp->GetList(rcv);
2016US_AhmedPopovic 0:510ec65bf38b 89 pc->printf("%s", rcv);
2016US_AhmedPopovic 0:510ec65bf38b 90
2016US_AhmedPopovic 0:510ec65bf38b 91 pc->printf("Connecting to AP\r\n");
2016US_AhmedPopovic 0:510ec65bf38b 92 esp->Join(ssid, pw);
2016US_AhmedPopovic 0:510ec65bf38b 93 esp->RcvReply(rcv, 1000);
2016US_AhmedPopovic 0:510ec65bf38b 94 pc->printf("%s", rcv);
2016US_AhmedPopovic 0:510ec65bf38b 95 wait(8);
2016US_AhmedPopovic 0:510ec65bf38b 96 pc->printf("Getting IP\r\n");
2016US_AhmedPopovic 0:510ec65bf38b 97 esp->GetIP(rcv);
2016US_AhmedPopovic 0:510ec65bf38b 98
2016US_AhmedPopovic 0:510ec65bf38b 99 pc->printf("%s", rcv);
2016US_AhmedPopovic 0:510ec65bf38b 100
2016US_AhmedPopovic 0:510ec65bf38b 101 return true;
2016US_AhmedPopovic 0:510ec65bf38b 102 }
2016US_BenjaminRamic 1:51391e2303d7 103
2016US_BenjaminRamic 1:51391e2303d7 104 void posaljiPoruku(char *poruka, int duzina, char *linkServera)
2016US_BenjaminRamic 1:51391e2303d7 105 {
2016US_BenjaminRamic 1:51391e2303d7 106 //to implement
2016US_BenjaminRamic 1:51391e2303d7 107 }
2016US_AhmedPopovic 0:510ec65bf38b 108 };