Последовательное чтение с декодированием UTF-8 - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь создать программу на python, которая читает последовательный порт, затем декодирует полученную информацию (в данном случае это координаты GPS и ультразвуковой датчик), затем мне нужно создать несколько циклов if для сохранения эти последовательные данные в переменные, но мне кажется, что мое утверждение if не хорошо, ниже я прилагаю код:

import serial

Ard = serial.Serial(port='COM5', baudrate=9600, 
bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, timeout=2)

try:

Ard.isOpen()
print("Conexion con el puerto serial: COM5, establecida satisfactoriamente!\n")

except:

  print("Error")
  exit()

 if (Ard.isOpen()):

  try:
    while (1):

        aux = Ard.readline()
        a = aux.decode('utf-8')
        print(a)


        if a == '1':

         print("It works")
         lat = float(a)

 except Exception:

       print("It doesn't work")
else:

    print("Port is not opening")

Я пытался не использовать UTF-8, но использовал a = float(Ard.readline()), он работал (по крайней мере, печать последовательных переменных как float), но теперь это не так и он никогда не входит в цикл if, я пытался, если a != 1 и это работает, так что дело в том, что я не знаю, расшифровка или тип переменной a, и мне нужно, чтобы она была с плавающей точкой. Я читаю из Arduino UNO, и я использую pycharm в качестве Python IDE с pyserial и интерпретатора 3.7, пожалуйста, помогите мне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...