I am trying to get an arduino to communicate with the BeagleBone Black and send some measured sensor data over via the serial port. I am using the most recent version of node red to do this. I am running the latest version of Debian.
I have confirmed using an oscilloscope that the arduino's serial port is outputting the information when it is supposed to (it's triggered by an interrupt sent by the BBB). I can see the serial ports that are supposedly enabled in /dev and they appear as ttyO1, ttyO2, and ttyO4, and I have confirmed the port mapping and ruled out wiring issues as well (I'm using a logic level converter to go from the arduino's 5V to the BBB's 3.3V level).
The ports also appear to map like so:
lrwxrwxrwx 1 root root 5 Jun 9 22:37 ttyO1 -> ttyS1
lrwxrwxrwx 1 root root 5 Jun 9 22:37 ttyO2 -> ttyS2
lrwxrwxrwx 1 root root 5 Jun 9 22:37 ttyO4 -> ttyS4
Node red also sees these ports and indicated that they are 'connected' which I assume means opened.
When I attempt to receive data on the BBB from ANY of these ports I am unable to see anything on the output in node red or from the command prompt.
I am using a baud rate of 300 to rule out timing issues. I have also confirmed that the arduino's serial settings should be matched to what the BBB is expecting. Lastly, I have even tried sending simple strings from one serial port to the other on the BBB itself.
Has anyone here had this sort of issue and if so, how did you come to a solution?
TL;DR: When I attempt to receive data on the BBB from ANY of the UART ports I
am unable to see anything on the output in node red or from the command
prompt. Already ruled out the obvious issues, and the BBB clearly sees the ports. What could be the issue here?
json source from nodered:
[{"id":"1a47c203.f9dc9e","type":"serial-port","z":"1d18ac42.887634","serialport":"/dev/ttyO2","serialbaud":"300","databits":"8","parity":"none","stopbits":"1","newline":"\\n","bin":"false","out":"char","addchar":false},{"id":"879d3b35.230e98","type":"debug","z":"1d18ac42.887634","name":"Sensor Output View","active":true,"console":"false","complete":"true","x":385.78334045410156,"y":60.44999694824219,"wires":[]},{"id":"5eef16d7.037da8","type":"serial in","z":"1d18ac42.887634","name":"Sensor Data","serial":"1a47c203.f9dc9e","x":124.7833251953125,"y":150.683349609375,"wires":[["879d3b35.230e98"]]},{"id":"52614fb3.59fe2","type":"bbb-discrete-out","z":"1d18ac42.887634","pin":"P8_7","inverting":false,"toggle":true,"defaultState":"1","name":"Interrupt to Sensors","x":284.38330078125,"y":348.3000183105469,"wires":[["ff5b799a.86d1a"]]},{"id":"bdbd2367.9d45a","type":"inject","z":"1d18ac42.887634","name":"Poll Sensors","topic":"","payload":"\\n int","payloadType":"str","repeat":"","crontab":"","once":false,"x":126.38330078125,"y":283.7333679199219,"wires":[["52614fb3.59fe2"]]},{"id":"ff5b799a.86d1a","type":"trigger","z":"1d18ac42.887634","op1":"int","op2":"0","op1type":"val","op2type":"pay","duration":"250","extend":false,"units":"ms","reset":"","name":"Reset","x":468.08331298828125,"y":352.0333251953125,"wires":[["b8a60fb7.8d86f"]]},{"id":"b8a60fb7.8d86f","type":"bbb-discrete-out","z":"1d18ac42.887634","pin":"P8_7","inverting":false,"toggle":true,"defaultState":"1","name":"Reset to HIGH","x":611.38330078125,"y":405.96668243408203,"wires":[[]]},{"id":"7e38a1db.de0088","type":"comment","z":"1d18ac42.887634","name":"Send Interrupt to Arduino","info":"","x":385.7833251953125,"y":286.9666748046875,"wires":[]},{"id":"b75bbc4d.e19d18","type":"comment","z":"1d18ac42.887634","name":"Serial Port Setup","info":"","x":142.0833282470703,"y":79.08333587646484,"wires":[]}]