IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Raspberry Pi Discussion :

Redémarrage à travers une page Web


Sujet :

Raspberry Pi

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2019
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : Canada

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2019
    Messages : 41
    Points : 32
    Points
    32
    Par défaut Redémarrage à travers une page Web
    Bonjour,

    J'ai commencé un petit projet via mon Raspberry Pi et je ne sais pas comment faire 2 choses avec (LOL)
    Je voudrais faire un button via une page web PHP/HTML pour faire un reboot du PI mais comment ?
    J'ai trouvé des codes sur les internets et cela n'a pas fait grand chose.

    Ma 2eme question c'est comment pour modifier un fichier .conf dans le Raspberry PI? Avec des donnés dans des textbox ?
    J'ai commencé récemment a travaillé avec du Angular je présume que c'est possible de le faire avec celui-ci pour modifier un fichier ?

    Un très grand merci d'avance


    J'ai déjà fait des tests avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
       exec('sudo halt');
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    www-data ALL=(ALL) NOPASSWD: /sbin/halt
    Mais cela n'a pas fonctionné.

  2. #2
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Novembre 2006
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2006
    Messages : 503
    Points : 1 332
    Points
    1 332
    Par défaut Fichier texte ou XML
    Bonjour,

    Je ne fais pas de PHP sur le Raspberry Pi.
    Toutes mes applications sont en Java et en Python.
    Java permet d'exécuter des commandes Raspbian ou du Python.
    Un reboot depuis Java marche bien.
    Est-ce que ton serveur PHP est démarré sudo? Je ne connais pas sa configuration.

    Ton halt va stopper ton Raspberry Pi alors qu'un reboot va le redémarrer.


    Ici un exemple en Flask.
    Il faudrait juste installer la librairie Flask dans Python (2 minutes ) et lancer le script qui suit en arrière plan ou au démarrage du Pi dans /etc/rc.local .
    Toutes ces choses seront dans un article que je prépare pour developpez.net.
    Il y aura des exemples d'utilisation depuis des ESP.

    Voici le reboot:

    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    from flask import Flask
    import os
    app = Flask(__name__)
     
    @app.route("/reboot")
    def reboot():  
       #os.system('sudo reboot') marche aussi
       os.system('sudo shutdown -r now')
     
       return ''
     
    if __name__ == "__main__":
       app.run(host='0.0.0.0', port=8080, debug=True)

    Pour le lancer: python reboot.py &
    Si on utilise le port 80, lancer en sudo.
    Depuis ton PC par exemple (ou un POST depuis un ESP ) et ton explorateur favori: http://192.168.1.143:8080/reboot

    Sur un Pi 4, où j'ai testé ce script Flask, j'ai aussi un autre serveur Web Flask sur un autre port et qui "attaque" un buzzer sur le Pi pour m'indiquer une alarme.
    Cet alarme vient d'un ESP32 qui détecte un mouvement avec un PIR pour le passage éventuel d'un chat et la génération sur un buzzer de l'ESP d'ultrasons (répulsif ).


    Modifier un fichier .conf dans le Raspberry Pi peut être un exercice compliqué, mais super en programmation.
    Il faudra éventuellement sauvegarder l'ancien et relancer l'application qui utilise le .conf.
    Comme je travaille en Java, j'utilise un fichier .conf (c'est dans mon livre, voir ci-dessous)).
    J'ai aussi à la maison deux applications de simulation de présence et voici un morceau de ces fichiers:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    relais1=GPIO_04       ;relais - GPIO BOARD 16
    pir1=GPIO_06          ;capteur mouvement - GPIO BOARD 22
    light1=GPIO_02        ;capteur light - GPIO BOARD 13
    
    beforeSunrise=06:43   ;nothing before (for instance 06:02) (always the 0)
    afterSunset=22:55     ;nothing after (for instance 22:55)
    delaySunrise=30        ;minutes. Will continue 15 minutes after sunrise
    delaySunset=30         ;minutes. Will start 30 minutes before sunset
    Avec les = et ; c'est facile d'extraire les paramètres et leurs valeurs.
    Ils sont déposés dans un dictionnaire, un objet de la classe Java Map.
    GPIO BOARD 16: c'est la notation des broches pour le Pi4J, une librairie Java pour le GPIO.

    Utiliser un fichier texte est pratique.
    Avec un accès PuTTY et un éditeur texte, j'adapte souvent mes paramètres, par exemple l'heure de 22:55 où mon simulateur de présence sortira de sa période de fonctionnement. Ensuite un sudo reboot fera le travail de redémarrer le Pi et ensuite l'application en relisant le fichier de configuration.
    Un fichier XML irait aussi est c'est souvent le choix pour des applications un peu plus professionnelles.

    Dans l'article sur le Flask, je ferai un exemple avec SQLite, une base de données où pourrait se loger de tels paramètres de configuration.
    Faire cela dans un autre langage est possible, évidemment.

    Regarde ce qui vient après les ; ... ce sont des textes informatifs.
    Il faudrait aussi les lire dans quelque chose comme un dictionnaire pour pouvoir regénérer ton nouveau .conf avec cette info qui pourrait aussi être utilisée comme texte d'info dans tes FORM HTML.

    Bien du plaisir
    Cordialement

Discussions similaires

  1. [HTML] aide modifier page web
    Par Amrouch14 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 12/03/2008, 23h58
  2. [MySQL] Créer une page HTML/PHP à l'aide de PHP
    Par Lord Silk dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/03/2008, 21h33
  3. Réponses: 0
    Dernier message: 26/01/2008, 15h06
  4. [Dates] [PHP/HTML/WEB] - Afficher le nom du jour dans la date
    Par fredhali2000 dans le forum Langage
    Réponses: 14
    Dernier message: 26/01/2006, 11h13
  5. [PHP/HTML/WEB] - Permettre au visiteur de choisir la skin
    Par fredhali2000 dans le forum Langage
    Réponses: 6
    Dernier message: 26/01/2006, 10h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo