TFT NEXTION


Topic author
tasior1802
Posty: 14
Rejestracja: wt sty 07, 2020 7:52 pm

TFT NEXTION

#1

Post autor: tasior1802 » śr sty 08, 2020 8:54 pm

Witam, to mój pierwszy post na nowym forum i nie do końca wiem czy to będzie odpowiedni dział.. do rzeczy:
Postanowiłem zrobić sobie wyświetlacz dla wybranych odczytów z nettempa na HMI Nextion. Komunikacja z nim jest poprzez rs232 i zasadniczo może być tylko w jedną stronę. Aby takową komunikację uzyskać i żeby HMI mogło być po wifi(esp8266 z espEasy) postanowiłem postawić mostek WIFI-RS232 za pomocą socat - wirtualny COM
Żeby nettemp wysyłał dane do HMI przerobiłem lcd.php ,tak żeby nie podawał danych do lcd, ale do /dev/virtualcom0 po odpowiednim sformatowaniu.
Wszystko działała mi fajnie na układzie testowym na nettemp 4.1.28 , ale po przeniesieniu tego patentu na 4.9.1 i po uruchomieniu pliku lcd.php wywala się sprawa, że nie może odczytać bazy danych i że nie zna zmiennej $date ale z nią bym sobie poradził. Okazało się że "oryginalny" lcd.php też robi ten błąd więc pewnie będzie o coś chodziło po drodze od tej starszej wersji do 4.9.1.
Wreszcie pytanie moje do zacnych forumowiczów, jak to ugryźć, żeby ta baza danych jednak mogła być odczytywana.

Poniżej foto działającego HMI, może kogoś zainteresuje ten temat bo do w sumie dobre i relatywnie "tanie" ustrojstwa

Pozdrawiam :)
Zdjęcie od Łukasz.jpg
Zdjęcie od Łukasz.jpg (94.75 KiB) Przejrzano 431 razy

coolturka
Posty: 48
Rejestracja: pn lip 15, 2019 12:44 pm
Otrzymał  piwo: 1 raz

Re: TFT NEXTION

#2

Post autor: coolturka » śr sty 08, 2020 11:42 pm

Witam, fajny post. Nie za bardzo jestem w stanie odpowiedzieć na pytanie, ale interesuje mnie ile cali ma ten wyświetlacz?
Awatar użytkownika

pimowo
beta tester
Posty: 97
Rejestracja: ndz cze 30, 2019 11:21 pm
Postawił piwo: 2 razy
Otrzymał  piwo: 1 raz

Re: TFT NEXTION

#3

Post autor: pimowo » czw sty 09, 2020 2:19 am

coolturka pisze:
śr sty 08, 2020 11:42 pm
interesuje mnie ile cali ma ten wyświetlacz?
Pewnie 3-3.5" ale popatrz na aliexpress jest tego sporo i w różnych rozmiarach.
NetTemp -> HP MicroServer N54L & Raspberry Pi 3B

Topic author
tasior1802
Posty: 14
Rejestracja: wt sty 07, 2020 7:52 pm

Re: TFT NEXTION

#4

Post autor: tasior1802 » czw sty 09, 2020 8:01 am

Ten konkretny ma 2.4 cala https://elty.pl/pl/p/Nextion-2.4-TFT-32 ... 4T024/1627 , ale tak jak kolega wyżej pisze , jest tego pełno na ali i pod tym krajowym linkiem który podałem (jeśli nie można takich linków to proszę admina o usunięcie - nie mam nic z jego zamieszczenia :) )

Może jeszcze raz napiszę do czego się sprowadza mój problem z nettempem. Otóż najprawdopodobniej w wersji którą mam 4.9.1 , nie działa obsługa LCD 16x2 ani innego, bo nie może odczytać bazy danych.

Pozdrawiam
Awatar użytkownika

pasiekazj
Twórca oprogramowania
Posty: 190
Rejestracja: pn lip 01, 2019 12:08 pm
Otrzymał  piwo: 14 razy
Kontakt:

Re: TFT NEXTION

#5

Post autor: pasiekazj » czw sty 09, 2020 8:32 am

tasior1802 pisze:
czw sty 09, 2020 8:01 am
Ten konkretny ma 2.4 cala https://elty.pl/pl/p/Nextion-2.4-TFT-32 ... 4T024/1627 , ale tak jak kolega wyżej pisze , jest tego pełno na ali i pod tym krajowym linkiem który podałem (jeśli nie można takich linków to proszę admina o usunięcie - nie mam nic z jego zamieszczenia :) )

Może jeszcze raz napiszę do czego się sprowadza mój problem z nettempem. Otóż najprawdopodobniej w wersji którą mam 4.9.1 , nie działa obsługa LCD 16x2 ani innego, bo nie może odczytać bazy danych.

Pozdrawiam
pokaż dokładnie jakie błędy dostajesz i wrzuć ten przerobiony skrypt do wglądu.
Rpi 4 + SSD 240 GB + nettemp.
http://mmblog.pl

