Stránka 1 z 1

Posielanie dát z arduino do Nextion

Napsal: 05 pro 2019, 09:15
od ERIK518
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

Re: Posielanie dát z arduino do Nextion

Napsal: 05 pro 2019, 11:38
od gilhad
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.

Re: Posielanie dát z arduino do Nextion

Napsal: 05 pro 2019, 11:52
od ERIK518
Ď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ď.