ESP6288-01

zacatecnik1
Příspěvky: 62
Registrován: 05 led 2020, 20:05
Reputation: 0

ESP6288-01

Příspěvek od zacatecnik1 » 08 úno 2020, 14:40

Dobrý den,
Mám takový problém s meteostanicí,nechcou se mi posílat data na thingspeak,zkoušel jsem nahrát program a sledovat na sériovém monitoru ale tam se mi nic nezobrazivalo
Mám tam za senzory:
DHT 11
ESP6288-01
BMP280
LDR
Děkuji za odpověd
Tady je kód:
#include <SoftwareSerial.h>
#include <Wire.h>
#include <DHT.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>

#define DEBUG 0 // změňte hodnotu na 1 a aktivujte ladění pomocí sériového monitoru
#define pinDHT 0 // definující pin A0 pro DHT senzor
#define lightSensor A1 // definující pin A1 jako vstupní pin pro dělič napětí LDR
#define typDHT11 DHT11
// nastavení adresy senzoru
#define BMP280_ADRESA (0x76)
// inicializace senzoru BMP z knihovny
Adafruit_BMP280 bmp;
// konstanta s korekcí měření v hPa
int korekce = 32;

// inicializace DHT senzoru s nastaveným pinem a typem senzoru
DHT mojeDHT(pinDHT, typDHT11);

SoftwareSerial esp8266Module(10, 11); // RX, TX

String network = "MOJR"; // SSID vašeho přístupového bodu
String password = "E276T474A7K3E5AD664E"; // vaše heslo přístupového bodu wifi
#define IP "184.106.153.149" // IP adresa thingspeak.com
String GET = "GET /update?key=9GGHK2RM2TXLZ7YX"; // replace with your channel key


void setup()
{
// komunikace přes sériovou linku rychlostí 9600 baud
Serial.begin(9600);
// zapnutí komunikace s teploměrem DHT
mojeDHT.begin();
if(DEBUG){
Serial.begin(9600); // Nastavení hardwarové sériové přenosové rychlosti na 9600
}
esp8266Module.begin(9600); // Nastavení hardwarové sériové přenosové rychlosti na 9600
if (!bmp.begin(BMP280_ADRESA)) {
if(DEBUG){
Serial.println("BMP280 senzor nnalezen, zkontrolujte zapojení!");
}
while (1) {}
}
delay(2000);
}

void loop()
{
setupEsp8266();
//mojeDHT.read(dht_pin);
double humi = mojeDHT.readHumidity();
double bmp_temp = bmp.readTemperature();
double bmp_pressure = bmp.readPressure();
int lightIntensity = analogRead(lightSensor);
updateTemp(String(bmp_temp) ,String(lightIntensity),String(bmp_pressure),String(humi));
delay(30000);
}

//-------------------------------------------------------------------
// Po nastavení funkce připojte esp8266 do připravené stanice a
// připojit se k přístupovému bodu wifi.
//------------------------------------------------------------------
void setupEsp8266()
{
if(DEBUG){
Serial.println("Reseting esp8266");
}
esp8266Module.flush();
esp8266Module.println(F("AT+RST"));
delay(7000);
if (esp8266Module.find("OK"))
{
if(DEBUG){
Serial.println("Found OK");
Serial.println("Changing espmode");
}
esp8266Module.flush();
changingMode();
delay(5000);
esp8266Module.flush();
connectToWiFi();
}
else
{
if(DEBUG){
Serial.println("OK not found");
}
}
}

//-------------------------------------------------------------------
// Following function sets esp8266 to station mode
//-------------------------------------------------------------------
bool changingMode()
{
esp8266Module.println(F("AT+CWMODE=1"));
if (esp8266Module.find("OK"))
{
if(DEBUG){
Serial.println("Mode changed");
}
return true;
}
else if(esp8266Module.find("NO CHANGE")){
if(DEBUG){
Serial.println("Already in mode 1");
}
return true;
}
else
{
if(DEBUG){
Serial.println("Error while changing mode");
}
return false;
}
}

//-------------------------------------------------------------------
// Following function connects esp8266 to wifi access point
//-------------------------------------------------------------------
bool connectToWiFi()
{
if(DEBUG){
Serial.println("inside connectToWiFi");
}
String cmd = F("AT+CWJAP=\"");
cmd += network;
cmd += F("\",\"");
cmd += password;
cmd += F("\"");
esp8266Module.println(cmd);
delay(15000);

if (esp8266Module.find("OK"))
{
if(DEBUG){
Serial.println("Connected to Access Point");
}
return true;
}
else
{
if(DEBUG){
Serial.println("Could not connect to Access Point");
}
return false;
}
}

//-------------------------------------------------------------------
// Following function sends sensor data to thingspeak.com
//-------------------------------------------------------------------
void updateTemp(String voltage1,String voltage2,String voltage3,String voltage4)
{
String cmd = "AT+CIPSTART=\"TCP\",\"";
cmd += IP;
cmd += "\",80";
esp8266Module.println(cmd);
delay(5000);
if(esp8266Module.find("Error")){
if(DEBUG){
Serial.println("ERROR while SENDING");
}
return;
}
cmd = GET + "&field1=" + voltage1 + "&field2=" + voltage2 + "&field3=" + voltage3 + "&field4=" + voltage4 + "\r\n";
esp8266Module.print("AT+CIPSEND=");
esp8266Module.println(cmd.length());
delay(15000);
if(esp8266Module.find(">"))
{
esp8266Module.print(cmd);
if(DEBUG){
Serial.println("Data sent");
}
}else
{
esp8266Module.println("AT+CIPCLOSE");
if(DEBUG){
Serial.println("Connection closed");
}
}
}

zacatecnik1
Příspěvky: 62
Registrován: 05 led 2020, 20:05
Reputation: 0

Re: ESP6288-01

Příspěvek od zacatecnik1 » 06 bře 2020, 11:47

Omlouvám se je to esp8266

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: ESP6288-01

Příspěvek od pavel1tu » 06 bře 2020, 12:30

Kod příště vkládej pomocí </> tlačítka ...

Ladění a výpis po seriovem portu aktivuješ změnou "0" na "1"

Kód: Vybrat vše

#define DEBUG 0
Dále - nastavil jsi správně tyto věci ?

Kód: Vybrat vše

String network = "MOJR"; // SSID vašeho přístupového bodu
String password = "E276T474A7K3E5AD664E"; // vaše heslo přístupového bodu wifi
#define IP "184.106.153.149" // IP adresa thingspeak.com
String GET = "GET /update?key=9GGHK2RM2TXLZ7YX"; // replace with your channel key

nevím odkud jsi vzal kod, ale použití DELAY bych se časem až to rozchodíš vyhnul
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

zacatecnik1
Příspěvky: 62
Registrován: 05 led 2020, 20:05
Reputation: 0

Re: ESP6288-01

Příspěvek od zacatecnik1 » 07 bře 2020, 11:19

Tak jsem to zkusil a nechce se mi to připojit k Wi-fi.
Ty věci jsem nastavil správně až na to id toho webu protože nevim jestli to je správně ale to by němělo vadik k připojení k Wi-fi ne?
Jinak je to z tadyma
https://create.arduino.cc/projecthub/Bl ... r&offset=1

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: ESP6288-01

Příspěvek od pavel1tu » 07 bře 2020, 13:10

Nevím,
doma mám jen ESP32, pokud najdu čas, testnu alespoń to WiFi

PS: podívej se do routeru zda to mů vůbec snahu připojit se a nebo proč to router vykopl ...
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

zacatecnik1
Příspěvky: 62
Registrován: 05 led 2020, 20:05
Reputation: 0

Re: ESP6288-01

Příspěvek od zacatecnik1 » 07 bře 2020, 13:38

Dobře děkuji

RomanB
Příspěvky: 90
Registrován: 04 zář 2017, 14:28
Reputation: 0
Bydliště: Havířov

Re: ESP6288-01

Příspěvek od RomanB » 07 bře 2020, 16:04

Když připojíš ESP na sériový převodník, reaguje ti ESP na AT příkazy?

Restartuj WiFi router.

vanyj
Příspěvky: 6
Registrován: 20 říj 2017, 15:03
Reputation: 0

Re: ESP6288-01

Příspěvek od vanyj » 08 bře 2020, 19:03

Ahoj
Zkontroluj si jestli máš dobře nastavenou rychlost přenosu. Já používám na esp 115200 baudů, vždy když testuji nový čidlo. Musíš to změnit i v sériovém monitoru.
Až budeš mít čidla otestovaná že ti dávají dobré hodnoty můžeš pokračovat dál.

ps. několik měsíců mi běží esp + bme280 + thinkspeak

zacatecnik1
Příspěvky: 62
Registrován: 05 led 2020, 20:05
Reputation: 0

Re: ESP6288-01

Příspěvek od zacatecnik1 » 20 bře 2020, 11:13

No já nahrávám program do arduina které stím komunikuje tak tam mám jen rychlost přenosu do arduina

afilip
Příspěvky: 116
Registrován: 26 črc 2017, 16:34
Reputation: 0
Kontaktovat uživatele:

Re: ESP6288-01

Příspěvek od afilip » 21 bře 2020, 13:10

Jestli jsem to dobře pochopil, tak máš k Arduinu připojený ESP8266, a chceš přes něj posílat data na Thinkspeak.
V první řadě musíš do ESP nahrát ověřený AT firmware. Použij starý, ale asi nejstabilnější FW esp_iot_sdk_v1.5.0_15_11_27.zip
Druhá věc, nepoužívej pevnou IP adresu 184.106.153.149. Thingspeak adresy serveru průběžně dynamicky mění, a tato adresa nemusí být vždy k dispozici. Je proto potřeba použít jet přes DNS, a v programu použít "api.thingspeak.com".
Když se ti to podaří na Thingspeak odeslat, tak potom mohou grafy fypadat např. takto:
https://thingspeak.com/plugins/9545
AT FW esp_iot_sdk_v1.5.0_15_11_27.zip najdeš i s návodem, jak ho do ESP dostat na mojí stránce:
http://xanadu.khnet.info/esp8266.php

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 14 hostů