I need the RPi to talk RS232 serial so I can have it control the displays. The Pi does serial through its GPIO pins. The pins on the RPi provide for UART serial, RXD, TXD, and GND.
There are some issues around the serial voltages. The RPi serial out uses something closer to CMOS voltages — 3.3v to represent HI and 0v to represent LO — while almost every other device uses TTL voltage for RS232 serial — anywhere from 3v to 15v to represent HI and 0v to -15v to represent LO. The crazy voltages allow RS232 serial to be less susceptible to interference. But it also means that a RS232 HI coming into the RPi could break its little 3.3v heart. However, the Pi’s 3.3v transmit out should be fine for one-way communications with other RS232 TTL devices.
I may have had my hopes a little too high thinking I could hook the Pi to the Betabrite via serial and control the display the first time out, but it was worth a try. This is my first failed try.
So I realized that something a bit more incremental might be helpful. Can we get the Pi serial to talk to an Arduino? A little sketchy since I’d never done either, but at least it was a path well-blazed and if it failed I could diagnose the individual parts of this setup.
I had the Pi’s serial output going to the Arduino’s input ports. I found an Arduino sketch that looped through listening to the serial port and reporting what it found. And I found several things that told me how to communicate out via the Raspberry Pi’s serial.
After a few iterations it worked!
Now, I have to see about hooking up the Pi to the Betabrite LED signs. But so far, even using the magic and mysterious Betabrite communications protocol, the sign appears not to be listening.
Additionally, I need to talk to two serial devices. So I need two serial ports. There’s the one I’ve already experimented with, GPIO pins 14 and 15. But what about the second. I can use one of the USB ports and get a USB to RS232 converter. Or I can use the second semi-secret serial port on the RPi, oh but wait, it appears to use the same GPIO pins. Well, that’s not so helpful. Okay, I guess it is a USB to RS232 converter. Off to Amazon.com.
But still I can’t get the Betabrite to respond to anything sent via the serial on either the RPi or the Arduino. So possibly it is a serial voltage level problem.