Aktualizováno v srpnu 2019

      
 

   Směrovače z WiFi do RS232
  
Úvod

V předchozím článku jsem popsal několik věcí, které se týkají komunikace skrz sériový port. Přestože je sériový přenos v praxi obtížně nahraditelný, existují důvody, kde je výhodou jeho použití a případy, kde jeho použití nemá smysl. Používat komunikaci přes sériový port nemá smysl, pokud jde o komunikaci mezi počítači připojenými k síti LAN, WiFi. Podobně, jako nemá smysl v radioamatérské praxi vrtat díru do zdi kvůli komunikačnímu a ovládacímu kabelu z hamovny k anténám. Realizace přenosu dat mezi počítači je jednoduchá a levná, pokud použijeme technologie LAN sítí a WiFi. Moderní vývojové prostředky obsahují spolehlivě fungující zapouzdřené komponenty. S těmi se dělá snadno a rychle. Proto je realizace spojení mezi počítači protokolem TCP otázkou jednoduchého programování, které trvá opravdu jen několik minut. O tom však bude některý z dalších článků. Nyní uvedu schéma a HW, tedy věci, které používám ke komunikaci mezi PC (aplikací) a zařízením se sériovým portem (např. tuner, přepínač antén, měřicí ústředna):
TCP - serial
 
Na levé straně schématu je sice nakreslena spousta serverů, možná to vypadá složitě, ale ve skutečnosti se jedná o jednoduchý komunikační program, který běží buď na domácím serveru nebo na PC, ze kterého ovládáme a řídíme zařízení. Bude popsán mezi články o programování. K TCP serverům (na schématu S1 až S4) se připojují klienti aplikací (tunerů, přepínačů, měřicích přístrojů, ...). Na pravé části jsou servery, které nedělají nic jiného, než převod TCP komunikace na komunikaci po sériovém portu (RS232). Tyto převodníky lze realizovat buď s pomocí jednodeskových počítačů, např. SBC Asus Tinker Board, na kterém běží jednoduchý program. Toto řešení je robustní a spolehlivé. V nejbližší době budu zkoušet program na Raspberry Zero, u kterého nehodlám programovat tzv. I/O piny, ale pouze využívat sériová rozhraní. Rovněž se vyrábějí různá levná (300 Kč) zařízení, která plní podobné funkce, např. Elfin EW10. Viz obrázky ještě níže.
 
  Asus s USB převodníky
EW10 Elfin
  Souprava Elfin
Elfin ve funkci STA zařízení přihlášený k domácímu WiFi routeru:
Router
  
Závěry

Pravděpodobně existuje celá řada řešení a zařízení, která umí realizovat přenos dat z TCP serverů do sériového portu (nebo ttyUSB0 zařízení). Zařízení, které jsem naprogramoval na jednodeskovém počítači Asus bude s největší pravděpodobností fungovat na Raspberry Zero. Továrně vyrobená zařízení jsou zase vyrobená s vysokým komfortem administrace, např. přes webové rozhraní. Nemusí však být dostatečně transparentní pro naše potřeby. Já osobně sleduji, aby řešení bylo spolehlivé, aby bylo extrémně jednoduché programování jednočipového mikropočítače v zařízení. S tímto programováním opravdu nehodlám strávit večery. Podobně nemám v úmyslu bádat nad věcmi, které neudělali programátoři továrních převodníků dostatečně transparentně. Moje zařízení chodí s minimálními požadavky na řízení toku dat sériového rozhraní.

Poznámky

V úvodu článku jsem uvedl řešení s jednodeskovým počítačem ASUS Tinker Board. Jde o Linuxový stroj s architekturou ARM. Toto řešení nemusí být vždy vhodné pro TCP server se směrováním do RS232 v případě, že tvoříme své aplikace ve vývojovém prostředí určeném pro Windows. Pokud vezmeme v potaz cenu ASUS Tinker Board, tak mi vycházejí tyto náklady:
deska SBC ... 1500,- Kč, USB zdroj ...200,- Kč, SD karta ...100,- Kč, krabička ...100,- Kč, tedy dohromady asi 1900,- Kč
Za alternativní řešení s PC Lenovo Stick 300 jsem dal také 1900,-Kč. Balení obsahovalo miniaturní počítač v krabičce, napájecí USB adaptér, kabel USB - microUSB a prodlužovák HDMI na připojení HDMI displeje. Mini počítač je vybaven 4 jádrovým procesorem, operačním systémem Windows 10 home, úložištěm eMMC (32G), pamětí RAM (2G) a rozhraním USB. Na takovém stroji krásně běží serverová část, klientské aplikace pro místní ovládání a další věci pod Windows 10. Za stejné peníze, jako jsme dali za ASUS Tinker Board.
 
Stick 300 Stick 300 zapojení
 
 
TU 73, Mira, ok1ufc