76 (edytowany przez zdzichu6969 2013-12-19 12:44:21)

Odp: Pierwszy termometr

A można generować lokalnie i wysyłać na osobny serwer  jednocześnie ?
Chodzi o skrypt bbarwika

RB760iGS + RB260GS / Ryzen 5 2660 / 16G DDR4 / MiniITX - Inea 1G (https://i.imgur.com/TLbJVDw.png)
RB951-2HnD / Celeron J1900 / 4G DDR3 / MiniITX - Satpol 100M

77

Odp: Pierwszy termometr

A coś stoi na przeszkodzie żeby to zrobić?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

78

Odp: Pierwszy termometr

Cezary napisał/a:

A coś stoi na przeszkodzie żeby to zrobić?


pewnie know-how... w zasadzie to też bym chętnie się dowiedział....

79

Odp: Pierwszy termometr

Skrypt zbiera dane do pliku. A później ten plik jest wykorzystywany jako źródło danych do wykresu. Więc... zbierajcie dane do pliku a potem go prześlijcie na drugi serwer? Tak po prostu?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

80

Odp: Pierwszy termometr

Tak dla ułatwienia smile

scp plik uzytkownik@serwer:nazwa_folderu/nazwa_pliku

Tylko wcześniej trzeba wygenerować klucz dla ssh co by nie pytało o hasło do serwera za każdym razem

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

81

Odp: Pierwszy termometr

Zmodyfikowałem trochę skrypt bbarwika, tak że zapisuje dokładnie te same informacje do pliku o nazwie jak numer seryjny czujnika z rozszerzeniem .txt
Potrzeba zmiany wynika z tego, że jak dodaje kolejny czujnik to "rozjeżdżają" się numery id.

Niestety dalej nie mogę sobie poradzić z wyciąganiem tych danych z pliku - wynika to z nieznajomości php.

Napiszcie proszę co zmodyfikować żeby skrypt czytał dane z plików gdzie id=SN czujnika.

pliki z danymi mają np. nazwy:
28B6AECC00000011.txt

Tablicy o takiej długości się nie da zadeklarować...
Może jakieś mapowania wewnętrzne z sn na ID np. sortując po SN rosnąco...

<?php
$temp = array(); $obecna = array();
// Trzeba uzupelnic nazwy
// Jeszcze tam na dole trzeba tez pozmieniac
$temp[0] = "Sypialnia";
$temp[1] = "Salon";
$temp[2] = "PokĂłj Martynki";
$temp[3] = "Na ZewnÄ…trz";
//$temp[4] = "Łazienka";
//$temp[5] = "PokĂłj Bartosza";
//$temp[6] = "Salon";
//$temp[7] = "Zewnątrz (cień)";
// obecna temp
$f = file_get_contents("/root/meteo.txt");
$e = explode("Sensor ",$f); unset($e[0]);
foreach($e as $v) {
    $e1 = explode(" ",$v);
    $id = $e1[0];
    $t = $e1[2];
    $obecna[($id)] = "".$t."°C";
}
if(!isset($_GET['id']))
    $_GET['id'] = 6;
?>
<!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Temperatura</title>

        <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>




        <script type="text/javascript">




$(function() {
    $.getJSON('data.php?id=<?php echo $_GET['id']; ?>', function(data) {



Highcharts.setOptions({
lang: {
months: ['Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec',
'Lipiec', 'Śierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień'],
//months: ['Sty', 'Lut', 'Mar', 'Kwi', 'Maj', 'Cze',
//'Lip', 'Ĺšie', 'Wrz', 'PaĹş', 'Lis', 'Gru'],
weekdays: ['Nie', 'Pon', 'Wt', 'Ĺšr', 'Czw', 'Pt', 'Sob']
},
global: {
    useUTC: false
    }

}),


        // Create the chart


        window.chart = new Highcharts.StockChart({
            chart: {
                renderTo: 'container'
            },
xAxis: {
        type: 'datetime',
        dateTimeLabelFormats: {
        second: '%d-%m-%y<br/>%H:%M:%S',
        minute: '%d-%m<br/>%H:%M',
//        minute: '%d-%m-%y<br/>%H:%M',
        hour: '%d-%m<br/>%H:%M',
//        hour: '%d-%m-%y<br/>%H:%M',
        day: '%Y<br/>%d-%m',
        week: '%Y<br/>%d-%m',
        month: '%m-%Y',
        year: '%Y'
        }
    },



            rangeSelector: {
buttons: [{
    type: 'day',
    count: 1,
    text: '1d'
}, {
    type: 'day',
    count: 7,
    text: '7d'
}, {
    type: 'month',
    count: 1,
    text: '1m'
}, {
    type: 'year',
    count: 1,
    text: '1rok'
}, {
    type: 'all',
    text: 'All'
}],
                selected: 0
            },

            title: {
                text: 'Temperatura - <?php echo $temp[($_GET['id'])]; ?>'
            },
            

yAxis: {
        title: {
            text: 'Temperatura ( °C )'
        }
        },

            series: [{
                name: 'Temperatura',
                data: data,
                type: 'spline',
            shadow : true,
                tooltip: {
                    valueDecimals: 2,
                valueSuffix: ' °C'
                }
            }]
        });
    });
});
        </script>
    </head>
    <body>
<script src="js/highstock.js"></script>
<script src="js/modules/exporting.js"></script>

<script type="text/javascript" src="js/themes/gray.js"></script>

<b>Temperatura by BBarwik</b>
<table rules="all" border=1 width="80%"><tr width="80%">
<td align="center"><a href="?id=28B6AECC00000011">SALON</a></td>
<td align="center"><a href="?id=5">POKĂ“J BARTOSZA</a></td>
<td align="center"><a href="?id=2">POKĂ“J DAGMARY</a></td>
<td align="center"><a href="?id=0">SYPIALNIA</a></td>
<td align="center"><a href="?id=4">ŁAZIENKA</a></td>
<td align="center"><a href="?id=3">STRYCH</a></td>
<td align="center"><a href="?id=1">ZEWNĄTRZ (słońce)</a></td>
<td align="center"><a href="?id=7">ZEWNĄTRZ (cień)</a></td></tr>
<td align="center"><b><?php echo $obecna[6]; ?></b></td>
<td align="center"><b><?php echo $obecna[5]; ?></b></td>
<td align="center"><b><?php echo $obecna[2]; ?></b></td>
<td align="center"><b><?php echo $obecna[0]; ?></b></td>
<td align="center"><b><?php echo $obecna[4]; ?></b></td>
<td align="center"><b><?php echo $obecna[3]; ?></b></td>
<td align="center"><b><?php echo $obecna[1]; ?></b></td>
<td align="center"><b><?php echo $obecna[7]; ?></b></td>
</table><br>
<div id="container" style="height: 500px"></div>
    </body>
</html>

82

Odp: Pierwszy termometr

Już sobie poradziłem, zrobiłem

 ln -s 28B6AECC00000011.txt 0.txt 

Teraz po dodaniu termometru nie będzie zamieszania.
Pozdr.

83

Odp: Pierwszy termometr

bbarwik napisał/a:

Dostałem urządzenie smile
Działa jak należy, poprosiłem żeby nie montować od razu przełączników. Dodatkowo dostałem wejście I/O widoczne po prawej stronie i tu pojawia się pytanie. Czy wie ktoś jak je obsłużyć (działa, jest na nim napięcie ok 5V)
http://s22.postimg.org/7zdyod5ep/IMG_20131004_134142.jpg


zamieniłem "trzy słowa" z producentem tej płytki, chłopak jest ogarnięty i wszystko projektuje sam, jest to hobby a nie sposób na zarabianie więc rozwija się od kilku lat....

wejścia są na przełączniki/włączniki/styczniki co tam sobie zapragniesz i zaprogramujesz, w tej chwili nie są oprogramowane przez niego ale widać że płytka "na wyrost" bo nawet wejście na czujniki 1wire jest smile
ma dotrzeć do mnie niebawem więc będzie kolejny do testowania.

84

Odp: Pierwszy termometr

Koledzy mam pytanie, bo nie umię wyświetlić wykresów na stronie jest tylko tabelka.
Odczyt z czujników ma taką formę zapisu ( mam oskryptowany odczyt)

Dec 28 19:29:25 Sensor 0 C: 20.56 F: 69.01
Dec 28 19:29:26 Sensor 1 C: 22.19 F: 71.94
Dec 28 19:29:27 Sensor 2 C: 44.31 F: 111.76
.
.
.

ponieważ nie wiem dlaczego przy konwerterze MP00200A odczyt z digitemp_DS2490 -a wygląda następująco i tylko z jednego czujnika

DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Found DS2490 device #1 at 001/005
Dec 26 23:36:53 Sensor 0 C: 20.69 F: 69.24

po wydaniu komendy /usr/bin/php-cli /root/meteo.php dostaję wynik

PHP Warning:  Module 'mysql' already loaded in Unknown on line 0

Fatal error: Call to undefined function file_exist() in /root/meteo.php on line 13

a, że nie znam php prośba o pomoc co jest nie tak

85

Odp: Pierwszy termometr

migos napisał/a:

Koledzy mam pytanie, bo nie umię wyświetlić wykresów na stronie jest tylko tabelka.
Odczyt z czujników ma taką formę zapisu ( mam oskryptowany odczyt)

Dec 28 19:29:25 Sensor 0 C: 20.56 F: 69.01
Dec 28 19:29:26 Sensor 1 C: 22.19 F: 71.94
Dec 28 19:29:27 Sensor 2 C: 44.31 F: 111.76
.
.
.

ponieważ nie wiem dlaczego przy konwerterze MP00200A odczyt z digitemp_DS2490 -a wygląda następująco i tylko z jednego czujnika

DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Found DS2490 device #1 at 001/005
Dec 26 23:36:53 Sensor 0 C: 20.69 F: 69.24

po wydaniu komendy /usr/bin/php-cli /root/meteo.php dostaję wynik

PHP Warning:  Module 'mysql' already loaded in Unknown on line 0

Fatal error: Call to undefined function file_exist() in /root/meteo.php on line 13

a, że nie znam php prośba o pomoc co jest nie tak


1) w jaki sposób zapisujesz "do bazy" txt/sql/mysql etc.
2) co jest w 13 wierszu?
"Call to undefined function file_exist() in /root/meteo.php on line 13"

