[solved] Wireless Serial to stream TPM2 (or other serial stuff?)


#1

I am looking around to find a solution for my challenge:
Before I studied Feature Request - Update SmartMatrix over WiFi but it contains several ways and I want to make clear wich way is my preferred.

I use Jinx! to stream the TPM2 protocol to the teensy via USB-Cable.
Now I am looking to connect to the USB/Serial wireless.
Currently I am not sure how this could work

As far as I know there are some ways:

  • Wireless Router with OpenWRT
  • Raspberry Pi with integrated WiFi
  • ESP8266
  • HLK-RM04

Somehow I did not can figure out how I can use these devices to stream through.
And are they fast enough?

For my understanding how it works.

AURORA listens on the serial Port/USB of the Teensy for TPM2 specific messages.
When a TPM2 message hits it the display start to stream.

So I need a solution that provides a serial output to the teensy.
There are some serial protocols out there. SPI/UART/I2C

  1. Wich protocol is utilized by the aurora/teensy?
  2. How can I connect from my PC to the wireless device to send serial data? (not the network connection basics)
    It should depend on the preferred wireless device but I can’t imagine how. Some IP based serial thingi has to go on.
    Jinx! provides to connect to devices via IP. But how. I have seen many tutorial that shows how the wireless devices are set up but no one that describes how to connect via IP to the MCU on a PC.

I have an TP-Link TL-WR703N with an currently unpopulated serial interface laying around.

I need a little push to get in the right direction. Is it possible? Are there some restrictions with the frame sizes of the TPM2 protocoll via IP? (tpm2.net)

EDIT: So much thinking above.
I just did it: Solution here: [solved] Wireless Serial to stream TPM2 (or other serial stuff?)


#2

It’s not using TPM2, but if it were me doing this project I’d use the SmartMatrix Fadecandy port and a WRT-703N or RPi. I’ve tried with both, RPi is easier to get working as you can compile fadecandy server right on the Pi.


If you need it to work with the other features of Aurora, and need to use the TPM2 protocol, I’m not exactly sure what to advise as I haven’t done the project myself, but I believe the RPi at least will be fast enough to receive frames via WiFi and send them via TPM2 over USB. I don’t know if there’s existing software out there that can handle the translation, or share a serial port over WiFi.


#3

Thank you for you reply Louis. I will have a deeper look at this.:+1:


#4

WOW - That was easy!

I utilized the TP-Link TL-WR703N with OpenWrt.

  • set up the TP-Link TL-WR703N with OpenWrt
  • install USB serial Support for Teensy
  • install ser2net on the OpenWrt
  • plug in Teensy to the USB Port of the WR703N and start ser2net
  • install Perle Trueport on the PC and set up a virtual COM-Port with Network access (https://www.perle.com/downloads/trueport.shtml)
  • connect Jinx! to the Virtual COM-Port
  • Done!

I did not test other functionalities than the TPM2 Streaming through the Network Serial Port yet but the streaming is very stable during the last 8h.

TP-Link TL-WR703N with OpenWrt

This How-To will explain how to flash OpenWrt to the Device
https://wiki.openwrt.org/toh/tp-link/tl-wr703n

In order to make the following steps the router must have set up to connect to the internet.
My router is configured as Wifi-Client and connected to my Wifi/LocalNetwork.

USB serial Support for Teensy

Sources for my way:
http://ediy.com.my/blog/item/6-control-arduino-with-tp-link-tl-wr1043nd-router
https://www.htlinux.com/arduino-forward-serial-to-telnet-with-ser2net-on-tplink-mr3020-running-openwrt/
http://trac.gateworks.com/wiki/ser2net

You could add the ser2net service via the OpenWrt GUI but I recommend the ssh way.

ssh into device

add usb support

opkg update
opkg install kmod-usb-acm

Plug in Teensy to the USB port of the WR-703N and check usb device is present

dmesg | grep -i usb

install ser2net on the OpenWrt

still ssh into device

opkg update
opkg install ser2net

winscp into device and edit /etc/ser2net.conf or use

vi /etc/ser2net.conf
add line at the bottom
1234:raw:0:/dev/ttyACM0:115200

1234 = TCP Port later used in Trueport
raw=protocoll
device=/dev/ttyACM0
baud=115200

Start ser2net with via ssh

ser2net

Use OpenWrt Startup and add ser2net for instant ser2net start on router boot up

Network Serial for Windows7

Download and Install Perle Trueport
https://www.perle.com/downloads/trueport.shtml

Configure COM-Port

Change TCP Port to 1234 and switch to Lite Mode


Hit Apply and OK

In Jinx! you can now choose the COM Port you set up before. DONE!

Very stable. No hickups:


#5

That’s great! I’m a WR703n and Linux newbie, so those instructions would be really useful for me to try this myself


#6

I updated the post. Have fun. :slight_smile:

Today got a second WR703N for 10€.:grin: I need one extra to experiment with.