TP Nodered
TP API GET/POST
Introduction
Exemples
https://developer.twitter.com/en/docs/api-reference-index
https://openweathermap.org/current
Installation de NodeRed
Windows
- Installer nodeJS 10.x : https://nodejs.org/en/
- Lancer la console (cliquer sur Windows en bas à gauche, taper cmd le raccourci devrait apparaître)
- Taper npm install -g --unsafe-perm node-red
- Lancer nodeRed en tapant node-red (dans la console toujours)
Autres OS
https://nodered.org/docs/getting-started/local
A faire
Créer une API répondant aux demandes suivantes :
- GET /test : renvoie "coucou"
- GET /timestamp : renvoie le temps actuel en heure Posix (aussi appelé temps Unix ou Unix timestamp). Il sera exprimé en seconde.
- GET /multiplication?number1=xxx&number2=yyy : renvoie le résultat de xxx*yyy
- POST /insertmyname : renvoie "My name is xxx" xxx étant un prénom passer dans le body du message (indice NodeRED : c'est ce qui est passé dans msg.payload ;) )
- GET /velomag : renvoie le nombre de place(s) de vélo disponible(s) à la vélo-station Euromédecine (id = 41)
Liens utiles
Aide dates en node js : https://usefulangle.com/post/187/nodejs-get-date-time
Open Data Montpellier : https://data.montpellier3m.fr/dataset/disponibilite-des-places-velomagg-en-temps-reel/resource/adb98f8d-c4d2-4012-8abe
Evaluation
Quand vous estimez avoir terminé, et seulement après ça, un script automatique va tester votre travail. Attention vous n'avez droit qu'à un essai. Suivez les étapes suivantes :
- Connecter vous au point d'accès (SSID = AP_EPSI_4G Mot de passe = epsi123456).
- Récupérer votre propre adresse IP (soit dans les menus de votre OS, soit en ligne de commande, elle doit avoir la forme 192.168.30.x x étant compris en entre 100 et 200). Dans la suite des explications elle sera notée IP_ELEVE.
- Demander au professeur l'adresse IP du serveur. Dans la suite des explications elle sera notée IP_SERVEUR.
- Dans votre navigateur, tapez :
IP_SERVEUR:1880/evaluation?nom=VOTRE_NOM&prenom=VOTRE_PRENOM&ip=IP_ELEVE:1880&pass=VOTRE_MOT_DE_PASSE_EPSI
Exemple :192.168.30.100:1880/evaluation?nom=Dupont&prenom=Martin&ip=192.168.30.105:1880&pass=123ABC
Note : on part du principe que autant côté serveur qu'élève, NodeRed tourne sous le port 1880. Dans le cas contraire, voir avec le professeur. - Le script va alors récupérer les informations dans l'URL, tester votre API et vous donner le résultat au format JSON que vous pouvez copier/coller ici par exemple pour plus de lisibilité.
No Comments