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

GPIOServer
#1

Bonjour à tous

Je suis un nouveau venu dans le monde de ce fruit.

Je m'interresse de pret a la domotique mais la rencontre apres raspberry c'est génial.

Je teste en ce moment la gestion du port GPIO j'ai suivis les instructions de ce site control web gpio.
Apres avoir corrigé quelque erreur et avoir reffet un tuto correcte.

Je suis obligé de lancer GPIOServer.sh sinon impossible de communiquer avec les port par une page web.
sinon sa fonctionne super bien.

Mon soucis c'est le notre de requette que fais GPIOServer.sh a ce rhytme ma carte SD va me claquer dans les doigts.
Y aurai t-il un autre moyen que de lancer ce GPIOSERVER.SH en permanence.

merci à tous de vos réponce.

Pour mon tuto en francais il est dispo par mail suffit juste de demander. Wink
Répondre
#2

pourquoi la carte SD te claquerais entre les doigts ?

Serial Organisateur d'aPIro
Bloggeur Bidouilleur
Ydle, domotique DIY basée sur un raspberry pi
Répondre
#3

Ben toute les secondes sa ecrit comme une carte sd est limité en nombre d'ecriture.
Répondre
#4

Un script qui ce lance automatiquement au démarrage de la machine:
http://www.pihomeserver.fr/2013/05/27/ra...demarrage/
@+

Il ne faut point juger les hommes par ce qu’ils ignorent, mais par ce qu’ils savent, et par la manière dont ils le savent OSmile
Répondre
#5

Je vais y faire un tour merci.
Répondre
#6

Je viens de regarder le script et les écritures se font soit sur l'écran soit dans les fichiers mappant les GPIO. Je ne pense pas que ce genre d'écritures se fassent physiquement. Pour moi il s'agit pas de fichiers mais de liens utilisés par le noyau pour aller vers le matériel.
Au passage le script n'est pas de super qualité (nombre de requetes SQL, écritures systématique y compris si pas de changement, etc.)

[Edit] le répertoire /sys est bien un répertoire monté en mémoire pour mapper le matériel. Donc pas d'écriture sur la SD

Raspberry Pi Home Server : http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi: Kupiki Hotspot
Répondre
#7

tutoriel pour installer un serveur LAMP ET GPIO

Tutoriel installer server web php et GPIO
Répondre
#8

LAMP pour le Raspberry c'est bien sous condition de ne pas vouloir installer d'autres choses. Vive LESP OSmile Cool

Raspberry Pi Home Server : http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi: Kupiki Hotspot
Répondre
#9

LESP ?

je veux bien la définition de l'acronyme, car celui là, je ne l'ai pas !

Pour Ydle on a pour le moment Linux, Nginx, Mysql, PHP.
La partie Mysql peut (si je trouve un remplaçant correct) sauter.

Serial Organisateur d'aPIro
Bloggeur Bidouilleur
Ydle, domotique DIY basée sur un raspberry pi
Répondre
#10

LESP ????
désolé je comprend pas
Répondre
#11

Yaug a écrit :LESP ?

je veux bien la définition de l'acronyme, car celui là, je ne l'ai pas !
Linux
nGinx (EngineX)
SQLite
PHP

Tongue

Je sais plus où je l'ai trouvé celui là ...

Raspberry Pi Home Server : http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi: Kupiki Hotspot
Répondre
#12

Dans mon tutoriel tout fonctionne bien sauf que je suis obligé de me connecter
login as: ???
[email protected]?.?'s password:??????

Sinon le script ne ce lance par au redémarrage .

comment faire.
il faut que je lance GPIOServer.sh mais je ne sais même pas ou il ce trouve et dans qu'elle répertoire.
Répondre
#13

Code :
[== Indéfini ==]
find / -name GPIOServer.sh

Raspberry Pi Home Server : http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi: Kupiki Hotspot
Répondre
#14

j'ai tapé cette commande
sudo find / -name GPIOServer.sh
/root/GPIOServer.sh

j'ai rebooté.

et sa donne rien
Répondre
#15

Le fichier est donc dans /root.
Tu as les droits pour le lancer ? Comment veux tu le lancer ?

Raspberry Pi Home Server : http://www.pihomeserver.fr
Hotspot Wifi avec portail captif pour Raspberry Pi: Kupiki Hotspot
Répondre
#16

déolé je viens de comprendre find c'est la commande en ligne pour me dire ou ce trouve ce fichier et dans qu'ekle dossier .

