WiPy-IoT-Nano-Rest: Transformer un WiPy en Serveur Rest et contrôler des relais
Un petit avant goût d'un projet qui sera prochainement disponible sur notre Wiki. En attendant, vous pouvez déjà découvrir le code de WiPy-IoT-nano-rest sur GitHub
WiPy Rest Server for IOT
Le but principal du projet Wipy-IoT-nano-Rest est de transformer un WiPy 1 en un valeureux nano serveur Rest proposant une interface de programmation (API) confortable pour facilement prendre le contrôle de vos objets.
L'API est basée sur les expressions régulière et JSon. Pour un début de projet (voyez "irelay" plus bas), nanoRest est plutôt stable.
Qui qu'il est soit, le projet devrait également être compatible avec WiPy 2
Pourquoi des WiPy 1 ?
De nos jours, le WiPy 2 est disponible sur le marché... et des centaines de WiPy 1 prennent la poussière sur nos bancs de bricolage... Ce serait une bonne idée de leur trouver une utilisé permettant de les revaloriser.
D'où le projet Wipy-IoT-nano-Rest !
Attention à la sécurité!
Bon, le WiPy 1 n'a pas de support TSL et SSL, tout ce qui est envoyé sur le réseau est envoyé en clair.
C'est la raison pour laquelle pour laquelle il faut réserver vos projet sur votre réseau local (voyez nos autres recommandations dans la section "about security")
iRelay - une première démo de nanoRest
Comme première démo du serveur nanoRest, nous avons voulu prendre le contrôle d'une carte relais.
iRelay transforme une carte 4 relais en un "relais IoT WiFi" en utilisant un WiPy.
Le WiPy démarrera un serveur local qui répond au requêtes REST. Les requêtes peur être envoyées depuis un navigateur Web, des commandes Curl, du code Python (depuis un Raspberry-Pi) ou même du code CSharp.
Les détails de iRelay sont disponibles dans le répertoire de documentation (y compris l'installation).
Il est possible de démarrer le projet manuellement en saisissant quelques lignes de code:
Une fois satisfait de vos premiers essais, il est possible de faire en sorte que le projet démarre automatiquement dès la mise sous tension.
Il suffit de copier le fichier main-irelay.py dans votre fichier main.py de votre WiPy.
Quelques tests
Une fois en route, vous pouvez tester le montage avec:
Un navigateur internet
Utilitaire curl
Ou avec des commandes curl... utilitaire couramment utilisé sur Linux
Avec Python
C'est ce qui est vraiment magique avec les API REST... il est également possible les employer avec n'importe quel environnement (ou presque).
Voici un exemple plus élaboré
Plus d'information
N'hésitez pas à consulter les pages suivantes du projet (en anglais). Vous y trouverez de nombreuses information (et également l'API REST de iRelay)
Dominique
WiPy Rest Server for IOT
Le but principal du projet Wipy-IoT-nano-Rest est de transformer un WiPy 1 en un valeureux nano serveur Rest proposant une interface de programmation (API) confortable pour facilement prendre le contrôle de vos objets.
L'API est basée sur les expressions régulière et JSon. Pour un début de projet (voyez "irelay" plus bas), nanoRest est plutôt stable.
Qui qu'il est soit, le projet devrait également être compatible avec WiPy 2
Pourquoi des WiPy 1 ?
De nos jours, le WiPy 2 est disponible sur le marché... et des centaines de WiPy 1 prennent la poussière sur nos bancs de bricolage... Ce serait une bonne idée de leur trouver une utilisé permettant de les revaloriser.
D'où le projet Wipy-IoT-nano-Rest !
Attention à la sécurité!
Bon, le WiPy 1 n'a pas de support TSL et SSL, tout ce qui est envoyé sur le réseau est envoyé en clair.
C'est la raison pour laquelle pour laquelle il faut réserver vos projet sur votre réseau local (voyez nos autres recommandations dans la section "about security")
iRelay - une première démo de nanoRest
Comme première démo du serveur nanoRest, nous avons voulu prendre le contrôle d'une carte relais.
iRelay transforme une carte 4 relais en un "relais IoT WiFi" en utilisant un WiPy.
Le WiPy démarrera un serveur local qui répond au requêtes REST. Les requêtes peur être envoyées depuis un navigateur Web, des commandes Curl, du code Python (depuis un Raspberry-Pi) ou même du code CSharp.
Les détails de iRelay sont disponibles dans le répertoire de documentation (y compris l'installation).
Il est possible de démarrer le projet manuellement en saisissant quelques lignes de code:
>>> from irelay import * >>> from restsvr import rest_server >>> rest_server( irelay_actions, debug=True )
Une fois satisfait de vos premiers essais, il est possible de faire en sorte que le projet démarre automatiquement dès la mise sous tension.
Il suffit de copier le fichier main-irelay.py dans votre fichier main.py de votre WiPy.
Quelques tests
Une fois en route, vous pouvez tester le montage avec:
Un navigateur internet
Utilitaire curl
Ou avec des commandes curl... utilitaire couramment utilisé sur Linux
curl http://192.168.1.220/relay/4/on curl http://192.168.1.220/relay/3/on curl http://192.168.1.220/relay/3/off curl http://192.168.1.220/relay/
Avec Python
C'est ce qui est vraiment magique avec les API REST... il est également possible les employer avec n'importe quel environnement (ou presque).
>>> import requests as rq >>> wipy_ip = '192.168.1.220' >>> r = rq.get( 'http://%s/relay/2/on' % wipy_ip ) >>> print( r.content ) false
Voici un exemple plus élaboré
>>> import requests as rq >>> import json >>> wipy_ip = '192.168.1.220' >>> r = rq.get( 'http://%s/relay/' % wipy_ip ) >>> r.content '{"relay4": false, "relay2": false, "relay3": false, "relay1": false}' >>> j = json.loads( r.content ) >>> j {u'relay4': False, u'relay3': False, u'relay2': False, u'relay1': False} >>> j['relay2'] False >>> for k, v in j.items(): ... print( "%s is %s" % (k,'ON' if v else 'OFF') ) ... relay4 is OFF relay3 is OFF relay2 is OFF relay1 is OFF
Plus d'information
N'hésitez pas à consulter les pages suivantes du projet (en anglais). Vous y trouverez de nombreuses information (et également l'API REST de iRelay)
- iRelay - projet de démo de Wipy-Iot-nano-Rest
- WiPy-IoT-nano-Rest - un petit serveur Rest pour WiPy
- Le WiPy (mais aussi WiPy 2) sont disponible de stock chez MCHobby
- La carte d'extension WiPy/LoPy est disponible de stock chez MCHobby
- La carte 4 relais est également disponible de stock chez MCHobby
- Vous trouverez également tout le matériel de prototypage nécessaire ici.
Dominique
Écrire un commentaire