Ahmed Popović Benjamin Ramić Tviter Projekat
Fork of TwitterProjekat by
WiFi.h@0:510ec65bf38b, 2016-05-16 (annotated)
- 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?
User | Revision | Line number | New 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 | }; |