![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
LoRa Access Point 1.5.2018
Dependencies: mbed ds3231 SX1276Lib_LoRa_Access_Point
Diff: ESP8266.cpp
- Revision:
- 5:19b34c4d27a1
- Parent:
- 4:e20eb5efd859
- Child:
- 8:5d99fbf255d6
--- a/ESP8266.cpp Mon Apr 30 17:09:34 2018 +0000 +++ b/ESP8266.cpp Mon Apr 30 22:41:48 2018 +0000 @@ -11,9 +11,9 @@ const char* DELIMITER=":"; -ESP8266 wifi(WIFI_TX, WIFI_RX, WIFI_RST); // Globalna instancia +ESP8266 wifi(WIFI_TX, WIFI_RX, WIFI_RST); -ESP8266::ESP8266(PinName tx, PinName rx, PinName reset) +ESP8266::ESP8266(PinName tx, PinName rx, PinName reset) : wifiUart(tx,rx,BAUDRATE), wifiReset(reset) { @@ -49,59 +49,51 @@ void ESP8266::RxWifiInterrupt() { - while (wifiUart.readable()) - { + while (wifiUart.readable()) { char c = wifiUart.getc(); // bt.putc(c); buffer[pt++] = c; if(pt >= BUFFER_SIZE - 1) ClearBuffer(); - if(c =='\n') - { + if(c =='\n') { if( strncmp( ( const char* )buffer, response, strlen(response) ) == 0 ) receiveResponse = true; - + if( strncmp( ( const char* )buffer, "~~~", 3 ) == 0 ) wifiUart.printf("%s", WIFI_ALIVE_RESPONSE); - - - if (strstr(buffer, "0|") != NULL) { - rfm.SendMessage(buffer); - pc.printf("%s", buffer); - } - - - - /* - if( strncmp( ( const char* )_responseBuf, "+IPD,", 5 ) == 0 ) - { - char * pch; - pch = strtok (_responseBuf,DELIMITER); - uint8_t i = 0 ; - while (pch != NULL) { - if(i == 1) - bt.printf("%s",pch); - pch = strtok (NULL, DELIMITER); - i++; - } - } -*/ -/* - if( strncmp( ( const char* )_responseBuf, response, 4 ) == 0 ) - { - OkResponse = true; -// bt.printf("OK received !\r\n"); - } -*/ -/* - if( strncmp( ( const char* )_responseBuf, ERROR_MESSAGE, 7 ) == 0 ) - { -// bt.printf("ERROR received !\r\n"); - } -*/ + if (strstr(buffer, "0|") != NULL) + rfm.SendMessage(buffer); + + /* + if( strncmp( ( const char* )_responseBuf, "+IPD,", 5 ) == 0 ) + { + char * pch; + pch = strtok (_responseBuf,DELIMITER); + uint8_t i = 0 ; + while (pch != NULL) { + if(i == 1) + bt.printf("%s",pch); + pch = strtok (NULL, DELIMITER); + i++; + } + } + */ + /* + if( strncmp( ( const char* )_responseBuf, response, 4 ) == 0 ) + { + OkResponse = true; + // bt.printf("OK received !\r\n"); + } + */ + /* + if( strncmp( ( const char* )_responseBuf, ERROR_MESSAGE, 7 ) == 0 ) + { + // bt.printf("ERROR received !\r\n"); + } + */ ClearBuffer(); } } @@ -115,25 +107,20 @@ responseTimer.reset(); wifiUart.printf("%s",command); responseTimer.start(); - while(responseTimer.read_ms() < timeoutMs) - { - if(receiveResponse) - { -// bt.GetSerial().printf("Receive : %s \r\n", answer); //// ?????????????????????????????????????????????????????? -// bt.printf("Receive : %s \r\n", answer); + while(responseTimer.read_ms() < timeoutMs) { + if(receiveResponse) { bt.Send(response); responseTimer.stop(); return; } } responseTimer.stop(); -// bt.printf("TIMEOUT !\r\n"); } void ESP8266::SetIpOfServer(char* command) { memcpy(serverIpAddress, command, sizeof(serverIpAddress)); - setServerIp = true; + setServerIp = true; }; void ESP8266::SetWiFiConnection(char* command) @@ -146,14 +133,11 @@ { pc.printf("%s",message); wifiUart.printf("%s",message); -// wifiUart.printf("-68|25|140|23.81\r\n"); -// wifiUart.printf("fdsfsd\r\n"); -} +}; void ESP8266::CheckSettings() { - if(setServerIp && setWifiSettings) - { + if(setServerIp && setWifiSettings) { SendCommand("+++",(char*)OK_MESSAGE,700); SendCommand("AT\r\n",(char*)OK_MESSAGE,200); SendCommand("AT+CIPCLOSE\r\n",(char*)OK_MESSAGE,200); @@ -163,19 +147,15 @@ setServerIp = false; setWifiSettings = false; } - if(setServerIp) - { + if(setServerIp) { SendCommand("+++",(char*)OK_MESSAGE,700); SendCommand("AT\r\n",(char*)OK_MESSAGE,300); SendCommand("AT+CIPCLOSE\r\n",(char*)OK_MESSAGE,200); -// SendCommand("AT+RST\r\n",(char*)OK_MESSAGE,2000); SendCommand(serverIpAddress,(char*)OK_MESSAGE,200); SendCommand("AT+RST\r\n","ready",1000); setServerIp = false; } - if(setWifiSettings) - { -// pc.printf("%s",wifiSettings); + if(setWifiSettings) { SendCommand("+++",(char*)OK_MESSAGE,700); SendCommand("AT\r\n",(char*)OK_MESSAGE,200); SendCommand("AT+CIPCLOSE\r\n",(char*)OK_MESSAGE,200); @@ -183,20 +163,23 @@ SendCommand("AT+RST\r\n","ready",1000); setWifiSettings = false; } -} +}; void ESP8266::ClearBuffer() { memset(buffer, '\0', sizeof(buffer)); pt = 0; -} +}; + +void ESP8266::ConfirmReceivedAck(uint8_t from) +{ + wifiUart.printf("ACK|%c\r\n",from); +}; void ESP8266::Test() { wifiUart.printf("+++\r\n"); wait(0.1); - wifiUart.printf("+++\r\n"); - wait(0.1); wifiUart.printf("AT\r\n"); wait(0.2); wifiUart.printf("AT\r\n"); @@ -204,5 +187,4 @@ wifiUart.printf("AT\r\n"); printf("ATTTTTTTTTTT"); wait(0.2); -// wifiUart.printf("AT+RST\r\n"); -} +};