86

Odp: Pierwszy termometr

Tommi napisał/a:

1) w jaki sposób zapisujesz "do bazy" txt/sql/mysql etc.
2) co jest w 13 wierszu?
"Call to undefined function file_exist() in /root/meteo.php on line 13"

ad.1 Zapisane jest do bazy jako meteo.txt w katalogu root

ad.2 if(file_exist("/www1/".$id.".txt"))
po przeniesieniu bazy meteo.txt do katalogu www1 dalej jest to samo sad

87

Odp: Pierwszy termometr

migos napisał/a:
Tommi napisał/a:

1) w jaki sposób zapisujesz "do bazy" txt/sql/mysql etc.
2) co jest w 13 wierszu?
"Call to undefined function file_exist() in /root/meteo.php on line 13"

ad.1 Zapisane jest do bazy jako meteo.txt w katalogu root

ad.2 if(file_exist("/www1/".$id.".txt"))
po przeniesieniu bazy meteo.txt do katalogu www1 dalej jest to samo sad

Coś zamotane. ..
Meteo.txt zawiera info o czujnikach z ostatnim "nie obrobionym" odczytem, pliki id.txt to pliki "bazy" ale każdy plik to inny czujnik, do tego powinien być jeden plik który zawiera ostatnie odczyty.

88

Odp: Pierwszy termometr

Swoją drogą ktoś z chwilą czasu mógłby przerobić skrypt z obsługą SQL a nie plików tekstowych.
Ja próbowałem ale kompletnie nic nie wychodziło;)

RB760iGS + RB260GS / Ryzen 5 2660 / 16G DDR4 / MiniITX - Inea 1G (https://i.imgur.com/TLbJVDw.png)
RB951-2HnD / Celeron J1900 / 4G DDR3 / MiniITX - Satpol 100M

89

Odp: Pierwszy termometr

Tommi napisał/a:

Meteo.txt zawiera info o czujnikach z ostatnim "nie obrobionym" odczytem, pliki id.txt

Mam go w takiej formie z powodu powyższego opisu i niewiem czy jest on dobry

Dec 29 22:01:24 Sensor 0 C: 20.50 F: 68.90
Dec 29 22:01:25 Sensor 1 C: 21.56 F: 70.81
Dec 29 22:01:26 Sensor 2 C: 40.38 F: 104.68
Dec 29 22:01:27 Sensor 3 C: 32.00 F: 89.60
Dec 29 22:01:28 Sensor 4 C: 32.13 F: 89.82
Dec 29 22:01:29 Sensor 5 C: 45.63 F: 114.13
Dec 29 22:01:31 Sensor 7 C: 3.19 F: 37.74
Dec 29 22:01:32 Sensor 8 C: 21.50 F: 70.70
Dec 29 22:01:33 Sensor 9 C: 31.06 F: 87.91
Dec 29 22:01:34 Sensor 10 C: 46.75 F: 116.15
Dec 29 22:01:35 Sensor 11 C: 41.19 F: 106.14
Dec 29 22:01:36 Sensor 12 C: 35.75 F: 96.35
Dec 29 22:01:37 Sensor 13 C: 5.69 F: 42.24
Dec 29 22:01:38 Sensor 14 C: 33.38 F: 92.07
Dec 29 22:01:39 Sensor 15 C: 6.56 F: 43.81
Dec 29 22:01:40 Sensor 18 C: 41.50 F: 106.70
Dec 29 22:01:41 Sensor 17 C: 37.25 F: 99.05
Dec 29 22:01:43 Sensor 18 C: 41.50 F: 106.70
Dec 29 22:01:44 Sensor 19 C: 43.19 F: 109.74
Tommi napisał/a:

ale każdy plik to inny czujnik, do tego powinien być jeden plik który zawiera ostatnie odczyty.

Jak mają wyglądać te pliki i gdzie on jest umieszczony?

90

Odp: Pierwszy termometr

migos napisał/a:

Mam go w takiej formie z powodu powyższego opisu i niewiem czy jest on dobry

Dec 29 22:01:24 Sensor 0 C: 20.50 F: 68.90
Dec 29 22:01:25 Sensor 1 C: 21.56 F: 70.81
Dec 29 22:01:26 Sensor 2 C: 40.38 F: 104.68
Dec 29 22:01:27 Sensor 3 C: 32.00 F: 89.60
Dec 29 22:01:28 Sensor 4 C: 32.13 F: 89.82
Dec 29 22:01:29 Sensor 5 C: 45.63 F: 114.13
Dec 29 22:01:31 Sensor 7 C: 3.19 F: 37.74
Dec 29 22:01:32 Sensor 8 C: 21.50 F: 70.70
Dec 29 22:01:33 Sensor 9 C: 31.06 F: 87.91
Dec 29 22:01:34 Sensor 10 C: 46.75 F: 116.15
Dec 29 22:01:35 Sensor 11 C: 41.19 F: 106.14
Dec 29 22:01:36 Sensor 12 C: 35.75 F: 96.35
Dec 29 22:01:37 Sensor 13 C: 5.69 F: 42.24
Dec 29 22:01:38 Sensor 14 C: 33.38 F: 92.07
Dec 29 22:01:39 Sensor 15 C: 6.56 F: 43.81
Dec 29 22:01:40 Sensor 18 C: 41.50 F: 106.70
Dec 29 22:01:41 Sensor 17 C: 37.25 F: 99.05
Dec 29 22:01:43 Sensor 18 C: 41.50 F: 106.70
Dec 29 22:01:44 Sensor 19 C: 43.19 F: 109.74

imo jest ok.

migos napisał/a:

Jak mają wyglądać te pliki i gdzie on jest umieszczony?

meteo.php

    $path = "/www1/"; // Sciezka gdzie bedzie zapisywalo dane,
    system("digitemp_DS9097U -a > meteo2.txt && mv meteo2.txt meteo.txt");
    ini_set( 'date.timezone', 'Europe/Berlin' );
    $a = array();
    $e = explode("Sensor ",file_get_contents("meteo.txt")); unset($e[0]); //bierze z pliku meteo.txt dane do generowania baz
    foreach($e as $v) {
        $e1 = explode(" ",$v);
        $id = $e1[0]; // Id Termometra
        $temp = $e1[2]; // Temperatura na termometrze
        if(file_exists($path.$id.".txt"))
            file_put_contents($path.$id.".txt",",[".time(NULL)."000,".$temp."]",FILE_APPEND);
        else
            file_put_contents($path.$id.".txt","[".time(NULL)."000,".$temp."]",FILE_APPEND);        
        $a[($id)] = $temp;
    }
    file_put_contents($path."last.txt",serialize($a)); // ostatnie dane
?>

ten skrypt w folderze www1 utworzy tyle plików txt ile masz czujników.
w kazdym bedzie cos takiego
[1386017405000,23.50],[1386018005000,23.50],
data/czas/temp w stopniachC

91

Odp: Pierwszy termometr

migos napisał/a:
Tommi napisał/a:

1) w jaki sposób zapisujesz "do bazy" txt/sql/mysql etc.
2) co jest w 13 wierszu?
"Call to undefined function file_exist() in /root/meteo.php on line 13"

