ON GOPHER-OPTICS
So with my last phlog post, 2025-09-15Optical_ROOPHLOCH.txt, I've
finally fulfilled my long-running intention since
2023-09-30Last_Radio_Roophloc.txt to make a ROOPHLOCH post via
optical communications. Unfortunately since it turned out to be a
drizzly night, it ended up a pretty short message, but received
very well. I measured out the distance from my optical transmitter
to the receiver perched on the verandah of my house as about 17m.
Not exactly a record breaking distance, but a step up from the 9.5m
of my first test down the longest unobstructed path inside my
house. The receiving laptop on the verandah automatically uploaded
the message using my home WiFi, which I probably could have picked
up from the transmitter laptop anyway, but that's not the point.
ROOPHLOCH (the point):
gopher://zaibatsu.circumlunar.space/1/~solderpunk/roophloch
First and second world war tripods aren't particularly
accommodating for fine directional adjustments, even though it
seems the models I'm using were partly intended for an equivalent
role as stands for heliographs. But they are quick and easy to
mount to, and did the job quite well.
Since I ended up packing up in a hurry due to the rain, I didn't
get a photo of my set-up, but at least the photos I took before of
the transmitter and receiver can still be seen here:
gopher://aussies.space/1/~freet/photos/optical_comms/
As with my earlier optical post I used shell scripts to send and
receive the serial data sent via my DIY optical Transmitter and
receiver, then automatically upload it to the phlog. After all the
trouble I had with getting the Linux serial configuration right for
that, it was wonderful that everything pretty much just worked this
time on the software side. The one issue I did have is that my
optical receiver seems to have developed an intermittent tendency
to oscillate. That might just be a loose connection inside or
something to do with connecting ground to the laptop. I know RF
noise from that laptop drowns out FM radio reception wherever it's
running, so maybe I should try it with another one before digging
too deep into that issue.
Here are the latest copies of my scripts to transmit and receive
phlog posts via serial connection, then automatically launch them
into the Gopherverse. Much the same as those presented in
2025-01-01Lighting_Up_a_New_Year.txt, but now with some extra
precautions to help with reliablity. OpenSSH could be used instead
of PuTTY under "Uploading..." if desired, and setserial will
probably need to be installed. The first USB serial device might be
at /dev/usb/ttyUSB0 or /dev/ttyUSB0 in Linux. The stty commands
might need to be run as root on some systems. Generally I've found
there's a lot to go wrong! :)
opticrx.sh
-------------------------------------------------------------------
#!/bin/sh
# opticrx.sh [filename] [serial device] [baud rate]
# eg. opticrx.sh hello.txt /dev/usb/ttyUSB0 600
FILE="$1"
DEV="$2"
[ $3 ] && BAUD=$3 || BAUD=200
HOST=ausshell
DEST=/home/freet/goph/phlog
CMD="cd $DEST && /home/freet/bin/simplemkphlog.sh"
stty -F $DEV raw icanon -crtscts $BAUD || exit
# Set serial port time-out to 20min
which setserial > /dev/null && sudo setserial $DEV closing_wait 120000
echo " Receiving $FILE at $BAUD baud..."
cat $DEV > "/tmp/opticrx_$FILE"
echo " Uploading..."
pscp -C -sftp "/tmp/opticrx_$FILE" "$HOST:$DEST/$FILE"
plink -C -batch "$HOST" "$CMD"
less "/tmp/opticrx_$FILE"
echo " Operation Complete"
rm "/tmp/opticrx_$FILE"
-------------------------------------------------------------------
optictx.sh
-------------------------------------------------------------------
#!/bin/bash
# optictx.sh [file] [serial device] [baud rate]
# eg. optictx.sh hello.txt /dev/usb/ttyUSB0 600
FILE="$1"
DEV="$2"
[ $3 ] && BAUD=$3 || BAUD=200
# Set serial port time-out to 20min
which setserial > /dev/null && sudo setserial $DEV closing_wait 120000
stty -F $DEV raw icanon -crtscts $BAUD || exit
echo " Transmitting $FILE at $BAUD baud..."
cat "$1" > $DEV
echo -e '\x04\x04\x04\x04\x04\x04\x04\x04\x04' > $DEV
-------------------------------------------------------------------
The optical transmitter and receiver circuits are the same design I
presented in place of last year's ROOPHLOCH, when I didn't get it
ready in time:
gopher://aussies.space/0/~freet/phlog/2024-10-01ROOflop.txt
When I've sorted out the possible oscillation issue with the
receiver, and chanced upon some more accommodating evening weather,
I plan to try and find the limit for distance. It would be
interesting to compare how it works in daylight too. It's fair to
say I've got a long way to go to match the works of past optical
adventurers, such as the work documented excellently on
fellow-Australian Chris Long's website about analogue voice
communication by light:
http://www.modulatedlight.org/Modulated_Light_DX/MODULATED_LIGHT_DX.html
And more info elsewhere at www.modulatedlight.org that I must get
around to reading. They clearly think a fresnel lens would work
better, but I tend to stick with the junk that I've got to hand.
They can even transmit from mainland Australia overseas to
Tasmania, sort of:
https://www.youtube.com/watch?v=Sil33vRms64
- The Free Thinker
Index to my optical communications related posts so far:
gopher://aussies.space/0/~freet/phlog/2023-09-30Last_Radio_Roophloc.txt
gopher://aussies.space/0/~freet/phlog/2024-10-01ROOflop.txt
gopher://aussies.space/0/~freet/phlog/2025-01-01Lighting_Up_a_New_Year.txt
gopher://aussies.space/0/~freet/phlog/2025-02-02Night_of_Lights.txt
gopher://aussies.space/0/~freet/phlog/2025-09-15Optical_ROOPHLOCH.txt