Skip to content

Commit

Permalink
Add simple asyncio RTU serial client exmaple
Browse files Browse the repository at this point in the history
  • Loading branch information
tiagocoutinho committed Nov 14, 2020
1 parent 3844b02 commit 2acdbae
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions scripts/examples/simple_asyncio_rtu_client.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/usr/bin/env python
# scripts/example/simple_async_rtu_client.py
import asyncio

from serial_asyncio import open_serial_connection

from umodbus.client.serial import rtu


async def main():
reader, writer = await open_serial_connection(url='/dev/ttyS1', timeout=1)

# Returns a message or Application Data Unit (ADU) specific for doing
# Modbus TCP/IP.
message = tcp.write_multiple_coils(slave_id=1, starting_address=1, values=[1, 0, 1, 1])

# Response depends on Modbus function code. This particular returns the
# amount of coils written, in this case it is.
response = await tcp.async_send_message(message, reader, writer)

writer.close()
await writer.wait_closed()


asyncio.run(main())

0 comments on commit 2acdbae

Please sign in to comment.