Topic author
tasior1802
Posty: 14
Rejestracja: wt sty 07, 2020 7:52 pm

Re: TFT NEXTION

#6

Post autor: tasior1802 » czw sty 09, 2020 5:24 pm

Kod: Zaznacz cały

//socat  pty,link=/dev/virtualcom0,raw  tcp:192.168.5.46:23&

<?php
$ROOT=dirname(dirname(dirname(__FILE__)));

try {
    $db = new PDO("sqlite:$ROOT/dbf/nettemp.db");
    $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
} catch (Exception $e) {
    echo $date." Could not connect to the database.\n";
    exit;
}

echo "ok";


require($ROOT.'/modules/settings/nt_settings.php');
if( $NT_SETTINGS['lcdmode'] == 'adv' || ( $NT_SETTINGS['lcd'] != 'on' && $NT_SETTINGS['lcd4'] != 'on' ) ){
    exit;
}

$query = $db->query("SELECT * FROM types");
$result_t = $query->fetchAll();


$sth = $db->query("SELECT * FROM nt_settings");
$sth->execute();
$result = $sth->fetchAll();
foreach ($result as $a) {
	if($a['option']=='temp_scale') {
		$nts_temp_scale=$a['value'];
	}
}

$sth = $db->prepare("SELECT name,tmp,type FROM sensors WHERE lcd='on' ORDER BY position ASC, id ASC");
$sth->execute();
$result = $sth->fetchAll();

$lcd=array();
foreach ($result as $a) {
    foreach($result_t as $ty){
        if($ty['type']==$a['type']){
            if(($nts_temp_scale == 'F')&&($a['type']=='temp')){
                $unit='F';
            } elseif(($nts_temp_scale == 'C')&&($a['type']=='temp')){
                $unit='d';
            } else {
                $unit=$ty['unit'];
            }
            $lcd[]=$a['name'].".txt=".chr(34).$a['tmp'].chr(34).chr(255).chr(255).chr(255);


 //$lcd[]=$a['name'].".".$a['tmp']."".$unit."\n";


 	 }
    }
}

//$lfile = "$ROOT/tmp/lcd";
//$fh = fopen($lfile, 'w');
//fwrite($fh, date("y-m-d H:i")."\n");
//foreach ($lcd as $line) {
//    fwrite($fh, $line);
   // echo"($fh, $line)";
//print_r($lcd);
//echo '<pre>'; print_r($lcd); echo '</pre>';
//echo json_encode($lcd);

//}
//fclose($fh);

$lfile = "/dev/virtualcom0";
$fh = fopen($lfile, 'w');

$clk="clock.txt=".chr(34).date("H:i").chr(34).chr(255).chr(255).chr(255);
fwrite($fh, $clk);
$clk="dim=50".chr(255).chr(255).chr(255);
fwrite($fh, $clk);
foreach ($lcd as $line) {
    fwrite($fh, $line);
print_r($lcd);

}
fclose($fh);

?>
po wydaniu:
root@ubuntu:~# php -q /var/www/nettemp/modules/lcd/lcd.php
dostaję odpowiedź
Could not connect to the database.
Awatar użytkownika

pasiekazj
Twórca oprogramowania
Posty: 190
Rejestracja: pn lip 01, 2019 12:08 pm
Otrzymał  piwo: 14 razy
Kontakt:

Re: TFT NEXTION

#7

Post autor: pasiekazj » czw sty 09, 2020 6:31 pm

Wrzuciłem to do siebie i nie wywala tego błędu. Musisz mieć skopane coś w innym miejscu.
Rpi 4 + SSD 240 GB + nettemp.
http://mmblog.pl

Topic author
tasior1802
Posty: 14
Rejestracja: wt sty 07, 2020 7:52 pm

Re: TFT NEXTION

#8

Post autor: tasior1802 » czw sty 09, 2020 7:08 pm

Już działa ! , okazało się że nie miałem mariadb-client-10.0. Troszeczkę mnie zmyliło to, że reszta nettempa działała :). Teraz mam pytanie czy da się jakoś w tym kodzie lcd.php zaszyć , żeby ten socat nawiązywał połączenie z esp za każdym wywołaniem (czyli co minutę), robił to co robi i zamykał połączenie ?

coolturka
Posty: 48
Rejestracja: pn lip 15, 2019 12:44 pm
Otrzymał  piwo: 1 raz

Re: TFT NEXTION

#9

Post autor: coolturka » czw sty 09, 2020 8:24 pm

