Skip to content
  • Kategorien
  • World
  • Aktuell
  • Tags
  • Beliebt
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
linux-nerds.org

linux-nerds.org

  1. Übersicht
  2. Allgemeine Diskussionen
  3. Feinstaubsensor bauen - Teil 3 Daten sammeln!

Feinstaubsensor bauen - Teil 3 Daten sammeln!

Geplant Angeheftet Gesperrt Verschoben Allgemeine Diskussionen
arduinofeinstaubumwelt
12 Beiträge 2 Kommentatoren 842 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • FrankMF Offline
    FrankMF Offline
    FrankM
    schrieb am zuletzt editiert von FrankM
    #1

    Da der Sensor läuft und fleißig die Daten versendet, kommt die Frage auf, wie sammel ich die Daten selber? Der Sensor schickt die Daten, einmal zu luftdaten.info und madavi.de (beides abschaltbar). Im Konfigurationsmenü gibt es auch die Möglichkeit die Daten an einen eigenen Server zu schicken. Das wollen wir dann mal probieren 😉

    c7ca1d19-4648-4b28-9117-3b2762e90451-grafik.png

    In dem Bild sieht man die Serveradresse und das Script was aufgerufen wird. Aber wir fangen mal vorne an. Schnell mal ein bionic-minimal vom Kamil flashen, den ROCKPro64 starten, ein paar Grundeinstellungen vornehmen und fertig zum Arbeiten. Was brauchen wir? Ich möchte die Daten mittels eines PHP-Scriptes sammeln um sie später weiter zu verarbeiten.

    Hardware

    • ROCKPro64 v2.1 2GB RAM

    Software

    • NGINX
    • php7.2
    • php7.2-fpm

    Installation

    sudo apt update
    sudo apt upgrade
    sudo apt install nginx
    sudo apt-get install php7.2
    sudo apt-get install php7.2-mysql php7.2-opcache php7.2-readline php7.2-xml php7.2-xsl php7.2-zip
    sudo apt-get install php7.2-cli php7.2-curl php7.2-gd php7.2-geoip php7.2-intl php7.2-json php7.2-mbstring
    sudo apt install php7.2-fpm
    

    Danach sollte alles installiert sein, was wir brauchen.

    Config NGINX

    Datei /etc/nginx/sites-available/default

    upstream php-handler {
        #server 127.0.0.1:9000;
        server unix:/run/php/php7.2-fpm.sock;
    }
    
    
    
    
    
    server {
            listen 80;
            #listen [::]:80;
    
            root /var/www/feinstaub;
    
            index index.html index.htm index.php;
    
            server_name feinstaub.local;
    
            location /feinstaub {
                        try_files $uri $uri/ =404;
            }
    
    
            ## Begin - PHP
            location ~ \.php$ {
            # Choose either a socket or TCP/IP address
            fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
            # fastcgi_pass unix:/var/run/php5-fpm.sock; #legacy
            # fastcgi_pass 127.0.0.1:9000;
    
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
    
            }
    }
    

    Nix besonderes. fpm macht den php-handler. Unter /var/www/feinstaub liegen die Scripte. Der Server soll unter feinstaub.local erreichbar sein. Bitte drauf achten, das ihr den ROCKPro64 aus dem WLan Netz erreichen könnt!! Bei mir hat der ROCKPro64 ein WiFi-Modul 🙂

    NGINX neustarten

     sudo service nginx restart
    

    PHP Script

    Das Script heißt bei mir sensor.php, aber das Script habe ich mir bei github besorgt 😉

    <?php
    // read sensor ID ('esp8266-'+ChipID)
    $headers = array();
    if (isset($_SERVER['HTTP_SENSOR'])) $headers['Sensor'] = $_SERVER['HTTP_SENSOR'];
    if (isset($_SERVER['HTTP_X_SENSOR']))$headers['Sensor'] = $_SERVER['HTTP_X_SENSOR'];
    $json = file_get_contents('php://input');
    $results = json_decode($json,true);
    header_remove();
    $now = gmstrftime("%Y/%m/%d %H:%M:%S");
    $today = gmstrftime("%Y-%m-%d");
    // copy sensor data values to values array
    foreach ($results["sensordatavalues"] as $sensordatavalues) {
    	$values[$sensordatavalues["value_type"]] = $sensordatavalues["value"];
    }
    // print transmitted values
    echo "Sensor: ".$headers['Sensor']."\r\n";
    // check if data dir exists, create if not
    if (!file_exists('data')) {
    	mkdir('data', 0755, true);
    }
    // save data values to CSV (one per day)
    $datafile = "data/data-".$headers['Sensor']."-".$today.".csv";
    if (!file_exists($datafile)) {
    	$outfile = fopen($datafile,"a");
    	fwrite($outfile,"Time;durP1;ratioP1;P1;durP2;ratioP2;P2;SDS_P1;SDS_P2;Temp;Humidity;BMP_temperature;BMP_pressure;BME280_temperature;BME280_humidity;BME280_pressure;Samples;Min_cycle;Max_cycle;Signal\n");
    	fclose($outfile);
    }
    if (! isset($values["durP1"])) { $values["durP1"] = ""; }
    if (! isset($values["ratioP1"])) { $values["ratioP1"] = ""; }
    if (! isset($values["P1"])) { $values["P1"] = ""; }
    if (! isset($values["durP2"])) { $values["durP2"] = ""; }
    if (! isset($values["ratioP2"])) { $values["ratioP2"] = ""; }
    if (! isset($values["P2"])) { $values["P2"] = ""; }
    if (! isset($values["SDS_P1"])) { $values["SDS_P1"] = ""; }
    if (! isset($values["SDS_P2"])) { $values["SDS_P2"] = ""; }
    if (! isset($values["temperature"])) { $values["temperature"] = ""; }
    if (! isset($values["humidity"])) { $values["humidity"] = ""; }
    if (! isset($values["BMP_temperature"])) { $values["BMP_temperature"] = ""; }
    if (! isset($values["BMP_pressure"])) { $values["BMP_pressure"] = ""; }
    if (! isset($values["BME280_temperature"])) { $values["BME280_temperature"] = ""; }
    if (! isset($values["BME280_humidity"])) { $values["BME280_humidity"] = ""; }
    if (! isset($values["BME280_pressure"])) { $values["BME280_pressure"] = ""; }
    if (! isset($values["samples"])) { $values["samples"] = ""; }
    if (! isset($values["min_micro"])) { $values["min_micro"] = ""; }
    if (! isset($values["max_micro"])) { $values["max_micro"] = ""; }
    if (! isset($values["signal"])) { $values["signal"] = ""; } else { $values["signal"] = substr($values["signal"],0,-4); }
    $outfile = fopen($datafile,"a");
    fwrite($outfile,$now.";".$values["durP1"].";".$values["ratioP1"].";".$values["P1"].";".$values["durP2"].";".$values["ratioP2"].";".$values["P2"].";".$values["SDS_P1"].";".$values["SDS_P2"].";".$values["temperature"].";".$values["humidity"].";".$values["BMP_temperature"].";".$values["BMP_pressure"].";".$values["BME280_temperature"].";".$values["BME280_humidity"].";".$values["BME280_pressure"].";".$values["samples"].";".$values["min_micro"].";".$values["max_micro"].";".$values["signal"]."\n");
    fclose($outfile);
    ?>
    ok
    

    Quelle: https://github.com/opendata-stuttgart/madavi-api/blob/master/data_simple.php

    Daten sammeln

    Wenn nun alles richtig eingestellt ist, richtiger User nicht vergessen, dann sendet der Sensor jetzt jede Messung auch an meinen Server. Dort werden die Daten laufend in eine Datei geschrieben. Unter /var/www/feinstaub sieht ed nun so aus.

    rock64@rockpro64:/var/www/feinstaub$ ls -la
    total 24
    drwxr-xr-x 3 www-data www-data 4096 Apr 25 17:12 .
    drwxr-xr-x 4 www-data www-data 4096 Apr 25 15:58 ..
    drwxr-xr-x 2 www-data www-data 4096 Apr 25 16:42 data
    -rw-r--r-- 1 www-data www-data 3002 Apr 25 16:25 sensor.php
    

    Bei erfolreichem Aufrufen des PHP-Scriptes sensor.php wird der Ordner data erstellt. Der Inhalt von data

    rock64@rockpro64:/var/www/feinstaub/data$ ls -la
    total 20
    drwxr-xr-x 2 www-data www-data 4096 Apr 25 16:42 .
    drwxr-xr-x 3 www-data www-data 4096 Apr 25 17:12 ..
    -rw-r--r-- 1 www-data www-data 5509 Apr 25 20:23 data-esp8266-6699172-2019-04-25.csv
    

    Die Datei data-esp8266-6699172-2019-04-25.csv sieht so aus

    Time;durP1;ratioP1;P1;durP2;ratioP2;P2;SDS_P1;SDS_P2;Temp;Humidity;BMP_temperature;BMP_pressure;BME280_temperature;BME280_humidity;BME280_pressure;Samples;Min_cycle;Max_cycle;Signal
    2019/04/25 14:42:50;;;;;;;1.17;0.50;22.50;42.10;;;;;;1796422;74;28755;
    2019/04/25 14:45:20;;;;;;;2.08;0.60;22.40;42.50;;;;;;1655847;78;3357460;
    2019/04/25 15:24:59;;;;;;;2.43;0.70;22.50;43.70;;;;;;1747274;74;3377214;
    2019/04/25 15:27:28;;;;;;;2.65;0.90;22.50;43.70;;;;;;1711103;78;3377252;
    2019/04/25 15:29:56;;;;;;;1.65;0.70;22.30;43.20;;;;;;1725072;78;3373681;
    2019/04/25 15:32:26;;;;;;;2.23;0.70;22.30;43.90;;;;;;1736164;78;3549313;
    2019/04/25 15:34:56;;;;;;;1.90;0.90;22.40;43.40;;;;;;1725120;78;3377246;
    2019/04/25 15:37:32;;;;;;;4.17;0.90;22.50;43.80;;;;;;1729504;77;3377270;
    2019/04/25 15:40:19;;;;;;;2.20;0.80;22.40;44.20;;;;;;1714131;78;3577189;
    2019/04/25 15:42:49;;;;;;;2.02;0.70;22.50;43.60;;;;;;1713417;79;3377210;
    2019/04/25 15:45:38;;;;;;;3.33;0.90;22.60;43.40;;;;;;1706914;79;3381377;
    2019/04/25 15:48:07;;;;;;;3.03;1.00;22.70;43.70;;;;;;1719691;79;3614753;
    2019/04/25 15:50:36;;;;;;;2.20;0.80;22.60;43.70;;;;;;1687313;77;3377189;
    2019/04/25 15:53:04;;;;;;;2.43;0.80;22.60;44.20;;;;;;1688286;80;3577174;
    2019/04/25 15:55:33;;;;;;;2.20;0.90;22.60;44.60;;;;;;1690723;80;3377253;
    2019/04/25 15:58:01;;;;;;;2.83;0.80;22.50;44.30;;;;;;1690430;80;3377182;
    2019/04/25 16:00:34;;;;;;;2.50;0.90;22.40;44.70;;;;;;1690602;80;3377452;
    2019/04/25 16:03:04;;;;;;;2.95;0.95;22.40;44.10;;;;;;1681235;80;3398026;
    2019/04/25 16:05:32;;;;;;;2.90;0.90;22.40;44.20;;;;;;1688991;80;3529394;
    2019/04/25 16:08:01;;;;;;;2.27;0.75;22.40;44.20;;;;;;1690484;80;3377245;
    

    Im nächsten Teil versuche ich das Ganze mal was netter aufzubereiten.

    Wie immer der Hinweis, das ist im Netz nicht sicher!! NUR für lokale Server im eigenen Netzwerk benutzen!

    Die anderen Teile
    Teil 1
    Teil 2

    Links

    https://luftdaten.info/feinstaubsensor-bauen/

    Ecxellente Anleitung!! Danke dafür!!
    https://blog.helmutkarger.de/feinstaubsensor-teil-1-jetzt-messen-wir-selber/

    Link Preview Image
    APIs

    Opendata Stuttgart organisiert und reguliert. Contribute to opendata-stuttgart/meta development by creating an account on GitHub.

    favicon

    GitHub (github.com)

    Im Fediverse -> @FrankM@nrw.social

    1. NanoPi R5S
    2. Quartz64 Model B, 4GB RAM
    3. Quartz64 Model A, 4GB RAM
    4. RockPro64 v2.1
    1 Antwort Letzte Antwort
    0
    • FrankMF Offline
      FrankMF Offline
      FrankM
      schrieb am zuletzt editiert von
      #2

      NEIN, das ist nicht schön!

      a034c194-d452-46db-a382-1d928fae0ca3-grafik.png

      Das geht besser 🙂

      Im Fediverse -> @FrankM@nrw.social

      1. NanoPi R5S
      2. Quartz64 Model B, 4GB RAM
      3. Quartz64 Model A, 4GB RAM
      4. RockPro64 v2.1
      1 Antwort Letzte Antwort
      0
      • FrankMF Offline
        FrankMF Offline
        FrankM
        schrieb am zuletzt editiert von
        #3

        Es geht voran 😉

        0ac2b50a-d7b4-4f42-a436-4359da3cf985-grafik.png

        Im Fediverse -> @FrankM@nrw.social

        1. NanoPi R5S
        2. Quartz64 Model B, 4GB RAM
        3. Quartz64 Model A, 4GB RAM
        4. RockPro64 v2.1
        1 Antwort Letzte Antwort
        0
        • FrankMF Offline
          FrankMF Offline
          FrankM
          schrieb am zuletzt editiert von
          #4

          Heute mal ein wenig weiter dran gebastelt. Die Daten landen jetzt in einer Datenbank. Und das ist im Moment die aktuelle Tabelle.

          2fafe29d-4f13-4de5-a417-d6cbea9d3a69-grafik.png

          Im Fediverse -> @FrankM@nrw.social

          1. NanoPi R5S
          2. Quartz64 Model B, 4GB RAM
          3. Quartz64 Model A, 4GB RAM
          4. RockPro64 v2.1
          1 Antwort Letzte Antwort
          0
          • FrankMF Offline
            FrankMF Offline
            FrankM
            schrieb am zuletzt editiert von
            #5

            Bedingt durch eine Erkrankung, habe ich ein wenig Zeit über. Da fällt einem ja irgendwann die Decke auf den Kopf, also ablenken....

            61791adf-fc7f-45b2-b7e7-d7bd108da5c3-grafik.png

            Mal die Tabelle hübsch gemacht und noch eine Monatsansicht gebastelt. Das war nicht so ganz einfach, vermutlich habe ich wieder zu kompliziert gedacht 😉 Das Problem war folgendes.

            • jeweils ein Datensatz pro Tag
            • jeweils zu einer fixen Uhrzeit

            Und hier kommt das Problem, für die Datensätze nehmen wir 07:00 Uhr an, die sind aber oft zu einer anderen Zeit gespeichert. Es gibt so Ungenauigkeiten, des Sensors(?), das ich die Datensätze so um

            • 07:00
            • 07:01
            • 07:02

            in der Datenbank stehen habe. Macht es für mich MySQL-Experten 🙂 schon etwas schwierig. Meine PDO-Abfrage sah so aus.

            $statement = $pdo->prepare("SELECT * FROM feinstaub WHERE datum = :date AND time = :time");
            

            Und was nun? Das Datum ist nicht so das Ding, einfach mit

            while($i < 31)
            

            durchlaufen und fertig. Aber was mache ich mit der Zeit 🤔 Ich habe dann nach vielen Versuchen einfach folgendes gemacht. Ich schaue in der Datenbank nach, ob es Einträge für 07:00 gibt, wenn JA setze ich die Zeit 07:00, wenn NEIN suche ich nach Einträgen mit 07:01 usw.

            Beispiel für 07:00

            $b_time = '07:00' ;
            $statement = $pdo->prepare("SELECT * FROM feinstaub WHERE datum = :date AND time = :time");
            $statement->execute(array('date' => $date3, 'time' => $b_time)); 
            
            if($statement->rowCount() > 0) {
               $a_time = '07:00' ;
            } 
            

            Das noch für 07:01 & 07:02 und fertig. Jetzt holt er alle Datensätze aus der DB, und zwar jeweils eine am Tag, den ersten ab 07:00 Uhr.

            Wer eine elegantere Lösung kennt, immer her damit. Ich lerne gerne 🙂

            Im Fediverse -> @FrankM@nrw.social

            1. NanoPi R5S
            2. Quartz64 Model B, 4GB RAM
            3. Quartz64 Model A, 4GB RAM
            4. RockPro64 v2.1
            1 Antwort Letzte Antwort
            0
            • J Offline
              J Offline
              JimiBondi
              schrieb am zuletzt editiert von FrankM
              #6

              Hallo,

              ich will die Daten nach dem Auslesen in die Datenbank (mysql) schreiben. Dies gelingt mir auch zum teil. Die feinstaub-db beinhaltet die Spalten:
              BMP_pressure
              BMP_temperature
              humidity
              SDS_P1
              SDS_P2
              signalqual
              temperature
              timestamp

              Es wird aber nur timestamp, SDS_P1 und 2, temperature mit den Werten gefüllt. Alle anderen werden mit einer "1" aufgefüllt. Rufe ich die data.json direkt auf werden alle Werte einwandfrei aufgezeigt. Anbei das php-script:

              <?php
              
              $json = file_get_contents('http://192.xxx.x.xxx/data.json');
              $json_ergebnis=json_decode($json);
              //$daten = json_decode($json);
              //$sensoren = $daten["sensordatavalues"];
              //$schluessel = array("SDS_P1", "SDS_P2", "temperature", "humidity", "signal");
              $SDS_P1=$json_ergebnis->sensordatavalues[0]->value;
              $SDS_P2=$json_ergebnis->sensordatavalues[1]->value;
              //$BMP_pressure=$json_ergebnis->sensordatavalues[2]>value;
              $temperature=$json_ergebnis->sensordatavalues[2]->value;
              $signalqual=$json_ergebnis->sensordatavalues[3]>value;
              $humidity=$json_ergebnis->sensordatavalues[3]>value;
              $BMP_temperature=$json_ergebnis->sensordatavalues[4]>value;
              $BMP_pressure=$json_ergebnis->sensordatavalues[5]>value;
              
              $servername = "localhost";
              $username = "xx";
              $password = "xxxxxxxx";
              $dbname = "feinstaub";
              
              // Check connection
              
              $conn = new mysqli($servername, $username, $password, $dbname);
              if ($conn->connect_error) {
              die("Connection failed: " . $connection->connect_error);
              }
              
              $sql = "INSERT INTO werte(SDS_P1, SDS_P2, temperature, humidity, signalqual, BMP_pressure, BMP_temperature) VALUES ($SDS_P1, $SDS_P2, $temperature,  $humidity, $signal>
              
              
              if ($conn->query($sql) === TRUE) {
              echo "Eintrag war erfolgreich";
              } else {
              echo "Error: " . $sql . " " . $conn->error;
              }
              
              $conn->close();
              ?>
              

              Hat jemand eine Ahnung warum die mysql eine 1 schreibt. Habe die Spalten mit den verschiedensten db-Typen getestet. Wie geschrieben nur eine teilweise richtiges Speichern.

              mfg
              JimiBondi

              FrankMF 1 Antwort Letzte Antwort
              1
              • J JimiBondi

                Hallo,

                ich will die Daten nach dem Auslesen in die Datenbank (mysql) schreiben. Dies gelingt mir auch zum teil. Die feinstaub-db beinhaltet die Spalten:
                BMP_pressure
                BMP_temperature
                humidity
                SDS_P1
                SDS_P2
                signalqual
                temperature
                timestamp

                Es wird aber nur timestamp, SDS_P1 und 2, temperature mit den Werten gefüllt. Alle anderen werden mit einer "1" aufgefüllt. Rufe ich die data.json direkt auf werden alle Werte einwandfrei aufgezeigt. Anbei das php-script:

                <?php
                
                $json = file_get_contents('http://192.xxx.x.xxx/data.json');
                $json_ergebnis=json_decode($json);
                //$daten = json_decode($json);
                //$sensoren = $daten["sensordatavalues"];
                //$schluessel = array("SDS_P1", "SDS_P2", "temperature", "humidity", "signal");
                $SDS_P1=$json_ergebnis->sensordatavalues[0]->value;
                $SDS_P2=$json_ergebnis->sensordatavalues[1]->value;
                //$BMP_pressure=$json_ergebnis->sensordatavalues[2]>value;
                $temperature=$json_ergebnis->sensordatavalues[2]->value;
                $signalqual=$json_ergebnis->sensordatavalues[3]>value;
                $humidity=$json_ergebnis->sensordatavalues[3]>value;
                $BMP_temperature=$json_ergebnis->sensordatavalues[4]>value;
                $BMP_pressure=$json_ergebnis->sensordatavalues[5]>value;
                
                $servername = "localhost";
                $username = "xx";
                $password = "xxxxxxxx";
                $dbname = "feinstaub";
                
                // Check connection
                
                $conn = new mysqli($servername, $username, $password, $dbname);
                if ($conn->connect_error) {
                die("Connection failed: " . $connection->connect_error);
                }
                
                $sql = "INSERT INTO werte(SDS_P1, SDS_P2, temperature, humidity, signalqual, BMP_pressure, BMP_temperature) VALUES ($SDS_P1, $SDS_P2, $temperature,  $humidity, $signal>
                
                
                if ($conn->query($sql) === TRUE) {
                echo "Eintrag war erfolgreich";
                } else {
                echo "Error: " . $sql . " " . $conn->error;
                }
                
                $conn->close();
                ?>
                

                Hat jemand eine Ahnung warum die mysql eine 1 schreibt. Habe die Spalten mit den verschiedensten db-Typen getestet. Wie geschrieben nur eine teilweise richtiges Speichern.

                mfg
                JimiBondi

                FrankMF Offline
                FrankMF Offline
                FrankM
                schrieb am zuletzt editiert von
                #7

                @jimibondi Ich habe dein PHP-Script mal schön gemacht. 😉 Einrücken mit 4 Leerzeichen!

                Zum Thema, ich schau da mal rein, wenn ich mal Zeit habe. Hast du mal ein Beispiel deiner data.json?

                Im Fediverse -> @FrankM@nrw.social

                1. NanoPi R5S
                2. Quartz64 Model B, 4GB RAM
                3. Quartz64 Model A, 4GB RAM
                4. RockPro64 v2.1
                1 Antwort Letzte Antwort
                0
                • FrankMF Offline
                  FrankMF Offline
                  FrankM
                  schrieb am zuletzt editiert von
                  #8

                  Schau mal hier Mehr Daten kommen doch gar nicht vom Sensor? Bin aber schon lange nicht mehr im Thema...

                  Webseite ist nur ein Gerippe 🙂

                  Im Fediverse -> @FrankM@nrw.social

                  1. NanoPi R5S
                  2. Quartz64 Model B, 4GB RAM
                  3. Quartz64 Model A, 4GB RAM
                  4. RockPro64 v2.1
                  1 Antwort Letzte Antwort
                  0
                  • J Offline
                    J Offline
                    JimiBondi
                    schrieb am zuletzt editiert von
                    #9

                    Hallo,

                    im Link werden die Werte für Feinstaub, Temp und Luftfeuchte ausgegeben. Bei mir steht die Feuchte in der DB auf "1". Die anderen Werte werden richtig ausgegeben. Für den BMP180. Die .json gibt jedoch mehr Variablen aus. Siehe wie folgt:

                    {"software_version": "NRZ-2020-133", "age":"2", "sensordatavalues":[{"value_type":"SDS_P1","value":"2.53"},{"value_type":"SDS_P2","value":"1.30"},{"value_type":"temperature","value":"24.40"},{"value_type":"humidity","value":"47.30"},{"value_type":"BMP_pressure","value":"95201.00"},{"value_type":"BMP_temperature","value":"23.70"},{"value_type":"samples","value":"336095"},{"value_type":"min_micro","value":"28"},{"value_type":"max_micro","value":"5770"},{"value_type":"interval","value":"10000"},{"value_type":"signal","value":"-57"}]}

                    Danke für die Hilfe.

                    mfg JB

                    1 Antwort Letzte Antwort
                    0
                    • J Offline
                      J Offline
                      JimiBondi
                      schrieb am zuletzt editiert von
                      #10

                      Ich bin darauf gestossen, dass nicht DB die "1! anstelle den wahren Wert schreibt, sondern es wird so anscheinend aus dem PHP-Script so geliefert. Siehe die drei rechten Werte u.s. >>(2.08,1.15,26.40,1,1 ,1):

                      Fehler: INSERT INTO werte(SDS_P1, SDS_P2, Temperatur, Feuchtigkeit, BMP_Druck, BMP_Temperatur) VALUES (2.08,1.15,26.40,1,1 ,1) Feld 'signalqual' hat keinen Standardwert

                      Die "data.json" liefert aber alle realen Werte ohne Ausnahme. Es liegt daher tatsächlich an der Wandlung nach dem Einlesen der .json und der Übergabe an die MySQL.

                      Hat da jemand etwas Erfahrung mit .json?

                      DAnke.

                      mfg
                      JB

                      1 Antwort Letzte Antwort
                      0
                      • J Offline
                        J Offline
                        JimiBondi
                        schrieb am zuletzt editiert von
                        #11

                        Hallo,

                        das Problem hat sich gelöst. Server neu aufgesetzt und siehe da, es funzt. Danke.

                        mfg
                        JB

                        FrankMF 1 Antwort Letzte Antwort
                        1
                        • J JimiBondi

                          Hallo,

                          das Problem hat sich gelöst. Server neu aufgesetzt und siehe da, es funzt. Danke.

                          mfg
                          JB

                          FrankMF Offline
                          FrankMF Offline
                          FrankM
                          schrieb am zuletzt editiert von
                          #12

                          @jimibondi Danke für's Feedback. Aber schade, das Du nicht die Ursache gefunden hast.

                          Im Fediverse -> @FrankM@nrw.social

                          1. NanoPi R5S
                          2. Quartz64 Model B, 4GB RAM
                          3. Quartz64 Model A, 4GB RAM
                          4. RockPro64 v2.1
                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          • FrankMF

                            MSI B650 Tomahawk WiFi Teil 2

                            Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Allgemeine Diskussionen msi linux
                            1
                            0 Stimmen
                            1 Beiträge
                            273 Aufrufe
                            Niemand hat geantwortet
                          • FrankMF

                            Ne­ben­kos­ten­pri­vi­leg - MagentaTV

                            Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Allgemeine Diskussionen magentatv
                            1
                            4
                            0 Stimmen
                            1 Beiträge
                            227 Aufrufe
                            Niemand hat geantwortet
                          • FrankMF

                            Frohes Neues 2024

                            Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Allgemeine Diskussionen ki-generiert
                            1
                            1
                            0 Stimmen
                            1 Beiträge
                            122 Aufrufe
                            Niemand hat geantwortet
                          • FrankMF

                            10 Jahre M$ frei

                            Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Allgemeine Diskussionen
                            1
                            0 Stimmen
                            1 Beiträge
                            111 Aufrufe
                            Niemand hat geantwortet
                          • FrankMF

                            Give back to open source 2023

                            Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Allgemeine Diskussionen linux opensource
                            1
                            0 Stimmen
                            1 Beiträge
                            135 Aufrufe
                            Niemand hat geantwortet
                          • FrankMF

                            Fritz!Box - Update auf Version 7.57 Dringend!

                            Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Allgemeine Diskussionen avm fritzbox
                            1
                            1
                            0 Stimmen
                            1 Beiträge
                            226 Aufrufe
                            Niemand hat geantwortet
                          • FrankMF

                            Feinstaubsensor bauen - Teil 2 Hardware verdrahten

                            Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Allgemeine Diskussionen arduino feinstaub umwelt
                            1
                            2
                            0 Stimmen
                            1 Beiträge
                            281 Aufrufe
                            Niemand hat geantwortet
                          • FrankMF

                            Feinstaubsensor bauen - Teil 1 NodeMCU

                            Beobachtet Ignoriert Geplant Angeheftet Gesperrt Verschoben Allgemeine Diskussionen arduino feinstaub umwelt
                            1
                            3
                            0 Stimmen
                            1 Beiträge
                            292 Aufrufe
                            Niemand hat geantwortet
                          Powered by NodeBB | Contributors
                          © 2022 frank-mankel.de
                          Fediverse
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Kategorien
                          • World
                          • Aktuell
                          • Tags
                          • Beliebt