При компиляции скетча выдает ошибку SMART_TEMPERATURE.ino: In function 'void loop()': SMART_TEMPERATURE.ino:33:26: error: invalid conversion from 'const char*' to 'const uint8_t* {aka const unsigned char*}' [-fpermissive] In file included from SMART_TEMPERATURE.ino:2:0: C:\Users\777\Documents\Arduino\libraries\ESP8266/ESP8266.h:347:10: error: initializing argument 1 of 'bool ESP8266::send(const uint8_t*, uint32_t)' [-fpermissive] bool send(const uint8_t *buffer, uint32_t len); ^ Ошибка компиляции. Вот сам скетч 2_theremometer.ino #include "ESP8266.h" #include <SoftwareSerial.h> #include <math.h> #define SSID "имя_твоего_Wi-Fi" #define PASSWORD "пароль_твоего_Wi-Fi" #define TEMP_PIN A0 SoftwareSerial mySerial(4, 5); ESP8266 wifi(mySerial); String name = "твой_ключ"; void setup(void) { Serial.begin(9600); if (wifi.joinAP(SSID, PASSWORD)) { Serial.println("https://dweet.io/follow/" + name); } else { Serial.println("Wi-Fi connection error"); } } void loop(void) { float v_temp = 1023.0 / analogRead(TEMP_PIN) - 1.0; float temp = 1.0 / ( -log(v_temp) / 3977.0 + 1.0 / 295.0 ) - 273.0; if (wifi.createTCP("www.dweet.io", 80)) { String data = "GET /dweet/for/" + name + "?"; data += "temp=" + String(temp) + " HTTP/1.1\r\n"; data += "Host: dweet.io\r\n\r\n"; wifi.send(data.c_str(), data.length()); wifi.releaseTCP(); } else { Serial.println("create TCP error"); } delay(1000); }
Что именно вам непонятно в этих ошибках? Ясно же сказано - функция ждёт указатель на const uint8_t, вы ей скармливаете указатель на const char. Приведение типов решает: Код (C++): wifi.send((const uint8_t*) data.c_str(), data.length());