Już jakiś czas przyglądam sie tematowi wyświetlaczy (lub nawet jakieś proste tablety) w rozmiarze 7-10cali. Z tych podanych tez maja wielkości 7 i 10 cali. Generalnie chodzi mi o wyświetlanie temperatur w pokojach, temp ustawionej i czy boiler chodzi czy nie. Taki bardziej zaawansowany kontroler ogrzewania powieszony w centrum domu. No i nie jest potrzebna cała strona nt ze wszystkimi odczytami. Nawet już przeglądałem jakieś smart kontrolery ogrzewania i zeby to dołączyć do nt. Ale nt przeciez to wszystko może wiec po co dublować... No i sam nie wiem w sumie jak ugryźć temat.
Awatar użytkownika

pasiekazj
Twórca oprogramowania
Posty: 190
Rejestracja: pn lip 01, 2019 12:08 pm
Otrzymał  piwo: 14 razy
Kontakt:

Re: TFT NEXTION

#10

Post autor: pasiekazj » pt sty 10, 2020 7:55 pm

coolturka pisze:
czw sty 09, 2020 8:24 pm
Już jakiś czas przyglądam sie tematowi wyświetlaczy (lub nawet jakieś proste tablety) w rozmiarze 7-10cali. Z tych podanych tez maja wielkości 7 i 10 cali. Generalnie chodzi mi o wyświetlanie temperatur w pokojach, temp ustawionej i czy boiler chodzi czy nie. Taki bardziej zaawansowany kontroler ogrzewania powieszony w centrum domu. No i nie jest potrzebna cała strona nt ze wszystkimi odczytami. Nawet już przeglądałem jakieś smart kontrolery ogrzewania i zeby to dołączyć do nt. Ale nt przeciez to wszystko może wiec po co dublować... No i sam nie wiem w sumie jak ugryźć temat.
Tablet - gdzieś nawet robiłem pierwsze przymiarki do tematu, ale jak zwykle czasu brak.
Rpi 4 + SSD 240 GB + nettemp.
http://mmblog.pl

Topic author
tasior1802
Posty: 14
Rejestracja: wt sty 07, 2020 7:52 pm

Re: TFT NEXTION

#11

Post autor: tasior1802 » pt sty 10, 2020 10:29 pm

Ja swego czasu zrobiłem odczyt na starym smartfonie LG, z założenia miało non stop wyświetlać pewne odczyty. Chodziło to kilka ok 2 miesiące aż pewnego razu się zwiesiło. Zastałem zresetowany smartfon z "nadętą" baterią i tyle było rumakowania w temacie ciągłej pracy na ładowarce. Niby wiadomo że smartfon ładuje baterię dość inteligentnie, ale co mu odwaliło ? ... Stąd drążę temat NEXTIONA, na moje potrzeby wystarcza, a trzeba zaznaczyć, że on oczywiście jest dotykowy i każde kliknięcie można łatwo oprogramować i komendę wysłać do nettempa i zrobić coś bardziej interaktywnego.

W zasadzie mógłbym stąd zapytać , jaka jest możliwość na to żeby dane z portu rs232 przerzucić do receiver.php tak, żeby można było z np. atmegi przez COM wysyłać odczyty do nettempa? (mam taki projekt webasto LPG który chciałbym znettempować ... )

swiezak
beta tester
Posty: 40
Rejestracja: ndz cze 30, 2019 10:10 pm
Postawił piwo: 7 razy
Otrzymał  piwo: 1 raz

Re: TFT NEXTION

#12

Post autor: swiezak » sob sty 11, 2020 4:22 pm

u mnie od roku mam zrobioną matrycę z laptopa15,6cala , kontroler z aliexpress i do tego pizero- Uruchomiony MagicMirror a na nim: dane z NT, dane z kalendarza google (wszyscy domownicy mogą dodawać zdarzenia) pogoda z darksky oraz fotoramka. LCD włącza sie o 7:30 i o 23 idzie spać. działa bezawaryjnie od roku- aż sam sie dziwię że tak długo:D
Awatar użytkownika

arTii
beta tester
Posty: 108
Rejestracja: ndz cze 30, 2019 7:04 pm
Lokalizacja: Rzeszów
Postawił piwo: 2 razy
Otrzymał  piwo: 2 razy
Kontakt:

Re: TFT NEXTION

#13

Post autor: arTii » wt sty 14, 2020 11:00 pm

tasior1802 pisze:
czw sty 09, 2020 8:01 am
Ten konkretny ma 2.4 cala https://elty.pl/pl/p/Nextion-2.4-TFT-32 ... 4T024/1627 , ale tak jak kolega wyżej pisze , jest tego pełno na ali i pod tym krajowym linkiem który podałem (jeśli nie można takich linków to proszę admina o usunięcie - nie mam nic z jego zamieszczenia :) )
Śmiało można umieszczać takie linki. Wszystko co przydatne do nettemp jest mile widziane.
DOKUMENTACJA NetTemp w trakcie opracowywania - poszukujemy chętnych do pomocy przy współtworzeniu wiki
Pomoc online - kontaktuj się przez [url=gg://14211]Gadu-Gadu[/url] - podaj swój nick z forum i napisz że jesteś z forum :) Jeśli będę umiał, to pomogę.
ODPOWIEDZ