Thingspeak-ESP8266

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

boro
Stály člen
Stály člen
Príspevky: 118
Dátum registrácie: 10 Nov 2010, 00:00
Vek: 80

Thingspeak-ESP8266

Príspevok od používateľa boro » 04 Jan 2019, 09:25

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 :pain:
0

Používateľov profilový obrázok
straciam
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1319
Dátum registrácie: 06 Jan 2009, 00:00
Bydlisko: Podbrezova
Vek: 38

Re: Thingspeak-ESP8266

Príspevok od používateľa straciam » 04 Jan 2019, 12:23

ukaz kod co nahravas do esp.
0
Ponukam vysokokvalitnu 3D tlac na SLA tlaciarni Anycubic Photon.
No password, no problem.
Ins-piration

boro
Stály člen
Stály člen
Príspevky: 118
Dátum registrácie: 10 Nov 2010, 00:00
Vek: 80

Re: Thingspeak-ESP8266

Príspevok od používateľa boro » 04 Jan 2019, 14:25

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]
0

Používateľov profilový obrázok
straciam
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1319
Dátum registrácie: 06 Jan 2009, 00:00
Bydlisko: Podbrezova
Vek: 38

Re: Thingspeak-ESP8266

Príspevok od používateľa straciam » 04 Jan 2019, 17:00

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:

Kód: Vybrať všetko

WiFi.mode(WIFI_STA);
WiFi.begin....
- 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. ..
0
Ponukam vysokokvalitnu 3D tlac na SLA tlaciarni Anycubic Photon.
No password, no problem.
Ins-piration

boro
Stály člen
Stály člen
Príspevky: 118
Dátum registrácie: 10 Nov 2010, 00:00
Vek: 80

Re: Thingspeak-ESP8266

Príspevok od používateľa boro » 05 Jan 2019, 09:59

Uvedený kľúč je Write.
Ivan
0

Používateľov profilový obrázok
straciam
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1319
Dátum registrácie: 06 Jan 2009, 00:00
Bydlisko: Podbrezova
Vek: 38

Re: Thingspeak-ESP8266

Príspevok od používateľa straciam » 05 Jan 2019, 18:36

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
0
Ponukam vysokokvalitnu 3D tlac na SLA tlaciarni Anycubic Photon.
No password, no problem.
Ins-piration

boro
Stály člen
Stály člen
Príspevky: 118
Dátum registrácie: 10 Nov 2010, 00:00
Vek: 80

Re: Thingspeak-ESP8266

Príspevok od používateľa boro » 06 Jan 2019, 11:15

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
0

Používateľov profilový obrázok
straciam
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1319
Dátum registrácie: 06 Jan 2009, 00:00
Bydlisko: Podbrezova
Vek: 38

Re: Thingspeak-ESP8266

Príspevok od používateľa straciam » 06 Jan 2019, 12:33

toto je nespravne:

Kód: Vybrať všetko

String sprava=apiKluc;
sprava=sprava + "&field1=";
spravne ma byt:

Kód: Vybrať všetko

String sprava = "field1=";
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..
0
Ponukam vysokokvalitnu 3D tlac na SLA tlaciarni Anycubic Photon.
No password, no problem.
Ins-piration

boro
Stály člen
Stály člen
Príspevky: 118
Dátum registrácie: 10 Nov 2010, 00:00
Vek: 80

Re: Thingspeak-ESP8266

Príspevok od používateľa boro » 07 Jan 2019, 06:52

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
0

epto
Stály člen
Stály člen
Príspevky: 151
Dátum registrácie: 09 Nov 2012, 16:23
Bydlisko: Seňa

Re: Thingspeak-ESP8266

Príspevok od používateľa epto » 07 Jan 2019, 11:23

Ja na Thingspeak posielam cca 6 hodnot ra za minutu a vsetko funguje.
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();
   
 }
Cele to mam podla navodu z jednej ceskej stranky, skusim ju najst a prihodim link
0

boro
Stály člen
Stály člen
Príspevky: 118
Dátum registrácie: 10 Nov 2010, 00:00
Vek: 80

Re: Thingspeak-ESP8266

Príspevok od používateľa boro » 07 Jan 2019, 13:15

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 :applause: :P
0

Používateľov profilový obrázok
straciam
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1319
Dátum registrácie: 06 Jan 2009, 00:00
Bydlisko: Podbrezova
Vek: 38

Re: Thingspeak-ESP8266

Príspevok od používateľa straciam » 07 Jan 2019, 17:58

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 :wink:

-- 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: ");
spravne ma byt:

Kód: Vybrať všetko

client.print("Content-Length: ");
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 :)
0
Ponukam vysokokvalitnu 3D tlac na SLA tlaciarni Anycubic Photon.
No password, no problem.
Ins-piration

boro
Stály člen
Stály člen
Príspevky: 118
Dátum registrácie: 10 Nov 2010, 00:00
Vek: 80

Re: Thingspeak-ESP8266

Príspevok od používateľa boro » 08 Jan 2019, 22:19

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 :agree:
0

pocitujlasku
Ultimate člen
Ultimate člen
Príspevky: 6201
Dátum registrácie: 20 Júl 2007, 00:00
Vek: 41

Re: Thingspeak-ESP8266

Príspevok od používateľa pocitujlasku » 09 Jan 2019, 08:45

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.
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.
0
Jedním z největších projevů nedůvěry v Boha je hromosvod na kostele.

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok