ValueError: «порт» должен быть None или строкой, а не <class 'serial.serialposix.Serial'> - PullRequest
0 голосов
/ 28 апреля 2019

Я не понимаю ошибки, и после 5 часов в поисках решения я, наконец, сдался.

Я пытаюсь открыть последовательное соединение, но, видимо, мой порт не жало?

Один и тот же порт отлично работает в другом фрагменте кода ...

НЕ РАБОТАЕТ

import serial
import pynextion


class NextionApp:

    def __init__(self):
        ser = serial.Serial("/dev/ttyAMA0", 9600, timeout=0)
        pages = [
            {"id": "0", "name": "page0()page",
                "components": [
                    {"id": "1", "type": "text", "name": "txt_tmp"},
                    {"id": "3", "type": "text", "name": "txt_hum"},
                    {"id": "0", "type": "text", "name": "txt_co2"},
                    {"id": "4", "type": "button", "name": "btn_test"},
                ]
            }
        ]
        self.nextion = pynextion.Nextion(ser, pages)
        print("Serial connected")

nextionApp = NextionApp()

РАБОЧАЯ

#!/usr/bin/env python


import time
import serial


ser = serial.Serial("/dev/ttyAMA0", 9600, timeout=1)
counter=0


while 1:
   x=ser.readline()
   print (x)

1 Ответ

0 голосов
/ 28 апреля 2019

Библиотека Python Nexation ожидает получить путь к устройству в качестве входных данных, а не экземпляр объекта serial (он сам его создает). Вам следует позвонить:

self.nextion = pynextion.Nextion("/dev/ttyAMA0", pages)
...