ad.1 Zapisane jest do bazy jako meteo.txt w katalogu root

ad.2 if(file_exist("/www1/".$id.".txt"))
po przeniesieniu bazy meteo.txt do katalogu www1 dalej jest to samo sad

Masz literówkę, powinno być file_exists( a masz file_exist(

Archer C7 v.2 + LEDE by Cezary http://beta.speedtest.net/pl/result/6621599402

92

Odp: Pierwszy termometr

snifer napisał/a:

Masz literówkę, powinno być file_exists( a masz file_exist(

Dzięki bardzio snifer. To było to smile
Wynika z tego, że błąd już jest w plikach zapodanych przez kolegi bbarwik

P.S.
Czy ten kod odpowiada też za wyświetlenie wszystkich wykresów na jednym obrazku? bo mam tylko jeden wykreślony wykres i każdy z osobna mogę sobie też podejrzeć, ale razem wszystkich nie sad

93

Odp: Pierwszy termometr

A oskryptował ktoś juz Digitempa tak, żeby zapisywało do bazdy mysql ?

RB760iGS + RB260GS / Ryzen 5 2660 / 16G DDR4 / MiniITX - Inea 1G (https://i.imgur.com/TLbJVDw.png)
RB951-2HnD / Celeron J1900 / 4G DDR3 / MiniITX - Satpol 100M

94

Odp: Pierwszy termometr

http://eko.one.pl/?p=Termometr identycznie, z tym że ja postgresqla miałem.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

95 (edytowany przez zdzichu6969 2014-01-08 17:38:12)

Odp: Pierwszy termometr

Miałem na myśli juz gotowca, bo próbowałem coś zrobić, coś podobnego do Twojego, nie udało sie, poszedłęm na kompromis i napisalem skrypt do munina ale on mnie nie satysfakcjonuje..

RB760iGS + RB260GS / Ryzen 5 2660 / 16G DDR4 / MiniITX - Inea 1G (https://i.imgur.com/TLbJVDw.png)
RB951-2HnD / Celeron J1900 / 4G DDR3 / MiniITX - Satpol 100M

96

Odp: Pierwszy termometr

Ja wykorzystałem hosting z php i bazą mysql do archiwizowania wyników, bo na routerze mam oczywiście ograniczone zasoby.

Zrobiłem prosty skrypcik odczytujący temperaturę i przekazujący ją wgetem do serwera www.

wartosci="`digitemp_DS9097U -a -q -o "temperatura=%.2C&czujnik=%R"`"
wget -s -q http://serwer.www/temperatura.php?$wartosci


A na serwerze plik "temperatura.php" pobiera dwie wartości "temperatura" i "czujnik" i zapisuje te wartości do bazy danych wraz z aktualną datą.

97 (edytowany przez zdzichu6969 2014-01-09 19:39:40)

Odp: Pierwszy termometr

uzylem dtgraph v0.4n ale wygla srednio, mimo to działa z bazą mysql

p.s. wygląd jest tali że tak powiem staro wyglądający, jak ktoś by miał kod normalnie wyglądającego, np jak u Cezarego to chętnie przyjmę

RB760iGS + RB260GS / Ryzen 5 2660 / 16G DDR4 / MiniITX - Inea 1G (https://i.imgur.com/TLbJVDw.png)
RB951-2HnD / Celeron J1900 / 4G DDR3 / MiniITX - Satpol 100M

98 (edytowany przez xrace 2014-01-13 12:29:04)

Odp: Pierwszy termometr

No to i ja się pochwalę działającą stacją:
HW:WRT160nl + USB HUB + external root + interfejs 1-Wire (MP00202) + 2 czujniki DS18S20
Wiem że miałem możliwość wyciągnięcia z routera GPIO i dam wpiąć się czujnikami, ale prościej było podłączyć interfejs do huba pod USB (sam router znajduje się w miejscu małodostępnym)

Efekt końcowy wygląda tak:

http://rtrdialog.dyndns.org:9090/temp.html

Wykresy będą odwzorowywać pomiary z dwóch dni (ostatnie 288 pomiarów, określone przez skrypt tail).
Odczyty następują co 10 minut. Skrypt gettemp.sh rzucony do crona:

root@Gargoyle:~# cat /usr/sbin/gettemp.sh
#!/bin/sh
echo `digitemp_DS9097U -t 1 -a -q -o "%Y-%m-%d %H:%M:%S %.2C"` >> /tmp/usb_mount/dev_sda3/termometr/inside.txt
echo `digitemp_DS9097U -t 0 -a -q -o "%Y-%m-%d %H:%M:%S %.2C"` >> /tmp/usb_mount/dev_sda3/termometr/outside.txt


tail -288 /tmp/usb_mount/dev_sda3/termometr/inside.txt > /tmp/data_inside.txt
tail -288 /tmp/usb_mount/dev_sda3/termometr/outside.txt > /tmp/data_outside.txt

GNUPLOT_COMMAND="/tmp/gnuplot_cmd"
touch ${GNUPLOT_COMMAND}

cat > ${GNUPLOT_COMMAND} << __EOF__
set terminal png small size 800,500
set output '/www/temp.png'
set title "Wykres temperatury"
set xlabel "godzina"
set timefmt "%Y-%m-%d %H:%M:%S"
set xdata time
set ylabel "temperatura °C"
set format x "%d%b %H:%M "
set grid
set key left

#same_usrednione
plot '/tmp/data_inside.txt' using 1:3 smooth bezier t 'Inside' with lines lt rgb "red" lw 3, '/tmp/data_outside.txt' using 1:3 smooth bezier t 'Outside' with lines lt rgb "blue" lw 3

#################################################
# INSIDE
set output '/www/tempi.png'
set title "Wykres temperatury INSIDE"
plot '/tmp/data_inside.txt' using 1:3 t 'dane rzeczywiste inside' with lines lt 3, '/tmp/data_inside.txt' using 1:3 smooth bezier t 'dane usrednione inside' with lines lt rgb "red" lw 3


#################################################
# OUTSIDE
set output '/www/tempo.png'
set title "Wykres temperatury OUTSIDE"
plot '/tmp/data_outside.txt' using 1:3 t 'dane rzeczywiste outside' with lines lt 3, '/tmp/data_outside.txt' using 1:3 smooth bezier t 'dane usrednione outside' with lines lt rgb "red" lw 3

quit
__EOF__

gnuplot ${GNUPLOT_COMMAND}
rm ${GNUPLOT_COMMAND}

99

Odp: Pierwszy termometr

"Strona internetowa jest niedostępna"

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

100

Odp: Pierwszy termometr

U mnie to samo

RB760iGS + RB260GS / Ryzen 5 2660 / 16G DDR4 / MiniITX - Inea 1G (https://i.imgur.com/TLbJVDw.png)
RB951-2HnD / Celeron J1900 / 4G DDR3 / MiniITX - Satpol 100M