Pas moyen d'écrire des données vers l'arduino avec python
	
	
		Salut je galère à écrire des données vers l'Arduino
voici le petit programme tout simple pour basculer des relais
	Code:
	
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
   | #include "Adafruit_MCP23017.h"
#include "Wire.h"
 
Adafruit_MCP23017 mcp;
 
void setup() {
mcp.begin();
for (int pin = 0; pin  < 16; pin ++)
    {
        mcp.pinMode(pin, OUTPUT);
    } 
for (int pin = 0; pin < 16; pin++)
    {
        mcp.digitalWrite(pin, HIGH); 
    }
Serial.begin(9600);   
}
void loop() {
    if(Serial.available())
    {        
        String pinstr = Serial.readStringUntil(',');
        String commandestr = Serial.readStringUntil('\n');
        int pin = pinstr.toInt();
        int commande = commandestr.toInt();
 
        switch (commande) {
          case 0:
              mcp.digitalWrite(pin, HIGH);
              break;
          case 1:
            mcp.digitalWrite(pin, LOW);
              break;
        }
 
    }
} | 
 Je cherche donc à envoyer le pin et 0 pour low ou 1 pour high
en Python3 en mode console ça passe nickel
	Code:
	
1 2 3 4 5 6 7 8 9 10
   | Python 3.6.7 (default, Oct 22 2018, 11:32:17) 
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import serial
>>> ser = serial.Serial('/dev/ttyUSB0', 9600)
>>> ser.write(b'1,1')
3
>>> ser.write(b'1,0')
3
>>> | 
 Par contre en mode fichier la rien ne passe .... je lance
python3 pilote.py 1 1
par d'erreur mais l'arduino n'interprete pas bien ce que j'envoi, surement un mauvais encodage ...
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
   | import sys
import serial
import time
 
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1, writeTimeout=1)
if (ser.isOpen()):
        print("open")
        arg1=sys.argv[1]    
        arg2=sys.argv[2]
        pin=arg1+","+arg2
        print (type(pin))
        pin=bytes(pin,'utf-8')
        print(pin)
        ser.write(pin) 
        ser.close() | 
 
Un peu aide merci