Communication arduino/raspberry

a marqué ce sujet comme résolu.

Bonjour, je cherche à entrer les données de mes capteurs arduino dans ma base de données qui se trouve sur ma raspberry. J’ai donc fait un programme arduino bidon pour voir si les données passaient déjà et ils se trouvent que non. Je ne trouve pas mon erreur, voici mes programmes si jamais quelqu’un voit ce qui ne va pas ca sera génial ! :D

Lien des captures des différents programmes –>

https://www.noelshack.com/2017-18-1493817484-ard-2.jpg  https://www.noelshack.com/2017-18-1493817495-ardu-1.jpg
 https://www.noelshack.com/2017-18-1493817495-pyhton-1.jpg
https://www.noelshack.com/2017-18-1493817495-python-2.jpg

+1 -0

Salut, et bienvenue sur ZdS !

Tout d’abord, je te suggères de clarifier un peu ton message. On le devine en regardant tes captures d’écran, mais pourrais-tu indiquer explicitement quelques trucs comme le langage utilisé sur le RPi ou le bus de communication stp ? Quelle erreur obtient-tu quand tu lances ton programmes Python ? Une erreur de la lib serial, rien du tout ?

Aussi, je te suggères de copier ton code dans ton message, dans une balise code. Ça permettrait à tout le monde de le lire plus aisément.


Tout d’abord, j’ai l’impression qu’il y a des problèmes d’indentation dans ton programme. Par exemple, le code qui suit le bloc try/except n’est pas indenté, ce qui devrait déjà lever une IndentationError.

Pour récupérer les différentes valeurs, je vois que tu fais un split(;), ce qui devrait aussi lever une exception. Le ’;’ devrait être entouré de guillemets. Utilises la variable str que tu définis juste avant. ;)

À la fin de ton programme, je vois un finally qui ne me semble pas être précédé d’un bloc try/except (à moins que tout le code ne soit dans le except ?).

Ce n’est pas obligatoire, mais le temps des tests, je te suggères de remplacer ta requête SQL par un print, ça te permettrait de voir en temps réel comment Python gère les données reçues.

Enfin, la première ligne de ton while est indentée, mais pas les autres. Ce qui veut dire que seule la ligne donnees=ser.readline() sera exécutée en boucle, sans moyen de sortie. Il faut que tu indentes les autres lignes pour que Python les considères comme étant dans la boucle et pas après.

Ça peut paraître un peu déroutant, mais Python ne se base que sur l’indentation pour interpréter les blocs de code (contrairement au C par exemple, où ces blocs sont délimités par des accolades).

rezemika

+1 -0

Désolée je n’ai pas les codes actuellement je peux les mettre demain matin.

Je n’ai rien qui se passe mais aucun message d’erreur ni quoi que ce soit qui s’affiche. Langage python et pour la com on utilise juste le câble USB ( j’espère que c’était bien ta question car je suis juste amatrice ). ( oui mon messes n’était pas très clair désolée ^^ )

Merci déjà toutes ces "petites" choses à corriger me feront sûrement déjà avancer ;)

Enfin, la première ligne de ton while est indentée, mais pas les autres. Ce qui veut dire que seule la ligne donnees=ser.readline() sera exécutée en boucle, sans moyen de sortie. Il faut que tu indentes les autres lignes pour que Python les considères comme étant dans la boucle et pas après.

. :D C’est exactement là ou je voulais en venir pas à pas aussi. Je pense que c’est un bon point de départ de recherche ;)

+1 -0

Bonjour ! Après avoir régler de nombreux soucis d’indentation et de syntaxe me voilà encore une fois bloquée par le message d’erreur suivant :

```py Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ’’’ at line 1

1
2
Ma ligne 1 étant : ```py
#!/usr/bin/env python3

J’ai bien installé la bibliothèque mysql, je ne comprends pas ce que je dois modifier dans cette ligne.

+0 -0

Ne pas prendre en compte le message precedent. L’erreur venait d’une autre ligne. Par contre lorsque je lance le programme j’ai le message suivant :

pi@raspberrypi:~ $ sudo python lecture_serie1.py Traceback (most recent call last): File "lecture_serie1.py", line 39, in <module> timeout=1 File "/usr/lib/python2.7/dist-packages/serial/serialutil.py", line 261, in __init__ self.open() File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 278, in open raise SerialException("could not open port %s: %s" % (self._port, msg)) serial.serialutil.SerialException: could not open port /dev/ttyACMO: [Errno 2] No such file or directory: '/dev/ttyACMO' Je ne comprends pas trop .. :/

+0 -0

