Virtuální COM port přes WiFi a ESP32
...a to celé pod Windows, aneb sériový kabel bez kabelu, zato ale přes celý barák nebo třeba lokomotivu :)
Začalo to tím, že jsem si chtěl v práci připojit chytřejší multimetr z vedlejšího pracoviště, ale nechtělo se mi ani ho přenášet, ani bourat - a už vůbec se mi nechtělo tahat pětimetrový sériák, který by mi ukopnul první kolemjdoucí.
Rozhlédnul jsem se po netu, protože tohle určitě už někdo vymyslel - a taky že ano, našel jsem pár konstrukcí a kódů na githubu (a hromadu placených a drahých řešení), a nakonec zvítězil tento: https://github.com/yuri-rage/ESP-Serial-Bridge
V podstatě tam není co řešit, stačí předefinovat SSID a heslo, nahrát do ESP32, připojit se k WiFi a kouknout třeba telnetem, jestli všechno žije. Já si ještě pro testování udělal HW loopback na straně toho ESP32, abych mohl protáčet data skrz jeden port na druhý - ještě by to chtělo přenášet i RTS/CTS a bylo by to úplně dokonalé (aktuálně to umí jen RX/TX pár).
Našel jsem soft, který původně slouží pro jednoho z výrobců podobných záležitostí (Tibbo Device Server Toolkit, https://tibbo.com/downloads.html), kde se dá naistalovat celý balík SW (prakticky zbytečně) a z něj použít jen drivery, service a ovládací aplikaci, ve které se dá udělat namapování konkrétního virtuálního COM portu na TCP/UDP port. Tohle docela chodilo, ale asi to nebude licenčně úplně čisté.
Mezitim se mi ozval kolega z HW-listu a poslal mi malou, krásnou, letitou utilitu (ale pod Win10 64b funkční), která umí totéž a kde není jediné stopy po jménu autora, licenci, kontaktu, adrese - a to ani když jsem to zkoumal ResourceHackerem a binární editorem :) Takže to považuju za freeware a zatím spokojeně používám - k ostrému nasazení ještě pár dnů nedojde, ale schyluje se - zatím jsem vcelku spokojeně protlačil skrz ten loopback pár megabajtů a vypadá to použitelně, i když je to samozřejmě citlivé na vytížení wifi, zatížení procesoru a tak dále, podařilo se mi samozřejmě i nějaké ty bajty poztrácet. Ale zase na druhou stranu - když se měří, tak se kolem toho má
chodit po špičkách a ani nedýchat, takže si za to můžu sám :)
Teď si kolega "objednal" verzi s baterkou a jedním portem jako "mobilní kabel" do lokomotivy - když se na servisním výjezdu připojuje k řídícím kartám na servisní RS232, tak tam není místo, dlouhý kabel přes celou mašinu je kravina, protože to překáží a někdo to ukopne (nikdy není na výjezdu sám, vždycky je tam i nějaký "majitel" vozidla, takže se tam někdy motá i dost dalších lidí), s krátkým kabelem zase nemá kam položit notebook a je tam nacpanej mezi technologií. Takže to chci překompilovat na modul ESP8266 Wroom-02 s LiIon baterkou, k tomu přibastlit TTL/RS232 převodník, ten zapíchne do ovládané karty, k tomu ESP se v režimu AP připojí telnetem a může si hrát dle libosti pár metrů daleko, kde nebude nikomu ani nikdo jemu překážet. Uvidíme, třeba se to osvědčí.
Tolik asi shrnutí celé akce - vypadá to použitelně.