-Verwenden Sie Anaconda (um die Python-Ausführungsumgebung zu vereinfachen)
Es sind fünf Knoten erforderlich. Verbinden Sie die folgenden Knoten in der folgenden Reihenfolge.
Beschreibungsbild zum Funktionsknoten
msg.select = "SELECT val"
msg.from = "FROM public.sensordata "
msg.where = "where sensor ='Feuchtigkeitssensor'"
msg.orderBy = "order by datetime desc"
msg.limit = "limit 1000"
msg.payload = msg.select
msg.payload += " " + msg.from
msg.payload += " " + msg.where
msg.payload += " " + msg.orderBy
msg.payload += " " + msg.limit
return msg;
Beschreibungsbild zum Funktionsknoten
//Beispiel) msg.rootpath = "C:\\temp\\conda"
//Beispiel) msg.Zeitstempel vom Injektionsknoten abrufen
msg.filename = msg.rootpath + "\\indata\\" + msg.timestamp + ".csv";
return msg;
Es werden zwei Knoten benötigt. Verbinden Sie die folgenden Knoten in der folgenden Reihenfolge.
Beschreibungsbild zum Funktionsknoten
//Vollständiger Pfad der auszuführenden Bat-Datei Beispiel)"C:\\temp\\conda\\ExecPython.bat"* Von der bat-Datei, die das angegebene Python-Programm ausführt
msg.command = msg.execPythonCmd
//1. Argument Beispiel)"test.py"* Dateiname des auszuführenden Python-Programms
msg.arg_1 = msg.execPythonNm
//2. Argument Beispiel) I zum auszuführenden Python-Programm/F (Eingabedatei)
msg.arg_2 = "indata\\" + msg.timestamp + ".csv"
//3. Argument Beispiel) I zum auszuführenden Python-Programm/F (Ausgabedatei)
msg.arg_3 = "outdata\\" + msg.timestamp + ".csv"
msg.payload = msg.command + " " + msg.arg_1 + " " + msg.arg_2 + " " + msg.arg_3
return msg;
ExecPython.bat
In den Rem-Ausführungsordner verschieben
rem Beispiel) C.:\temp\Wenn die Ausführungsumgebung unter Bedingungen vorbereitet wurde
cd /d C:\temp\conda
Aktivieren Sie rem conda
call activateConda.bat
Führen Sie rem Python aus
rem %1:Auszuführender Python-Dateiname
rem %1~7:Argumente, die Python ausführen soll
python %1 %2 %3 %4 %5 %6 %7
activateConda.bat
conda activate [Umgebungsname, den Sie aktivieren möchten Beispiel) Basis]
test.py
import sys
#Argumente abrufen
args = sys.argv
import pandas as pd
sensordata = pd.read_csv(args[1])
print(sensordata.describe())
sensordata.describe().to_csv(args[2], index=True)
Die in 3 und 4 beschriebenen Dateien werden wie folgt gespeichert.
Bereiten Sie den in 1 und 2 beschriebenen Ablauf vor. Die Verwaltung ist möglicherweise einfacher, wenn Sie die für die Ausführung im Funktionsknoten erforderlichen Informationen wie unten gezeigt beschreiben.
Einstellung der Ausführungsbedingungen
msg.timestamp = msg.payload
msg.rootpath = "C:\\temp\\conda"
msg.execPythonCmd = "C:\\temp\\conda\\ExecPython.bat"
msg.execPythonNm = "test.py"
return msg;
Lesen Sie die im Indata-Ordner gespeicherte CSV-Datei und geben Sie einfache Statistiken in den Outdata-Ordner aus
"Node-RED" als IoT-Plattform, "Anaconda + Python + Jupyter Notebook" als Data Science-Plattform Ich denke, das kann erwähnt werden, aber ich gehe davon aus, dass DX voranschreiten wird, wenn diese nahtlos miteinander verbunden sind.
Recommended Posts