I am guessing you are programming in python with pyserial installed. It seems that the readline() would return a empty line, and therefore its printing nulls. This is because of the timeout being passed with 1. The print statement adds a newline at the end, so it will keep printing newlines. This is why you would see your text momentarily.
You may want to use print(data, end="") if you don't want to add newlines at every print statement.
You may want to check if there is data on the returned readline() before passing to print(data), as it would keep printing empty strings.
If there's no hardware handshaking, have you considered software handshaking? Instead of firing a (e.g.) 20kByte buffer at your device at any given time, first write a small "write request" (which includes the length) on the UART, wait for a "write acknowledgement" from the device, then write the buffer. You could even do it chunk-wise with known chunk sizes and acknowledge each chunk (and resend if something was lost). Preferrably, the transfer on the receiver side from the UART peripheral into RAM should happen via an interrupt / ISR or be DMA accellerated. I think this would actually eliminate most of the problems you're seeing right now. How does it currently work? Does some application thread read the data from UART into RAM?
@Arun-Kapur I don't see any problem with the C code I have pointed you to.
I have personally tested the C code to work as expected on my Omega2+ for UART1 on 115200 Baud (8N1 standard config, non-blocking).The receiving side is a USB-Serial converter on my Windows 10 system. Connections are already listed in the documentation (GND, RX1, TX1).
It does not say that your file does not exist - this message says that ash cannot find any executable in bin named foghorn1.wav, which should be run. The same way when you write eg. ls - ash then looks for a proper executable in bin and if no results are yielded, returns an error message.
If you want to run a file from current directory, you'd need to write ./my-file, but it only works for executables, which - clearly - a music file is not.
I dont see what the converter has to do with not finding and playing a file
I bought SDS021 and would like to extend it's life. As per product sheet this sensor can be putted into sleep mode. Sleep mode can extend life of this sensor. According to vendor information SDS021 laser will last up to 8000hrs (~1 year) of continious work.
Do you know how to put SDS021 into sleep mode via python and wake? I do not need to have air quality delivered every second. Would like to start script from cron hourly.
On Omega2 at least at the RO pin of MAX485 some kind of 5V to 3.3V level shifting is needed.
The simplest solution: put a voltage divider between RO and RX1.
And you should connect the pull-up resistors of input pins (DI, DE, RE) to 3.3V.
RS-485 can be made full-duplex by using four wires ie. two twisted pairs.
Is your Modbus slave full-duplex?
BTW you could build also full duplex config with two of your MAX485 modules. ;)