Posielanie dát z arduino do Nextion

Wiring, C++, C, Java, ...
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Odpovědět
ERIK518
Příspěvky: 2
Registrován: 05 pro 2019, 09:10
Reputation: 0

Posielanie dát z arduino do Nextion

Příspěvek od ERIK518 » 05 pro 2019, 09:15

Dobrý deň, chcel by som sa opýtať, že mám vytvorenú komunikáciu medzi arduinom a displejom Nextion, len mám problém so znakmi keď tam chcem poslať. Všetky data sa odošlú v pohode, ale znak stupne celzia tam robí blbosti. Vedel by mi niekto poradiť, že v čom môže byť chyba ? Namiesto napr. "20°C" mi tam vypíše "20Ä°C".

Vopred ďakujem za odpovede.

Kód: Vybrat vše

int h = dht.readHumidity(); // Zistíme do int hodnotu vlhkosti
  int t = dht.readTemperature(); // Zistíme do int hodnotu teploty
  /*Serial.println(t);
  Serial.println(h);*/
  String teplota = "teplota.txt=\""; // Vytvoríme String pre príkaz čo pošleme do Nextion display
  teplota += t; // pridáme k stringu aj hodnotu
  teplota += "°C\"";// ukončíme príkaz a príkaz je kompletný
  String vlhkost = "vlhkost.txt=\""; // Vytvoríme String pre príkaz čo pošleme do Nextion display
  vlhkost += h;// pridáme k stringu aj hodnotu
  vlhkost += "%\"";// ukončíme príkaz a príkaz je kompletný
  Serial1.print(teplota); // Pošleme príkaz do Nextion 
  Serial1.write(0xff); // toto musí byť za každým príkazom inač by to nefungovalo
  Serial1.write(0xff);// toto musí byť za každým príkazom inač by to nefungovalo
  Serial1.write(0xff); // toto musí byť za každým príkazom inač by to nefungovalo
  Serial1.print(vlhkost); // Pošleme príkaz do Nextion 
  Serial1.write(0xff);// toto musí byť za každým príkazom inač by to nefungovalo
  Serial1.write(0xff);// toto musí byť za každým príkazom inač by to nefungovalo
  Serial1.write(0xff);// toto musí byť za každým príkazom inač by to nefungovalo
  delay(1000);// Počkáme 1s

Uživatelský avatar
gilhad
Příspěvky: 778
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: Posielanie dát z arduino do Nextion

Příspěvek od gilhad » 05 pro 2019, 11:38

Podivne dvojznaky (z nichz prvni pripomina A), u ne-ASCII znaku u me vetsinou znamenaly, ze neco nekde vysilalo v UTF-8 a neco nekde prijimalo v nejakem 8bitovem kodovani.

Nech si vypsat ten retezec teplota byte po bytu, jako hexa a jako znak a jesstli mezi 20 a C budes mit ty byty dva, tak je to jasne. Bud nastavit prijemce, aby pouzival UTF-8, nebo (kdyz ti umi zobrazit ten stupen), tak mu tam posilat jen ten znak pro stupen.

ERIK518
Příspěvky: 2
Registrován: 05 pro 2019, 09:10
Reputation: 0

Re: Posielanie dát z arduino do Nextion

Příspěvek od ERIK518 » 05 pro 2019, 11:52

Ďakujem za radu. Mám to už vyriešené.

Kód: Vybrat vše

String teplota = "teplota.txt=\""; // Vytvoríme String pre príkaz čo pošleme do Nextion display
  teplota += t; // pridáme k stringu aj hodnotu
  teplota += char(176);
  teplota += "C\"";// ukončíme príkaz a príkaz je kompletný
Takto mi to funguje parádne :D ale aj tak ďakujem moc za odpoveď.

Odpovědět

Kdo je online

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