I am having a problem while trying to communicate Rockblock 9603 satellite module from my OpenMV H7 Plus board.
I am simply trying to have an “OK” response to my “AT” command. With PuTTY, everything works fine, when I enter “AT”, it immediately returns OK to me. Also, with Python, everything works fine with original RockBlock Github test codes ( Adafruit_CircuitPython_RockBlock/rockblock_simpletest.py at main · adafruit/Adafruit_CircuitPython_RockBlock · GitHub ).
Below is the code block that I am trying to communicate with the satellite module.
It always returns None to my “AT” commands. However, in all trials I’ve done (more than 500), it returned OK for 2-3 times and I have no idea why it responded correctly.
Below is the output that I have.
For the times when it returned “OK”, the command was NOT b’AT\r’ , it was b’AT\r\r\n’. So I also tried to set it manually to b’AT/r/r/n’ instead of b’AT\r’, but it did not work.
About the connections, I’m sure I plugged everything correctly. RXD and TXD are connected to P5 and P4 ports respectively, I also tried P0 and P1 ports, but it also did not work.
readline() has a timeout that’s set by the UART driver init. You might want to read each byte in a loop manually and then check for a newline to be more robust.
Thanks for your reply. I tried to read each byte in a loop but it again did not work. I have also set the timeout parameter in UART constructor with different values such as 100, 300, 5000 etc., however, “None” is the only output I still have.
Below are the codes I’ve changed and the output I’ve been getting.
Further help would be great if possible. Thanks in advance.
Also, for make it crystal clear, this is the constructor of it:
Do you think there is a possibility that this problem is caused by the OpenMV? Sorry to disturbing you continuously but it is extremely important for us to communicate with the iridium module over the OpenMV, and we are about to come to a point where we will be left out of our solution ideas.