This is an implementation of the Onkyo EISCP protocol for running on Microcontrollers utilizing MicroPython.
It is a heavily stripped down version of the Onkyo EISCP library and supports sending commands to connected devices in the same IP-Network.
Compared to the original library, this one is also utilizing uasyncio for being able to run the project easily with other code.
As an example turning on the first device in the network and changing the audio input.
import uasyncio
import network
from eiscp import discover
wifi = network.WLAN(network.STA_IF)
wifi.active(True)
wifi.connect('SSID', 'PW')
loop = uasyncio.get_event_loop()
clients = loop.run_until_complete(discover())
client = clients[0]
loop.run_until_complete(client.power_on())
loop.run_until_complete(client.command("SLI", "11"))
The EISCP library has been real world tested with an ESP32 microcontroller inside of the ESP32 IR Remote Protocol.
It communicates successfully to a SX-S30DAB.
The project has been published via the MIT license.