News:

LATEST RELEASE:  FPP 8.5.1 - Download from here - https://github.com/FalconChristmas/fpp/releases/tag/8.5

+-+-

+-User

Welcome, Guest.
Please login or register.
 
 
 
Forgot your password?

+-Site Stats

Members
Total Members: 16901
Latest: Mr Tinker
New This Month: 17
New This Week: 2
New Today: 0
Stats
Total Posts: 135508
Total Topics: 16992
Most Online Today: 370
Most Online Ever: 7634
(January 21, 2020, 02:14:03 AM)
Users Online
Members: 0
Guests: 107
Total: 107

API over serial?

Started by jsamytaylor, July 21, 2022, 07:55:31 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

jsamytaylor

Ist there a way to send API commands over a serial port on a Beaglebone Controller?

I would like to make a Userinterface with an M5Stack Core2 (ESP32 based Board with Display). My Goal is to make a Userinterface where I can select Playlist to start..stop and so on. To send the commands I would use a serial port. Would be nice if there is a way to send API commands over serial communication. Maybe it is necessary to write a plugin or script?

Thanks for any answers!

dkulp

At this point, it would require a plugin.   It wouldn't be very hard to write and could easily be done in python or c++ or something.   If the UI can generate the JSON for the command, it could send that via serial and the plugin/script could just forward it directly via curl.

That said, the ESP32 has wifi built in.  Why use serial instead of over the network using the REST API?
Daniel Kulp - https://kulplights.com

jsamytaylor

Hi Daniel

I appreciate your fast reply! I used the REST API over Network before which worked very good. In this case I have a Standalone controller without Network connection. I know I could use GPIO inputs, but that would require more wiring and the flexibility is not good as controlling FPP over the API.
My Userinterface could send a JSON String over the serial port. I am not very good in coding. So writing a plugin or script is not my capability. 
Could you help me out or do you know someone who could do it for me? I am also willing to pay for the effort.

Thanks

CaptainMurdoch

I think you should be able to do this using "socat" and emulating a HTTP client on your ESP32, but it has been a while since I have messed with it.

Try the following:

sudo apg-get install -y socat
socat /dev/ttyS0,b115200,raw,echo=0 TCP:127.0.0.1:80

Change /dev/ttyS0 the proper device for the serial port and the 115200 speed to the correct value.  socat should create a two-way pipe between your serial port and the web server running on port 80.  From there, you can send HTTP requests over serial.  You might need to add ",keepalive" to the end of the TCP string.  If it works, you can create a script to run it inside a while loop in case socat dies.

#!/bin/sh

while /bin/true
do
    socat /dev/ttyS0,b115200,raw,echo=0 TCP:127.0.0.1:80
done
-
Chris

Support FPP

+- Recent Topics

Falcon PiCap not working on FPP 8.3.1 by Poporacer
Today at 05:36:12 PM

Virtual Display not working? by avarrassi
Today at 02:29:34 PM

Interactive Mini golf using FPP? by Bwinter
Today at 09:32:30 AM

Cheap Amazon pixel controller by MikeKrebs
March 23, 2025, 08:10:55 PM

Light Elf Bluetooth IP65 Laser by Kap10G
March 22, 2025, 12:45:02 PM

HA MQTT plugin for single model by s1godfrey
March 20, 2025, 08:21:46 PM

PixelOverlay-Clock - Revisited Again by jnealand
March 18, 2025, 06:00:53 PM

PixelOverlay-Clock.php works but I have questions... by datajack
March 18, 2025, 04:38:32 AM

Backup Feature not functional by efamlights
March 16, 2025, 11:58:28 AM

WS2811, Raspberry Pi 5, GPIO, could not initialize. by Ulysse-srfc24
March 16, 2025, 05:07:48 AM

Powered by EzPortal
Powered by SMFPacks Menu Editor Mod