Bonjour, voici ce que j’obtiens

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
crw-rw-rw- 1 root tty       5,  0 May  4 09:17 /dev/tty
crw--w---- 1 root tty       4,  0 May  4 09:17 /dev/tty0
crw------- 1 pi   tty       4,  1 May  4 09:17 /dev/tty1
crw--w---- 1 root tty       4, 10 May  4 09:17 /dev/tty10
crw--w---- 1 root tty       4, 11 May  4 09:17 /dev/tty11
crw--w---- 1 root tty       4, 12 May  4 09:17 /dev/tty12
crw--w---- 1 root tty       4, 13 May  4 09:17 /dev/tty13
crw--w---- 1 root tty       4, 14 May  4 09:17 /dev/tty14
crw--w---- 1 root tty       4, 15 May  4 09:17 /dev/tty15
crw--w---- 1 root tty       4, 16 May  4 09:17 /dev/tty16
crw--w---- 1 root tty       4, 17 May  4 09:17 /dev/tty17
crw--w---- 1 root tty       4, 18 May  4 09:17 /dev/tty18
crw--w---- 1 root tty       4, 19 May  4 09:17 /dev/tty19
crw--w---- 1 root tty       4,  2 May  4 09:17 /dev/tty2
crw--w---- 1 root tty       4, 20 May  4 09:17 /dev/tty20
crw--w---- 1 root tty       4, 21 May  4 09:17 /dev/tty21
crw--w---- 1 root tty       4, 22 May  4 09:17 /dev/tty22
crw--w---- 1 root tty       4, 23 May  4 09:17 /dev/tty23
crw--w---- 1 root tty       4, 24 May  4 09:17 /dev/tty24
crw--w---- 1 root tty       4, 25 May  4 09:17 /dev/tty25
crw--w---- 1 root tty       4, 26 May  4 09:17 /dev/tty26
crw--w---- 1 root tty       4, 27 May  4 09:17 /dev/tty27
crw--w---- 1 root tty       4, 28 May  4 09:17 /dev/tty28
crw--w---- 1 root tty       4, 29 May  4 09:17 /dev/tty29
crw--w---- 1 root tty       4,  3 May  4 09:17 /dev/tty3
crw--w---- 1 root tty       4, 30 May  4 09:17 /dev/tty30
crw--w---- 1 root tty       4, 31 May  4 09:17 /dev/tty31
crw--w---- 1 root tty       4, 32 May  4 09:17 /dev/tty32
crw--w---- 1 root tty       4, 33 May  4 09:17 /dev/tty33
crw--w---- 1 root tty       4, 34 May  4 09:17 /dev/tty34
crw--w---- 1 root tty       4, 35 May  4 09:17 /dev/tty35
crw--w---- 1 root tty       4, 36 May  4 09:17 /dev/tty36
crw--w---- 1 root tty       4, 37 May  4 09:17 /dev/tty37
crw--w---- 1 root tty       4, 38 May  4 09:17 /dev/tty38
crw--w---- 1 root tty       4, 39 May  4 09:17 /dev/tty39
crw--w---- 1 root tty       4,  4 May  4 09:17 /dev/tty4
crw--w---- 1 root tty       4, 40 May  4 09:17 /dev/tty40
crw--w---- 1 root tty       4, 41 May  4 09:17 /dev/tty41
crw--w---- 1 root tty       4, 42 May  4 09:17 /dev/tty42
crw--w---- 1 root tty       4, 43 May  4 09:17 /dev/tty43
crw--w---- 1 root tty       4, 44 May  4 09:17 /dev/tty44
crw--w---- 1 root tty       4, 45 May  4 09:17 /dev/tty45
crw--w---- 1 root tty       4, 46 May  4 09:17 /dev/tty46
crw--w---- 1 root tty       4, 47 May  4 09:17 /dev/tty47
crw--w---- 1 root tty       4, 48 May  4 09:17 /dev/tty48
crw--w---- 1 root tty       4, 49 May  4 09:17 /dev/tty49
crw--w---- 1 root tty       4,  5 May  4 09:17 /dev/tty5
crw--w---- 1 root tty       4, 50 May  4 09:17 /dev/tty50
crw--w---- 1 root tty       4, 51 May  4 09:17 /dev/tty51
crw--w---- 1 root tty       4, 52 May  4 09:17 /dev/tty52
crw--w---- 1 root tty       4, 53 May  4 09:17 /dev/tty53
crw--w---- 1 root tty       4, 54 May  4 09:17 /dev/tty54
crw--w---- 1 root tty       4, 55 May  4 09:17 /dev/tty55
crw--w---- 1 root tty       4, 56 May  4 09:17 /dev/tty56
crw--w---- 1 root tty       4, 57 May  4 09:17 /dev/tty57
crw--w---- 1 root tty       4, 58 May  4 09:17 /dev/tty58
crw--w---- 1 root tty       4, 59 May  4 09:17 /dev/tty59
crw--w---- 1 root tty       4,  6 May  4 09:17 /dev/tty6
crw--w---- 1 root tty       4, 60 May  4 09:17 /dev/tty60
crw--w---- 1 root tty       4, 61 May  4 09:17 /dev/tty61
crw--w---- 1 root tty       4, 62 May  4 09:17 /dev/tty62
crw--w---- 1 root tty       4, 63 May  4 09:17 /dev/tty63
crw--w---- 1 root tty       4,  7 May  4 09:17 /dev/tty7
crw--w---- 1 root tty       4,  8 May  4 09:17 /dev/tty8
crw--w---- 1 root tty       4,  9 May  4 09:17 /dev/tty9
crw-rw---- 1 root dialout 166,  0 May 11 06:21 /dev/ttyACM0
crw-rw---- 1 root dialout 204, 64 May  4 09:17 /dev/ttyAMA0
crw------- 1 root root      5,  3 May  4 09:17 /dev/ttyprintk

`

J’ai changé le port et j’ai une dernière (j’espère) erreur :

1
2
pH, temperature, luminosite, distance=donnees.split(";")
Value Error: need more than 1 value to unpack
+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte