Я должен считать поток, который отправляется от самодельного устройства по последовательному порту. Проблема состоит в том, что это должно быть развернуто на машине, где у меня нет доступа для установки чего-либо нового, что означает, что я должен пользоваться библиотеками стандарта Python, чтобы сделать это. Действительно ли это возможно, и если так, как я могу управлять этим.
Если бы это оказывается почти невозможным, я должен буду заставить кого-то устанавливать pySerial, но я был бы очень признателен, если это могло бы быть сделано без этого.
Если бы существуют различия в Linux/Windows, это находится на машине Windows, но я был бы очень признателен за кросс-платформенное решение.
В Unix-подобных операционных системах последовательный порт работает как файл, вы просто открываете его и читаете или записываете байты. Есть несколько дополнительных вызовов, которые вы можете сделать, чтобы установить скорость передачи и многое другое, но это, по сути, все, что есть.
В Windows вы открываете последовательный порт как файл, но вы должны использовать определенные способы доступа к нему, которые немного отличаются от того, что Python использует для обычных файлов. К сожалению, трудно получить доступ к последовательному порту Windows, используя только собственные библиотеки Python.
Библиотека pyserial
обеспечивает унифицированный кроссплатформенный способ доступа к последовательным портам. Он основан на ctypes
, который входит в стандартную библиотеку начиная с Python 2.5, поэтому вы можете включить pyserial
в свое приложение и просто использовать его.