Posted by 

Python Serial Port Extension. Python Serial Port Extension for Win32, OSX, Linux, BSD, Jython, IronPython.

I have been having problems with Pyserial (this is not the first: PySerial write errors (baudrate sensitive))

The accepted answer for this question:

quote: 'Alternatively, instead of using this library 'serial' you might want to just open and write directly to the device'

seems to suggest it is possible to write to/read from a device without using pyserial, does anyone have an example of this? can I treat it like a file?

Any links or info would be appreciated


1 answer

  • answered 2013-12-12 12:23

    Looking around I found this example.

    From the site:

    arduinoserial.py is a Python port of Tod E. Kurt's arduino-serial.c program for communicating with an Arduino microcontroller board over a serial port. It only uses standard Python modules (notably termios and fcntl) and does not require any special serial communications modules.

    Like Tod's program, you can use it from the command line.

See also questions close to this topic

  • what is file coverage and why it should be ignored?

    I came across this code snippet from doit a while ago, and wan wondering about the comment about ignoring coverage:

    What coverage is the writer referencing and what exactly happens here? code coverage relater?

  • Question related to super() with __init__()

    Given 3 classes below,

    class A(object): def init(self): print('A') def test(self): print('1')

    class B(A): def init(self): super(B,self) ## if .init() is not given here print('B')

    class C(B, A): def init(self): super(C, self).init() print('C')

    And some of them say that they like painting a little, cutting and pasting a little, retouching a little, working with Groups and they like working randomly. Best corel painter 2015 brushes 2017 - and torrent. Some of them say they don’t want to purchase two software programs.

    If I run D = C(), it will return


    If I run print(C.mro),it will gives (, , , ).I think that means class A will be executed as it is inside the mro list.However, this is not the case.

    I want ask why .init() is necessary for A.init() happening.

  • Is it possible to dump/copy PostgreSQL table while new data is inserted into it?

    I've set up a PostgreSQL database (version 11.2) in which I have a table into which new entries are inserted at semi-regular intervals (15-30 minutes). The insertion is done with a python script with SQLAlchemy and Pandas with df.to_sql() command. The existing database is quite large and copying/dumping it would most likely take longer than 30 minutes.

    Would running CREATE TABLE new_table AS TABLE old_table; interrupt the data insertion process? If yes, is there another way to do this without interruptions?

    The database is running on a Red Hat Enterprise server version 7.6. I have admin rights to the whole database and can access it with PuTTy + psql -U username -d my_database and also from pgAdmin if that makes a difference. I haven't tried anything yet for fear of interrupting the collection process.

  • How to disable the UAC prompt?

    Client requirement is to suppress all the dialog box when we try to install any application.I was able to suppress the dialog box and other prompts but not able to disable to UAC prompt.

    I should disable the UAC prompt through the bat file using C.I need your suggestions that can we disable UAC prompt through bat file.

    I have done R&D on that. I found few solutions but that would require manual attention, like changing in the Register and SECPOL.msc we can change the status of the UAC prompt.

    Or else please let me know is there any possible to come across this issue.

  • How can I connect hid and ubs device_id's in Python on Windows (like parent/child)

    I'm trying to find connection of custom HID and USB devices in my app. How can I do it with python on Windows, but without libusb?

    I tried to use pywin32, but failed to understand how to connect device id's.

    Now I can get device id's (like USBVID_058F&PID_62545&521A615&0&9 and HIDVID_03EB&PID_20137&115D6837&0&0000) and need to connect them like parent/child relations.

  • How do i perform make file in windows

    i want to use this library https://github.com/json-c/json-c with my C program in codeblocks(windows) but i dont know how to make makefile/cmake on windows.I dont know how to do it in this particular example. There is only something like 'Config.cmake.in'.

    Any ideas?

  • Parsing data packets with ANSI coloured packets has unexpected behaviours

    My serial has mixed data format, some of outputs has[0;32m..[0m, and some of them as a plain text.

    My full output is here https://pastebin.ubuntu.com/p/WTtJmGS9y5/According the code you can see that data which were gotten via serialPort didReceivePacket have >>> <<< markers, but not all..

    Cm3d2 hf patch 1.03 download. Recent Posts • November 27, 2017 • November 26, 2017 • November 25, 2017 • November 25, 2017 • November 21, 2017 • November 21, 2017 • November 21, 2017 • November 21, 2017 • November 21, 2017 • November 21, 2017 • November 21, 2017 • November 21, 2017 • November 21, 2017 • November 21, 2017 • November 21, 2017 • November 21, 2017 • November 21, 2017 • November 21, 2017 • November 21, 2017 • November 21, 2017 • November 21, 2017 • November 21, 2017 • November 21, 2017 • November 21, 2017 • November 21, 2017.

    and it seems didReceivePacket makes async response, cause my output must end with

    But sometimes after these lines there are some additional text

  • What is the best design pattern to control multiple COM/ETHERNET devices?

    I work in the RFID industry so i develop application using C# to control RFID readers via the COM port, so i'm asking what's the best pattern or best practices to implement such a solution.

    Currently i'm using the Singleton pattern to avoid multiple instance of the reader, but i know that singleton is not the most recommended pattern.

  • How to communicate with uBlox GPS chip over a serial port using python to configure to enable SFRB messages?

    I am trying to log raw data using ublox GPS chip with Antaris 4 GPS engine connected to raspberry pi over a serial connection using serial to USB cable. I was able to log raw data using pySerial module however SFRB messages are not enabled by default and only RAW messages are enabled.

    I have found that custom messages can be sent in order to enable the SFRB messages as given in this wiki https://wiki.openstreetmap.org/wiki/UbloxRAW?fbclid=IwAR0Ijeti-i3dl6IRL303o4MA6r_UMqVzHi3ZZfULKTOgSwfc1hvcP5u7MgQ#ANTARIS4 I tried sending these hexadecimal messages using python statements as:


    These lines were added before the try statement of my code shown here. But I was only able to get RAW messages and not SFRB messages in my test.ubx file.

    I expect the ubx file with RAW and SFRB messages. This can be verified by converting the ubx file with rtkconv. Having only RAW messages only provides obs file during conversion however to get nav file also I need to also log SFRB messages.

  • Reading from uart

    I am using am57x micro-controller and plugged my ublox neo-m8n gps to UART6. After putting uart6 in device tree as shown below, how can I know which file to read from? i couldn't find anything in /sys/class/. how do i know which tty file the gps is writing to? Are there any uart native commands like the iscdetect and i2cget for i2c? Any help is appreciated

    From dra7.dtsi:

    From my device tree:

  • Constructing a hex array from binary data from serial port

    I have an external device, serially connected to a PC.Data is binary, not characters, meaning that I should not interpret data as ASCII characters.

    In the PC, I have Python 3.7 that reads the serial device with the use of pyserial.I want to fill a int8 array with the incoming data.

    I am working with threads, here is where I am so far, but this is not my first piece of code, I have tried several things, none of which worked.

    This one generates the following error:TypeError: 'bytes' object cannot be interpreted as an integer

    I have a somewhat strong C background, and Python is very confusing to me when it comes to data types.

    I hope my question is easily understood.


  • How to check is device on given port is working

    I have to write a code that is reading some information from serial port in endless loop, but I want to this script will be resistant to power failure. I try to iterate for all available ports, but it takes too long, beacuse I need to read around 13 lines every second, and do something with them. What is the best way to deal with it?

  • Reading Task on SerialDevice on Windows Iot Core

    I'm attempting to write a Task which will run until cancelled which will read any data which has been received by the UART and proceed to dispatch the received data through a defined event. I want the read loop to read for 200 ms before returning with any data it may have read in that timeslice (including possibly zero data) or when a full buffer has been read, whichever occurs first; the vast majority of the time the timeout will occur first. I have successfully sent data out the UART but I have failed to receive any data even though it has been confirmed the device received the data on the wire.

    The PropogateReceivedData( ReadBuffer( buffer ) ) call reads all the data in the buffer and then the data is dispatched; this is known to be working correctly. The ReadDataCancellationTokenSource member is stored to shutdown the Task when needed.

    Given the challenges I have experienced trying to get this approach, I am wondering if it should work or if not, what I need to do to get it to work.

  • Linux device driver for a gps module

    I am fairly new to linux, I am currently trying to integrate a gps module to a linux ARM controller. The gps is ublox NEO M8N and I have it connected to UART6. I need help to start communicating to the gps. I have searched for some documents but I couldn't find any relevant ones. I understand that I first need to write a kernel device driver for it, however I have no idea where to start. Could somebody point me to the right direction or tell me how I can write the device driver and start reading the latitude and longitude from gps.

Я установил последнюю версию pySerial в своем ящике Ubuntu с python 2.7.2, и он отлично работает для большинства вещей, но всякий раз, когда я пытаюсь импортировать пакет «tools», он говорит, что он не может найти «инструменты». Документация для pySerial явно ссылается на этот пакет «tools».

и когда я:

которая является последней версией в соответствии с Source Forge

Так почему я не могу попасть в пакет «tools» pySerial?

Используйте pip для установки pyserial . Первая установка:

После этого установите pyserial :

Похоже, что пакет ubuntu не совсем соответствует восходящему потоку. сравните официальный пакет pySerial с их SVN:

к пакету ubuntu в панели запуска:

Инструменты там тоже отсутствуют. Похоже, что они сохраняют скрипт miniterm.py и устанавливают его … где-то; Я не разбираюсь в deb deb, чтобы понять, где.

Я пришел сюда, потому что у меня была такая же проблема. Странная вещь заключалась в том, что

работал, но


не сделал.

Оказывается глупым я назвал сценарий «serial.py». После переименования все сработало.

Pyserial-2.4-py2.7.egg в папке site-packages импортировался, а не из серийного файла в папке site-packages. Как только я переименовал этот файл, чтобы он больше не импортировался из него, он работал нормально. Вы можете легко отладить это, выполнив


чтобы узнать, откуда импортируется серийный номер.

Pyserial Examples

да, используйте python-pip install ,,, then ,,, upgrade ,,, версия сериала будет 2.7 … это работает

На всякий случай, когда «pip install -upgrade» не работает (как это случилось со мной), в Linux вы можете проверить, есть ли у вас серийный пакет в /usr/lib/python2.7/dist-packages , новый последовательный упакованный тот, который устанавливает pip, идет в /usr/**local**/lib/python2.7/dist-packages/serial , по какой-то причине в usr/lib/python2.7/ имеет приоритет и инструменты модуля не существует в этой версии pyserial. Изменение имен или удаление каталога решают проблему.

Вы должны вызвать функции модуля следующим образом:

Например: если я хочу вызвать функцию sqrt из math модуля, я бы сделал:

Vw Rns 510 V9 Maps