WebioOP est l’équivalent du WebioPi pour Orange PI. Ce projet date des débuts du Raspberry Pi. Il a pour objectif de piloter le GPIO du Raspberry Pi depuis une petite interface Web. Il est même possible de piloter le GPIO du Raspberry Pi à distance en exposant le Raspberry sur internet. C’est également ce projet qui sert de base pour piloter le GPIO depuis l’application Cayenne. Comme d’habitude il faut refaire le travail sur Orange Pi pour avoir l’équivalent. Cette fois, c’est nopnop2002 qui s’y est collé. Il a expliqué comment s’y prendre sur le forum d’Orange Pi http://www.orangepi.org/orangepibbsen/forum.php?mod=viewthread&tid=1634&page=1&extra=#pid13613.
Installer flask
Commencez par installer Flask, une librairie Python qui permet de créer un serveur Web entièrement en Python. La page officielle du projet se trouve ici.
On installe pip, le gestionnaire de paquet pour Python
sudo apt-get install python-pip
Puis Flask
sudo pip install flask
Installer WiringPi et WiringOP
Installez ensuite la librairie WiringOP déjà présentée dans ce tutoriel. Le projet GitHub se trouve ici. On récupère les sources en local
cd ~ git clone --recursive https://github.com/lanefu/WiringPi-Python-OP.git cd WiringPi-Python-OP
Il faut également installer quelques outils nécessaires à la compilation du code source
sudo apt-get install python-dev python-setuptools swig
On construit d’abord la librairie WiringPi
cd WiringPi sudo ./build
Avant de lier les 2 librairies ensembles
cd.. swig2.0 -python wiringpi.i
Il ne reste plus qu’à installer WiringOP
sudo python setup.py install
Installation de webioOP
Il ne reste plus qu’à installer le projet webioOP. Le code source ne semble pas avoir été publié sur GitHub, je l’ai trouvé sur le site de nopnop2002 (en Japonais).
cd ~/WiringPi-Python-OP wget http://nopnop2002.webcrow.jp/OrangePiPC/flask/webioOP.tar
On décompresse l’archive
root@orangepilite:~/WiringPi-Python-OP# tar xvf webioOP.tar webioOP.py static/ static/style2.css static/style-std.css static/style.css static/images/ static/images/Button-Turn-On-icon.png static/images/smile-icon.png static/images/box-in-icon.png static/images/Industry-Feed-Out-icon.png static/images/Industry-Feed-In-icon.png static/images/switch-off-icon.png static/images/switch-on-icon.png static/images/box-out-icon.png static/images/Button-Turn-Off-icon.png static/style3.css templates/webioOP.html templates/webioOP.html.btn templates/webioOP.html.icon templates/webioOP.html.std
Par défaut, webioOP démarre un serveur web sur le port 80. Si vous avez déjà un autre serveur qui utilise se port (un serveur domotique par exemple), éditez les dernières lignes du script webioOP.py. Par exemple ici, le serveur sera ouvert sur le port 8000.
if __name__ == "__main__": if DEBUG == 1: app.run(host='0.0.0.0', port=8000, debug=True) if DEBUG == 0: app.run(host='0.0.0.0', port=8000, debug=False)
Piloter le GPIO du l’Orange Pi depuis l’interface Web de webioOP
Démarrez webioOP en exécutant cette commande
sudo python webioOP.py
Ouvrez un navigateur sur un ordinateur connecté sur le même réseau local que l’Orange Pi et saisissez l’adresse ip suivie du port configuré. Par exemple
http://192.168.1.79:8000
Et voilà, vous pouvez piloter le GPIO depuis cette petite interface Web.
- ESP32, broches GPIO et fonctions associées. I/O, PWM, RTC, I2C, SPI, ADC, DAC
- ESP32-CAM. Broches et équipements ESP-EYE, AI Thinker, TTGO T-Camera, M5Stack Timer Camera…
- ESP32-CAM. Quel modèle choisir ? ESP-EYE, AI Thinker, TTGO T-Camera, M5Stack Timer Camera…
- M5Stack Atomic GPS. Tracker ESP32 TinyGPS++, export GPX sur carte SD, visualisation sur Google Maps ou VSCode
- Home Assistant. Installer le snap sur NAS Synology sur une machine virtuelle Ubuntu
- ESP32-CAM. Souder l’antenne externe pour améliorer la portée et la stabilité du flux vidéo