-Utiliser Anaconda (pour faciliter l'environnement d'exécution Python)
Cinq nœuds sont requis. Rejoignez les nœuds suivants dans l'ordre suivant.
Image de description du nœud de fonction
msg.select = "SELECT val"
msg.from = "FROM public.sensordata "
msg.where = "where sensor ='Capteur d'humidité'"
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;
Image de description du nœud de fonction
//Exemple) msg.rootpath = "C:\\temp\\conda"
//Exemple) msg.Obtenir l'horodatage du nœud d'injection
msg.filename = msg.rootpath + "\\indata\\" + msg.timestamp + ".csv";
return msg;
Deux nœuds sont nécessaires. Rejoignez les nœuds suivants dans l'ordre suivant.
--Spécifiez une commande + un argument dans *** msg.payload afin que la commande d'exécution puisse être spécifiée arbitrairement *** (Normalement, la commande est directement spécifiée dans le nœud exec, mais dans ce cas, elle ne peut pas être modifiée)
* Il semble que la commande soit exécutée avec la valeur de réglage de la commande du noeud exec + vide + msg.payload
Image de description du nœud de fonction
//Chemin complet du fichier bat à exécuter Exemple)"C:\\temp\\conda\\ExecPython.bat"* Du fichier bat qui exécute le programme Python spécifié
msg.command = msg.execPythonCmd
//1er exemple d'argument)"test.py"* Nom de fichier du programme Python à exécuter
msg.arg_1 = msg.execPythonNm
//2ème argument Exemple) I au programme Python à exécuter/F (fichier d'entrée)
msg.arg_2 = "indata\\" + msg.timestamp + ".csv"
//3ème argument Exemple) I au programme Python à exécuter/F (fichier de sortie)
msg.arg_3 = "outdata\\" + msg.timestamp + ".csv"
msg.payload = msg.command + " " + msg.arg_1 + " " + msg.arg_2 + " " + msg.arg_3
return msg;
ExecPython.bat
Déplacer vers le dossier d'exécution de rem
rem Exemple) C:\temp\Lorsque l'environnement d'exécution a été préparé sous conda
cd /d C:\temp\conda
Activer rem conda
call activateConda.bat
Exécutez rem Python
rem %1:Nom du fichier Python à exécuter
rem %1~7:Arguments à Python à exécuter
python %1 %2 %3 %4 %5 %6 %7
activateConda.bat
conda activate [Nom de l'environnement que vous souhaitez activer Exemple) base]
test.py
import sys
#Obtenir des arguments
args = sys.argv
import pandas as pd
sensordata = pd.read_csv(args[1])
print(sensordata.describe())
sensordata.describe().to_csv(args[2], index=True)
Les fichiers décrits en 3 et 4 sont stockés comme suit.
Préparez le flux décrit en 1 et 2. Cela peut être plus facile à gérer si vous décrivez les informations requises pour l'exécution dans le nœud de fonction comme indiqué ci-dessous.
Paramétrage des conditions d'exécution
msg.timestamp = msg.payload
msg.rootpath = "C:\\temp\\conda"
msg.execPythonCmd = "C:\\temp\\conda\\ExecPython.bat"
msg.execPythonNm = "test.py"
return msg;
Lire le fichier csv stocké dans le dossier indata et générer des statistiques simples dans le dossier outdata
«Node-RED» en tant que plateforme IoT, «Anaconda + Python + Jupyter Notebook» en tant que plateforme de science des données Je pense que cela peut être mentionné, mais je pense que DX progressera si ceux-ci sont connectés de manière transparente.
Recommended Posts