Ответы пользователя по тегу Python
  • Обмен данными между arduino и pyserial. Что не так?

    chukov
    @chukov Автор вопроса
    После долгих экспирементов, удалось достигнуть приемлемого быстродействия, 100 сообщений ушло за 0:00:00.601094:
    #include <Arduino.h>
    
    void setup() {
      Serial.begin(115200);
      Serial.println("Booting");
    }
    
    void loop() {
    
    
      while(Serial.available()){
        Serial.write(Serial.read());
      }
      delay(10);
    
    
    }


    тестовый код на python:
    import time
    import serial
    import datetime
    
    ser = serial.Serial(port='/dev/ttyUSB0', baudrate=115200)
    received = []
    
    ser.write(b'begin\n')
    time.sleep(5)
    
    start = datetime.datetime.now()
    for i in range(1, 100):
        ser.write(b'test%i\r\n' % i)
        time.sleep(0.005)
        while ser.inWaiting() > 0:
            line = ser.readline()
            if line:
                received.append(line.decode().strip())
    
    print(datetime.datetime.now() - start)
    print(received)


    ser.write(b'begin\n')
    time.sleep(5)

    Даннй кусок нужен, что-бы ардуина (esp32 тоже) успел перзагрузиться, т.к. dtr связан с software reset.
    Подробнее тут
    Ответ написан
    Комментировать
  • Странное поведение pycharm?

    chukov
    @chukov Автор вопроса
    Большое вам спасибо!
    print(sys.stdout.encoding)
    В pycharm поменял кодировку проекту на utf8 и все заработало.
    Сергей Паньков отдельное спасибо за ликбез, после прочтения, в голове начала складываться мозайка понимания:)
    Ответ написан
    Комментировать