oups désolé
Répondre
#17

En faite je voudrais que ce fichier ce lance au démarrage du raspberry sans que j'ai besoin de me logé.
Répondre
#18

Je serais toi, je déplacerais le script dans ton répertoire (ou autre que /root), par exemple, /home/pi/mes_scripts
Code :
[== Indéfini ==]
sudo mv /root/GPIOServer.sh /home/pi/mes_scripts/

Ensuite, tu vérifies que le script a bien les bons droits, notamment celui d'exécution.
Code :
[== Indéfini ==]
sudo chmod +x /home/pi/mes_scripts/GPIOServer.sh

Enfin, via ta crontab, tu ajoutes la ligne nécessaire pour l'exécution au démarrage
Code :
[== Indéfini ==]
crontab -e
Code :
[== Indéfini ==]
@reboot /home/pi/mes_scripts/./GPIOServer.sh

Je n'ai pas ce qu'il faut pour tester sous la main, mais de mémoire, je crois bien que c'est cela -> à vérifier et tester quand même.
Pour information, "@reboot" te permet de lancer à chaque boot (ou reboot) de ta machine la commande passée en argument.
Répondre
#19

Dans qu'elle partie je dois mettre

@reboot /home/pi/mes_scripts/./GPIOServer.sh
Répondre
#20

Quand tu édites ta crontab, tu rajoutes la ligne en question à la fin du fichier (qui doit déjà contenir pas mal de commentaires), en faisant attention à bien faire un retour à la ligne à la fin.
Je viens de me rendre compte d'ailleurs que je me suis trompé dans la commande ; il faut juste saisir :
Code :
[== Indéfini ==]
@reboot /home/pi/mes_scripts/GPIOServer.sh
Répondre
#21

ok je test sa de suite
Répondre
#22

je dois pas etre tres douée g suivit a la lettre.

sudo mv /root/GPIOServer.sh /home/pi/mes_scripts/
Ensuite, tu vérifies que le script a bien les bons droits, notamment celui d'exécution.
sudo chmod +x /home/pi/mes_scripts/GPIOServer.sh
Enfin, via ta crontab, tu ajoutes la ligne nécessaire pour l'exécution au démarrage
crontab -e
@reboot /home/pi/mes_scripts/GPIOServer.sh

je reboot mais rien on doit pas etre tres loin du but.
Répondre
#23

contenu de crontab -e

# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
@reboot /home/pi/script/GPIOServer.sh


j'ai appelé ce fichier en faisant : [email protected] ~ $ crontab -e
Répondre
#24

Oui, je pense car à priori, sauf erreur de ma part, c'est la bonne syntaxe et une manière de faire.

Peux-tu jeter un oeil dans le fichier de log de ton cron (/var/logs/cron.log) pour vérifier s'il y a des erreurs ?
Par contre, si ce fichier n'existe pas (ce qui est le cas par défaut de mémoire aussi sur le RPi), il te faudra l'activer ou bien loguer tes erreurs dans un fichier.

Mets en place ton log (rien de plus à modifier)
Reédite ta crontab
crontab -e
Et rajoute par exemple à la fin de la ligne :
Code :
[== Indéfini ==]
@reboot /home/pi/mes_scripts/GPIOServer.sh >> /home/pi/mes_scripts/GPIOServer_erreur.txt 2>&1
Redémarre ton service cron ou carrément ton RPi si tu veux être "sûr".

OU

Pour activer le log du cron, de toute façon ça te servira pour d'autres projet spar la suite, donc ce sera fait :
Edite avec les droits admin :
Code :
[== Indéfini ==]
sudo nano /etc/rsyslog.d/50-default.conf
Trouve la ligne ci-dessous et décommente-la (supprime le #)
Code :
[== Indéfini ==]
#cron.* /var/log/cron.log
Enregistre et redémarre rsyslog
Code :
[== Indéfini ==]
sudo /etc/init.d/rsyslog restart
Et normalement, un fichier /var/log/cron.log devrait être créé.

Dans les 2 cas, tu auras un fichier contenant les erreurs, s'il y en a, de ton cron et ça permettra de comprendre ce qu'il se passe.
Répondre
#25

Bonjour

Je n'est pas de cron.log dans /var/log
et dans la commande : sudo nano /etc/rsyslog.d/50-default.conf
le fichier et vide
Répondre


Atteindre :


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