![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Ahmed Popović Benjamin Ramić Tviter Projekat
Fork of TwitterProjekat by
WiFi.h@2:907b2a247aaa, 2016-05-26 (annotated)
- 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?
User | Revision | Line number | New 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 | }; |