Avec Flask, faire tourner un moteur branché sur un Raspberry Pi à partir d'une page Web n'est pas beaucoup plus difficile que d'afficher « Hello World » dans cette même page Web. Il suffit d'avoir les bonnes bibliothèques installées.
Pour les branchements, référez-vous à l'article Bibliothèques pour faire tourner un moteur branché à une carte Adafruit.
Pour le code, vous allez débuter avec le gabarit développé pour votre première application avec Flask.
Sur votre Raspberry Pi, créez un dossier pour votre projet puis placez-vous dans ce dossier.
mkdir ~/premiermoteur
cd ~/premiermoteur
Créez maintenant l'environnement virtuel pour votre projet. On veut un projet Python 3.
virtualenv -p /usr/bin/python3 env
Puis activez l'environnement virtuel.
source env/bin/activate
Installez Flask dans l'environnement virtuel.
pip install flask
Il vous manque, pour que l'application Flask puisse faire tourner le moteur, l'installation d'une bibliothèque pour la carte Adafruit.
pip install adafruit_PCA9685
Créez maintenant le fichier main.py dans votre projet et copiez-y le code suivant :
from flask import Flask
import Adafruit_PCA9685
import time
app = Flask(__name__)
@app.route("/")
def demarrer():
// code inspiré de https://github.com/adafruit/Adafruit_Python_PCA9685/blob/master/examples/simpletest.py
pwm = AdaFruit_PCA9685.PCA9685()
servo_min = 150 # Min pulse length out of 4096
servo_max = 600 # Max pulse length out of 4096
# Set frequency to 60hz, good for servos.
pwm.set_pwm_freq(60)
# Move servo on channel O between extremes.
pwm.set_pwm(0, 0, servo_min)
time.sleep(1)
pwm.set_pwm(0, 0, servo_max)
time.sleep(1)
return "Terminé !"
if __name__ == " __main__":
app.run(host='0.0.0.0')
Dans un navigateur sur votre ordinateur, entrez l'adresse IP de votre Pi suivi de :5000 (ex : http://192.168.0.186:5000) et voyez votre moteur bouger !
▼Publicité