En raison de spams récurrents, les messages des nouveaux inscrits sont modérés a priori. Ne vous inquiétez pas si vous ne voyez pas apparaitre votre message immédiatement sur le forum. (November 04, 2021) x

Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Page web - raspberry/arduino/I2C
#1

Bonjour à tous, j'ai réalisé un montage Raspberry pi / Arduino pour piloter l'Arduino via une page Web et en utilisant la voie série et cela fonctionne bien. Je décide de modifier cela et de passer sur le bus I2C car j'ai trop de temporisations sur le programme Arduino pour gérer la communication et cela me gène. Actuellement cela fonctionne comme cela :

* page web avec des boutons
* appui sur un bouton - envoi d'une valeur à un script PHP pour écrire dans un fichier .JSON et qui lance un script Python pour lire le fichier .JSON et envoyer la variable vers l'Arduino via la voie série.

tout fonctionne, je modifie donc le script Python et au lieu de configurer la voie série je configure le bus I2C (je suis sur l'éditeur GEANY):

* je modifie manuellement une valeur dans le fichier .JSON et lance dans GEANY le script Python = Arduino reçoit bien l'info
* dans l'explorateur de fichier, bouton droit sur le script Python - exécuter = cela fonctionne
* je vais sur la page web, je clique sur un bouton...mais la malheureusement il ne se passe rien, la carte Arduino ne reçois rien

Si quelqu'un à une idée ou n'étant pas vraiment bon, une manière de créer des marqueurs pour savoir si le script PHP et Python sont bien exécutés.

Merci
Répondre
#2

Bonjour,

Je pencherai pour une problématique de droit.

Tu peux faire un test en lançant ton php en ligne de commande pour voir si le code php fonctionne correctement.
(En le modifiant un peu si nécessaire, le plus simple étant de faire un script sans paramètre pour tester).

Si le script php fonctionne, c'est très probablement une question de permission. Il faut voir comment ton script php est exécuté par le serveur web (apache ? nginx ? via php-fpm ?). L'exécution n'a probablement pas les même droits que l'utilisateur.
Répondre
#3

Oh punaise, je me suis fait avoir comme pour la voie série, il s'agit bien d'un problème de droit d'accès et avec un "sudo chmod 777 /dev/i2c -1" le problème est résolu. Parfois quand la commande passe l'Arduino bloque mais un problème de moins.

Un grand merci
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)