ESP6288-01
-
- Příspěvky: 62
- Registrován: 05 led 2020, 20:05
- Reputation: 0
ESP6288-01
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");
}
}
}
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");
}
}
}
-
- Příspěvky: 62
- Registrován: 05 led 2020, 20:05
- Reputation: 0
Re: ESP6288-01
Omlouvám se je to esp8266
- pavel1tu
- Příspěvky: 2054
- Registrován: 26 říj 2017, 08:28
- Reputation: 0
- Bydliště: Trutnov
- Kontaktovat uživatele:
Re: ESP6288-01
Kod příště vkládej pomocí </> tlačítka ...
Ladění a výpis po seriovem portu aktivuješ změnou "0" na "1"
Dále - nastavil jsi správně tyto věci ?
nevím odkud jsi vzal kod, ale použití DELAY bych se časem až to rozchodíš vyhnul
Ladění a výpis po seriovem portu aktivuješ změnou "0" na "1"
Kód: Vybrat vše
#define DEBUG 0
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
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
-
- Příspěvky: 62
- Registrován: 05 led 2020, 20:05
- Reputation: 0
Re: ESP6288-01
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
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
- pavel1tu
- Příspěvky: 2054
- Registrován: 26 říj 2017, 08:28
- Reputation: 0
- Bydliště: Trutnov
- Kontaktovat uživatele:
Re: ESP6288-01
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 ...
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"
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
-
- Příspěvky: 62
- Registrován: 05 led 2020, 20:05
- Reputation: 0
Re: ESP6288-01
Dobře děkuji
Re: ESP6288-01
Když připojíš ESP na sériový převodník, reaguje ti ESP na AT příkazy?
Restartuj WiFi router.
Restartuj WiFi router.
Re: ESP6288-01
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
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
-
- Příspěvky: 62
- Registrován: 05 led 2020, 20:05
- Reputation: 0
Re: ESP6288-01
No já nahrávám program do arduina které stím komunikuje tak tam mám jen rychlost přenosu do arduina
Re: ESP6288-01
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
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
Kdo je online
Uživatelé prohlížející si toto fórum: kiRRow a 16 hostů