Thingspeak-ESP8266
Moderátori: psichac, Moderátori
Thingspeak-ESP8266
Zdravím,skúšam odosielať dáta na Thinhgspeak.Výpisy na sériovom monitore fungujú.Na Field-e sa nič nezobrazuje.Ani meteostanica zo Žamberka nemá na svojom fielde žiadne údaje.Dá sa prehrať len len video z Youtube.Môže mi niekto poradiť kde môže byť chyba?V nastavení?Api Key som skontroloval 10x.
Ďakujem Boro
Ďakujem Boro
0
- straciam
- Zaslúžilý člen
- Príspevky: 1319
- Dátum registrácie: 06 Jan 2009, 00:00
- Bydlisko: Podbrezova
- Vek: 38
Re: Thingspeak-ESP8266
ukaz kod co nahravas do esp.
0
Ponukam vysokokvalitnu 3D tlac na SLA tlaciarni Anycubic Photon.
No password, no problem.
Ins-piration
No password, no problem.
Ins-piration
Re: Thingspeak-ESP8266
Zdravím,kód je prevzatý z Arduino návody.Trošku nezmyselný,ale chcem ho upraviť.Ja potrebujem len na jednom mieste merať teplotu,aby som ju mohol kedykoľvek a všade kde je WiFi skontrolovať.Boro
code]
#include <ESP8266WiFi.h>
String apiKluc="KGE6EXVZI401MVRI";
const char* nazovWifi="HUAWEI-5S3w";
const char* hesloWifi="fKYaFRcU";
const char* server="api.thingspeak.com";
WiFiClient client;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
WiFi.begin(nazovWifi,hesloWifi);
while(WiFi.status() !=WL_CONNECTED){
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Pripojene k WiFi sieti");
Serial.println(nazovWifi);
Serial.print("IP adresa:");
Serial.println(WiFi.localIP());
}
void loop() {
// put your main code here, to run repeatedly:
int cas=millis()/1000;
int analog=1000;
if(client.connect(server,80)){
String sprava=apiKluc;
sprava=sprava+="&field1=";
sprava=sprava+String(cas);
sprava=sprava+String(analog);
sprava=sprava+"\r\n\r\n";
client.print("POST /update HTTP/1.1\n");
client.print("Host:api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKKEY: "+apiKluc+"\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(sprava.length());
client.print("n\n\n");
client.print(sprava);
Serial.print("Cas od spustenia ESP8266: ");
Serial.print(cas);
Serial.println(" sekund");
Serial.print("Analogova hodnota: ");
Serial.println(analog);
Serial.println("Udaje odoslane na Thingspeak.");
}
client.stop();
Serial.println("Pauza pred odoslaním dalsich dat 20s.");
delay(20000);
}
[/code]
code]
#include <ESP8266WiFi.h>
String apiKluc="KGE6EXVZI401MVRI";
const char* nazovWifi="HUAWEI-5S3w";
const char* hesloWifi="fKYaFRcU";
const char* server="api.thingspeak.com";
WiFiClient client;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
WiFi.begin(nazovWifi,hesloWifi);
while(WiFi.status() !=WL_CONNECTED){
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Pripojene k WiFi sieti");
Serial.println(nazovWifi);
Serial.print("IP adresa:");
Serial.println(WiFi.localIP());
}
void loop() {
// put your main code here, to run repeatedly:
int cas=millis()/1000;
int analog=1000;
if(client.connect(server,80)){
String sprava=apiKluc;
sprava=sprava+="&field1=";
sprava=sprava+String(cas);
sprava=sprava+String(analog);
sprava=sprava+"\r\n\r\n";
client.print("POST /update HTTP/1.1\n");
client.print("Host:api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKKEY: "+apiKluc+"\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(sprava.length());
client.print("n\n\n");
client.print(sprava);
Serial.print("Cas od spustenia ESP8266: ");
Serial.print(cas);
Serial.println(" sekund");
Serial.print("Analogova hodnota: ");
Serial.println(analog);
Serial.println("Udaje odoslane na Thingspeak.");
}
client.stop();
Serial.println("Pauza pred odoslaním dalsich dat 20s.");
delay(20000);
}
[/code]
0
- straciam
- Zaslúžilý člen
- Príspevky: 1319
- Dátum registrácie: 06 Jan 2009, 00:00
- Bydlisko: Podbrezova
- Vek: 38
Re: Thingspeak-ESP8266
postupne skusim:
-nainstaluj si kniznicu ThingSpeak, bude sa ti s tym lepsie robit a bude to prehladnejsie..
-neviem ci ta vobec pripoji na wifi. v setupe nedefinujes wifi mod, standardne je tusim AP, nie client. cize pouzi:
- po par ulozenych datach ti thingspeak blokne IP adresu, 20 sekund je prilis casto. kvoli moznemu zahlteniu servera ta odstavia. skus dat minutove oneskorenie.. ale nie cez delay.. radsej ho daj uspat. hlavne ak to pojde na baterky.
-nikde nevidim ze by si sa identifikoval na cislo kanala, aj to treba pre overenie. inak ti thingspeak nic neulozi aj ked mas api kluc. nepises ani ci mas read API alebo write API kluc. ..
-nainstaluj si kniznicu ThingSpeak, bude sa ti s tym lepsie robit a bude to prehladnejsie..
-neviem ci ta vobec pripoji na wifi. v setupe nedefinujes wifi mod, standardne je tusim AP, nie client. cize pouzi:
Kód: Vybrať všetko
WiFi.mode(WIFI_STA);
WiFi.begin....
-nikde nevidim ze by si sa identifikoval na cislo kanala, aj to treba pre overenie. inak ti thingspeak nic neulozi aj ked mas api kluc. nepises ani ci mas read API alebo write API kluc. ..
0
Ponukam vysokokvalitnu 3D tlac na SLA tlaciarni Anycubic Photon.
No password, no problem.
Ins-piration
No password, no problem.
Ins-piration
- straciam
- Zaslúžilý člen
- Príspevky: 1319
- Dátum registrácie: 06 Jan 2009, 00:00
- Bydlisko: Podbrezova
- Vek: 38
Re: Thingspeak-ESP8266
a pripoji sa ti esp na tvoju domacu wifi siet? pozeral si si tu kniznicu ThingSpeak do arduino IDE?
p.s. toto moze byt povazovanu za duplicitnu temu: https://svetelektro.com/modules.php?nam ... ead#unread
p.s. toto moze byt povazovanu za duplicitnu temu: https://svetelektro.com/modules.php?nam ... ead#unread
0
Ponukam vysokokvalitnu 3D tlac na SLA tlaciarni Anycubic Photon.
No password, no problem.
Ins-piration
No password, no problem.
Ins-piration
Re: Thingspeak-ESP8266
Zdravím,vyskúšal som ešte jeden program(je v prílohe)aj ten funguje podľa očakávaní.Všetky výpisy sú také ako majú byť,dokonca aj Enries na Things...sa mení,ale žiadne údaje sa neobjavia.Keď si vypíšem za: client.print(sprava) pomocou Serial.println(sprava)tak sa mi tam zobrazí:KGE.....MVRI&field1=24 teda všetko,čo by tam malo byť.24 je nameraná teplota.Ak dám do vyhľadávača:
https://api.thingspeak.com/update?api_k ... &field1=24
tak sa 24 objaví v grafe na Thingspeak
S pozdravom Boro
#include <ESP8266WiFi.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
String apiKluc="KGE6EXVZI401MVRI";
const char* nazovWiFi="HUAWEI-5S3w";
const char* hesloWiFi="fKYaFRcU";
const char* server="api.thingspeak.com";
WiFiClient client;
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
WiFi.begin(nazovWiFi,hesloWiFi);
while (WiFi.status() !=WL_CONNECTED){
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Pripojene k WiFi");
Serial.println(nazovWiFi);
Serial.print("IP adresa: ");
Serial.println(WiFi.localIP());
sensors.begin();
}
void loop() {
// put your main code here, to run repeatedly:
sensors.requestTemperatures();
delay(100);
int temp=sensors.getTempCByIndex(0);
Serial.print("Teplota1 ");
Serial.println(temp);
if (client.connect(server,80)){
Serial.println("bod1");
// String sprava= "api.thingspeak.com/update?api_key=";
// sprava=sprava + apiKluc;
String sprava=apiKluc;
sprava=sprava + "&field1=";
sprava=sprava + String (temp);
sprava=sprava + "\r\n\r\n";
client.print("POST /update HTTP/1.1\n");
client.print("Host:api.thingspeak.com\n");
client.print("Connection:close\n");
client.print("X-THINGSPEAKAPIKEY: "+apiKluc+"\n");
client.print("Content-Type:application/x-www-form-urlencoded\n");
client.print("Content_Length: ");
client.print(sprava.length());
client.print("\n\n");
client.print(sprava);
Serial.println(sprava);
sensors.requestTemperatures();
int temp=sensors.getTempCByIndex(0);
Serial.print("Teplota: ");
Serial.print(temp);
Serial.println("°C");
Serial.println("Udaje odoslane na Things.");
}
client.stop();
Serial.println("Pauza pred dalsim odosielanim dat 60s.");
delay(60000);
}
[/code
https://api.thingspeak.com/update?api_k ... &field1=24
tak sa 24 objaví v grafe na Thingspeak
S pozdravom Boro
#include <ESP8266WiFi.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
String apiKluc="KGE6EXVZI401MVRI";
const char* nazovWiFi="HUAWEI-5S3w";
const char* hesloWiFi="fKYaFRcU";
const char* server="api.thingspeak.com";
WiFiClient client;
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
WiFi.begin(nazovWiFi,hesloWiFi);
while (WiFi.status() !=WL_CONNECTED){
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Pripojene k WiFi");
Serial.println(nazovWiFi);
Serial.print("IP adresa: ");
Serial.println(WiFi.localIP());
sensors.begin();
}
void loop() {
// put your main code here, to run repeatedly:
sensors.requestTemperatures();
delay(100);
int temp=sensors.getTempCByIndex(0);
Serial.print("Teplota1 ");
Serial.println(temp);
if (client.connect(server,80)){
Serial.println("bod1");
// String sprava= "api.thingspeak.com/update?api_key=";
// sprava=sprava + apiKluc;
String sprava=apiKluc;
sprava=sprava + "&field1=";
sprava=sprava + String (temp);
sprava=sprava + "\r\n\r\n";
client.print("POST /update HTTP/1.1\n");
client.print("Host:api.thingspeak.com\n");
client.print("Connection:close\n");
client.print("X-THINGSPEAKAPIKEY: "+apiKluc+"\n");
client.print("Content-Type:application/x-www-form-urlencoded\n");
client.print("Content_Length: ");
client.print(sprava.length());
client.print("\n\n");
client.print(sprava);
Serial.println(sprava);
sensors.requestTemperatures();
int temp=sensors.getTempCByIndex(0);
Serial.print("Teplota: ");
Serial.print(temp);
Serial.println("°C");
Serial.println("Udaje odoslane na Things.");
}
client.stop();
Serial.println("Pauza pred dalsim odosielanim dat 60s.");
delay(60000);
}
[/code
0
- straciam
- Zaslúžilý člen
- Príspevky: 1319
- Dátum registrácie: 06 Jan 2009, 00:00
- Bydlisko: Podbrezova
- Vek: 38
Re: Thingspeak-ESP8266
toto je nespravne:
spravne ma byt:
ak by si posielal nejaku druhu hodnotu, tak tam uz ide "&" (napr. "&field2="). na prvu hodnotu & nejde.
a api kluc si predsa poslal cez client.print("X-THINGSPEAKAPIKEY: " + APIKey + "\n");
takze do adresy uz nejde.
radil som ti nainstalovat si kniznicu thingspeak do arduino IDE. mal by si to jednym prikazom. takto je to zbytocne komplikovane. co mas na 10 riadkoch, spravis jednym prikazom..
Kód: Vybrať všetko
String sprava=apiKluc;
sprava=sprava + "&field1=";
Kód: Vybrať všetko
String sprava = "field1=";
a api kluc si predsa poslal cez client.print("X-THINGSPEAKAPIKEY: " + APIKey + "\n");
takze do adresy uz nejde.
radil som ti nainstalovat si kniznicu thingspeak do arduino IDE. mal by si to jednym prikazom. takto je to zbytocne komplikovane. co mas na 10 riadkoch, spravis jednym prikazom..
0
Ponukam vysokokvalitnu 3D tlac na SLA tlaciarni Anycubic Photon.
No password, no problem.
Ins-piration
No password, no problem.
Ins-piration
Re: Thingspeak-ESP8266
Zdravím Stracian,ďakujem za ochotu mi poradiť,ale rád by som ešte raz pripomenul,že :keď dám do vyhľadávača:
api.thingspeak.com/update?api_key=KGE....MVRI&field1=hodnota
tak sa mi tá hodnota na Thingspeak zobrazí.Tzn.,že to funguje.Z internetu som prevzal program,ktorý by mal údaj z DS18B20 poslať na Thingspeak.O nič iné mi nejde.Príkazy na komunikáciu na internete nepoznám a ani sa ich v mojom veku,75 rokov už nebudem učiť.Program som napísal do počítača a som šťastný,že som moje preklepy pomocou kompilátora odstránil.To je všetko čo som schopný urobiť.Potrebujem len toľko,aby mi niekto úplne "polopatisticky" poradil,či v programe mojou,alebo autorovou vinou nie je chyba,ktorá kompilátoru nevadí alebo logická chyba,resp.link na odskúšaný program,ktorý naozaj funguje.Preto som si nestiahol knižnicu Thingspeak.
Ďakujem predom za pomoc
Boro
api.thingspeak.com/update?api_key=KGE....MVRI&field1=hodnota
tak sa mi tá hodnota na Thingspeak zobrazí.Tzn.,že to funguje.Z internetu som prevzal program,ktorý by mal údaj z DS18B20 poslať na Thingspeak.O nič iné mi nejde.Príkazy na komunikáciu na internete nepoznám a ani sa ich v mojom veku,75 rokov už nebudem učiť.Program som napísal do počítača a som šťastný,že som moje preklepy pomocou kompilátora odstránil.To je všetko čo som schopný urobiť.Potrebujem len toľko,aby mi niekto úplne "polopatisticky" poradil,či v programe mojou,alebo autorovou vinou nie je chyba,ktorá kompilátoru nevadí alebo logická chyba,resp.link na odskúšaný program,ktorý naozaj funguje.Preto som si nestiahol knižnicu Thingspeak.
Ďakujem predom za pomoc
Boro
0
Re: Thingspeak-ESP8266
Ja na Thingspeak posielam cca 6 hodnot ra za minutu a vsetko funguje.
osekany zdrojak:
Cele to mam podla navodu z jednej ceskej stranky, skusim ju najst a prihodim link
osekany zdrojak:
Kód: Vybrať všetko
#include < Arduino.h >
#include < WiFi.h >
float teplota;
String zprava;
String apiKeySt20 = "XXXXXXXXXXXXXXXX"; // vas APIKey
const char* ssid = "XXXXXX"; // WiFi siet
const char* password = "XXXXXXXXX"; //heslo do WiFi siete
const char* server = "api.thingspeak.com";
WiFiClient client;
void setup()
{
Serial.begin(115200);
while (!Serial);
// Connect to Wi-Fi network with SSID and password
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected.");
}
void loop()
{
// ... vas kod, kde ziskate teplotu
if (client.connect(server, 80)) {
// vy tvoření zprávy, která bude odeslána na Thingspeak
// každé pole je označeno jako "field" + pořadí pole,
// je nutné každý údaj převést na String
zprava = apiKeySt20;
zprava += "&field1=";
zprava += String(teplota);
zprava += "\r\n";
// po vytvoření celé zprávy ji odešleme na server Thingspeak
// včetně našeho API klíče
client.print("POST /update HTTP/1.1\n");
client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKAPIKEY: " + apiKeySt20 + "\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(zprava.length());
client.print("\n\n");
client.print(zprava);
}
// ukončení spojení se serverem Thingspeak
client.stop();
}
0
Re: Thingspeak-ESP8266
Zdravím,veľká vďaka Straciam!!!Poslúchol som a stiahol som si knižnicu Thingspeak.Vyskúšal som testovací program na Write a ono to funguje!!!Nebolo to úplne bez problémov.Verzia 1.4.3 nefungovala,pri kompilácii hlásilo,taký súbor neexistuje.Skúsil som verziu 1.4.2 a tá napodiv fungovala o.k.Dúfam,že sa mi k tomu podarí prilepiť DS18B20.Čo ale nechápem,je to,že som sa nikde nestretol s použitím tejto knižnice.Veď to maximálne zjednoduší program.Ešte raz vďaka Straciam.
Boro
Boro
0
- straciam
- Zaslúžilý člen
- Príspevky: 1319
- Dátum registrácie: 06 Jan 2009, 00:00
- Bydlisko: Podbrezova
- Vek: 38
Re: Thingspeak-ESP8266
nie je odkaz ako odkaz
skusim to cele zjednodusit:
ine je to otvorit v prehliadaci, kde prebieha komunikacia na vopred danom principe klient-server, ako (velmi to zjednodusim) sa do tejto komunikacie "triafat" prikazmi a skladat hlavicku poziadavky rucne...
problem moze byt v kadecom (router, provider, pingy...atd) co moze brzdit komunikaciu.. sam som si tym presiel, ked som sa nemohol v jednom pripade pripojit na vzdialeny server kvoli routru.
ked sa o komunikaciu stara nejaka "kniznica", ktora ma celu komunikaciu zvladnutu, tak to ide lahsie a rychlejsie ako sa starat o samotne spojenie.. zjednodusene povedane..
samozrejme sa najdu aj taki co sa im viac paci programovat na urovni assembleru, mne osobne to nevonia, a radsej pouzijem jeden prikaz miesto desiatich.. ale nikomu to neberiem..
ak by ti neslo to meranie teploty, tak sem znovu napis.. snad daco vymyslime
-- Spojený príspevok 07 Jan 2019, 18:05 --
presiel som povodny kod este raz a nasiel som preklep, ktory za to moze:
spravne ma byt:
v povodnom kode to bolo dobre, ale nebol definovany mod wifi (client, AP..) takze v prvom pripade to neslo asi preto, v druhom pripade asi kvoli preklepu... teraz mas uz kniznicu s ktorou to funguje, takze sa to uz asi nedozvieme
skusim to cele zjednodusit:
ine je to otvorit v prehliadaci, kde prebieha komunikacia na vopred danom principe klient-server, ako (velmi to zjednodusim) sa do tejto komunikacie "triafat" prikazmi a skladat hlavicku poziadavky rucne...
problem moze byt v kadecom (router, provider, pingy...atd) co moze brzdit komunikaciu.. sam som si tym presiel, ked som sa nemohol v jednom pripade pripojit na vzdialeny server kvoli routru.
ked sa o komunikaciu stara nejaka "kniznica", ktora ma celu komunikaciu zvladnutu, tak to ide lahsie a rychlejsie ako sa starat o samotne spojenie.. zjednodusene povedane..
samozrejme sa najdu aj taki co sa im viac paci programovat na urovni assembleru, mne osobne to nevonia, a radsej pouzijem jeden prikaz miesto desiatich.. ale nikomu to neberiem..
ak by ti neslo to meranie teploty, tak sem znovu napis.. snad daco vymyslime
-- Spojený príspevok 07 Jan 2019, 18:05 --
presiel som povodny kod este raz a nasiel som preklep, ktory za to moze:
Kód: Vybrať všetko
client.print("Content_Length: ");
Kód: Vybrať všetko
client.print("Content-Length: ");
0
Ponukam vysokokvalitnu 3D tlac na SLA tlaciarni Anycubic Photon.
No password, no problem.
Ins-piration
No password, no problem.
Ins-piration
Re: Thingspeak-ESP8266
Straciam ,ďakujem za ochotu mi pomôcť aj s "prilepením" DS18B20,ale našťastie to išlo bez problémov.Celé to krásne funguje.Už len vyrobiť plošák,dať to do krabičky a nech si to pracuje.
Ďakujem aj Epto za kód.Porovnám to s mojimi neúspešnými pokusmi.
Zdravím Boro
Ďakujem aj Epto za kód.Porovnám to s mojimi neúspešnými pokusmi.
Zdravím Boro
0
-
- Ultimate člen
- Príspevky: 6205
- Dátum registrácie: 20 Júl 2007, 00:00
- Vek: 41
Re: Thingspeak-ESP8266
Toto je ten vecny boj. Adruino ma na vsetko kniznice, niektore su super, ine su len podovna zmes kodu, ktora zazrakom funguje. V principe je to fajn, nieco potrebujem, stiahnem kniznicu a vybavene. Lenze nastavaju pripady, ze 2 rozne kniznice pouzivaju napr. to iste prerusenie, alebo casovac a uz maju medzi sebou konflikt, ktory sa moze napr. prejavovat ako obcasne zaseknutie, alebo nenacitanie hodnoty, alebo co ja viem raz za tyzden vytuhne program. To sa potom odlahuje dost zle. Preto sa vela ludi snazi urobit veci priamo na mieru (a inspiruju sa kniznicami), aby sa vyhli prave takymto problemom a mali, ako sa hovori program pod palcom. Pripadne si vytvoria svoje, kde presne vedia ake zdroje sa pouzivaju a co presne robi.boro napísal:Čo ale nechápem,je to,že som sa nikde nestretol s použitím tejto knižnice.Veď to maximálne zjednoduší program.
0
Jedním z největších projevů nedůvěry v Boha je hromosvod na kostele.
-
- Podobné témy
- Odpovedí
- Zobrazení
- Posledný príspevok
-
- 7 Odpovedí
- 744 Zobrazení
-
Posledný príspevok od používateľa pocitujlasku
-
- 5 Odpovedí
- 2729 Zobrazení
-
Posledný príspevok od používateľa pocitujlasku