NETIO 4C je malé PDU (Power Distribution Unit) na 110/230V se čtyřmi ovládanými výstupy. Obsahuje Ethernet switch a 2x LAN port na připojení do sítě. Vedle toho má NETIO 4C 3-pinový sériový port RS-232 (Rx, Tx v napěťových úrovních RS-232). Problémem a zároveň výhodou sériového portu je, že samo rozhraní nic neřeší. Smysluplné napojení periférie jako jsou ovladatelné elektrické zásuvky je otázkou stejného protokolu na obou stranách.
Standardní postup pro něco jako I/O periferie je vytvořit RS-232 slave zařízení, implementovat do něj jeden z mnoha nabízejících se protokolů a říct zákazníkovi „vyřešte si náš protokol v nadřízeném systému.“
Obsluha sériového portu RS-232 jinak
Český výrobce elektrických zásuvek NETIO products a.s. tenhle problém vyřešil jinou cestou.
Všechny modely NETIO 4x podporují různé M2M API. To znamená, že umožňují ovládat jednotlivé elektrické zásuvky kromě web rozhraní přes různé TCP protokoly (Modbus, XML, JSON, SNMP, MQTT a další). K tomu navíc podporují chytré zásuvky NETIO 4x spouštění scriptů v jazyce Lua, které běží v samotných elektrických zásuvkách . Vzniká tím něco, co by šlo nadneseně nazvat „PLC pro ITáky“.
Lua se hodí pro různé algoritmy spínání v čase, podle nějakých podmínek, čtení stavu senzorů po síti přes XML a podobně. Lua je jednoduchý skriptovací jazyk, vytvořený tak, aby uživatel nemohl snadno svým skriptem sestřelit celé zařízení, ale právě jen jeho skript. Proto také Lua používají počítačové hry pro uživatelská rozšíření. Na celé věci je sexy, že skript se píše přes web rozhraní zařízení a to je vše.
Právě Lua skript může mimo jiné obsluhovat sériový port. Respektive uživatelský skript v Lua čeká na dotaz ze sériové linky a posílá na něj odpověď. Tohle řešení umožňuje aby NETIO 4C zásuvky reagovali na jakýkoliv protokol na sériovém portu. Uživatel si prostě do skriptu vloží potřebné řetězce a s nimi související výpočty.
Aplikační poznámka AN18, zveřejněná na webu výrobce, ukazuje, jak na to. Úprava komunikace pro libovolné zařízení zabere na straně NETIO 4C jen pár minut. Skript, vytvořený pro tento účel, totiž obsahuje stejné příkazy, jako se dosud používaly přes TELNET a zároveň obsahuje editovatelnou sadu dotazů a příkazů. Vše je editovatelné v záhlaví skriptu a pro jednonuché úpravy ani nemusíte umět programovat v Lua.
V praxi to znamená, že programátor vezme sadu dotazů a odpovědí pro RS-232 slave zařízení a přes web rozhraní je vloží do před-připraveného skriptu AN18. Restartuje zařízení a nově spuštěný skript reaguje po RS-232 na zadaný protokol. Lze tak elektrické zásuvky NETIO 4C ovládat po RS-232 například z PLC, z UPS, z průmyslového počítače a podobně.
Praktické postřehy
Jistě skript je třeba odladit a otestovat, k tomu se používají zápisy do LOGu. Restarty zařízení s každou novou verzí jsou zátěží pro váš organizmus v podobě dalšího kafe (restart trvá cca minutu) a podobně. Ale pro mnoho aplikací, kde potřebujete pár jednotek až desítek kusů je to úspora času, oproti programování nějakého PLC nebo MCU a potom výroby relé pro spínání 230V. O potřebě revize / certifikace nemluvě.
Aplikační poznámky od výrobce jsou celkově dobře udělané, předpokládá se uživatel Copy-Paste s editací pouze v záhlaví skriptu a podobně.
https://www.netio-products.com/cs/aplikacni-poznamky/an18-ovladani-serioveho-portu-rs-232-z-lua
https://www.netio-products.com/cs/zarizeni/netio-4c
Komentáře
PLC pro ITáky
My staří ITaci (penzisti) používáme výrobky firmy Sonoff které jsou cenové relaci zhruba 10x až 20x nižší. A té radosti co si užijeme - Tasmota ,ESP Easy, MQTT, Lua, Domoticz atd.
https://www.banggood.com/search/sonoff.html?sbc=1