OK1UFC 
    Převodník z WiFi na RS-232 , 2.  část (aktualizace původního článku) aktualizováno v srpnu 2020   
  
Úvod

Jedním z nejjednodušších způsobů, jak dostat spolehlivě a levně data z počítače, tabletu či z počítačové WiFi sítě do vlastoručně vyrobeného zařízení (ovládání, měřicí přístroje) je využití modulu Elfin EW10. Jde o opravdu maličký, spolehlivý a laciný modul, který se snadno konfiguruje. Vypadá takto:
 
Elfin EW10
  

Rozhraní RS232

Rozhraní RS232 má modul vyvedené pouze na 4 svorky. Napájení (používám 5V), společná zem GND a signály RX a TX. Zařízení je konfigurovatelné přes webové rozhraní z prohlížeče. Rozhraní RS232 jsem konfiguroval takto (pdf dokument).

Konfigurace zařízení

K zařízení existuje několk manuálů a několik SW nástrojů. Z nástrojů, které dodává výrobce, jsem nepotřeboval ani jeden. Základní manuál dávám k dispozici ke stažení zde. Zařízení umí několik režimů (z pohledu WiFi sítě), například Access Point (AP), umí STA i kombinaci obou režimů.

Každý Elfin, který jsem obdržel poštou, byl nakonfigurován jako tzv. AP (Accsess Point). To znamená, že po připojení napájecího napětí se mi objevil na notebooku v seznamu WiFi sítí. K Elfinu se bylo možné vždy připojit z IP adresy 10.10.100.254 a přihlašovací login a heslo bylo z výroby nastaveno na admin a admin.

Důležité upozornění: Pokud konfigurujete Elfin prvně a chcete si ho jen vyzkoušet ve spolupráci s vaší aplikací, doporučuji to dělat v režimu AP. Pro cílovou aplikaci se vám však možná bude hodit režim STA, kdy se bude chovat Elfin jako účastník vaší domácí sítě.

Při prvním laborování však buďte opatrní. V okamžiku, kdy zvolíte režim STA, přestane fungovat režim AP. Po obdržení třetí dodávky Elfinů jsem u prvního kusu jednal zbrkle. Nastavování se provádí v několika záložkách menu. Když jsem nastavoval položku "Settings", zapomněl jsem zadat jméno WiFi sítě a přístupové heslo. Rovněž jsem změnil AP na STA. Po restartu se Elfin rozběhl v režimu STA a vypnul AP. Jenže v STA nenašel žádnou WiFi, ke které by se mohl připojit. Režim AP byl vypnutý. Toto opomenutí bylo fatální a z Elfinu se stal během jednoho kliknutí nekonfigurovatelný kus železa.

Když už se toto stane, lze uvést Elfin do továrního nastavení pomocí kabelu s konektorem RJ-45, který má zapojené napájení. Barevné označení žil kabelu je na obrázku na konci stránky. Hnědá žíla (pin 8) je připojená na GND a hnědobílá (pin 7) na Vcc, např. 5V. Ještě budeme potřebovat modrou (pin 4), který normálně nepoužíváme. Můj Elfin se přepnul do továrního nastavení, když jsem modrou (pin 4) spojil s GND na několik sekund a současně jsem zapnul napájení. Při dalším zapnutí se Elfin rozběhl jako AP z továrního nastavení.

Konfiguraci, kterou dále popíšu je v režimu STA, kdy Elfin je součástí mojí domácí sítě. Na routeru ho vidím takto:
 

  Elfin v routeru
  
Použitý režim jsem volil proto, že mi server umožňuje jednoduchou práci s klientskými aplikacemi. V klientských aplikacích používám tzv. TCP Socket. To je zapouzdřená komponenta, do které posílám data, přijímám z ní data a konfiguruji u ní jen dva parametry. IP adresu, kde TCP server běží (viz obrazovka routeru) a port. Ten můj byl defaultně pro popisované úlohy nastaven na 8899.

První zkouška přenosu dat skrz TCP server a sériové rozhraní RS232

Pro první zkoušku jsem si propojil vodiče RX a TX. Drátem místo USB převodníku, na konektoru. Převodník, který je na fotkách, slouží k připojení druhého PC a k rozsáhlejším testům zařízení:
 
Elfin
  
Testovací program

Testovací program jsem si nakreslil v ProfiLab Expert (PLE). Vypadá takto. Ukázal jsem i konfigurační menu, ze kterého je zřejmá IP adresa (192.168.1.5), port (8899), režim (Client) nastavení (analogové), což znamená, že neposílám po jednotlivých vodičích bit po bitu (to by byl digitální režim), ale hodnotu, která je mezi 000 a 255. TCP klient to šoupne do serveru elfin, ten však má propojené RX a TX, takže to server pošle zpátky do TCP klienta a zobrazí se ta hodnota na displeji.
 
PLE
  
Vizuální vyvedení testeru

je vidět z obrázku vpravo. Text zezelená, když se tester spojí se serverem elfin EW10. Je to komponenta LED1, která má vyvedení textu.

Data se zadávají sliderem SR1. Zadání se zobrazuje na jednom displeji (ND2) a přijatá data se zobrazují na druhém displeji (ND1). Pokud je server zapnutý a RX s TX propojené, pak svítí LED 1 a přes port jsou přenášená data.

Jak prosté, že?
Tester
  
Konfigurace ještě jednou, opakování je matka moudrosti

Aby vše fungovalo, je třeba zařízení nakonfigurovat. Konfigurace je jednoduchá, dělá se přes webové rozhraní. Prvotní login/heslo je admin/admin a přihlašujeme se na IP adrese zařízení, které má v sobě integrován normální html server:
 
Konfig
  
Jednotlivé položky z levého menu jsem nakonfiguroval tak, jak vidíte v pdf dokumentech. Lze stáhnout STATUS - SETTINGS - SERIAL - COMMUNICATIONS - OTHERS.
 
Kabel pro ELFIN
 
Kabel jsem vyrobil z UTP okonektorovaného kabelu. Padl mi pod ruku s barvami organizovanými podle  T568B (obrázek vedle).

Použité žíly jsou:
GND - hnědá
+5V  - hnědobílá
RX    - zelená
TX     - modrobílá

Pro reset zařízení se ještě může hodit modrá žíla (pin č. 4). Ostatní žíly nejsou zapojené.
Kabel od napájecího zdroje (adaptéru 5V DC) jsem zapojil na konektoru RS 232, stejný zdroj napájí zařízení i Elfin. Já používám u svých zařízení k napájení rovněž konektor CANON 9, ale asi to v dohledné době změním u nových zařízení na micro USB.

Fotka mého kabelu je níže.
UTP T568B
kabel Pozor na kabely UTP, dělají se ve dvou provedeních (tedy, pokud je mi známo). Netuším, jak jsou které rozšířené. Já jsem padnul na kabel podle T568B. Kabel podle T568A má jinak zapojené žíly.



Závěr

1. SW pomůcky, které dodává výrobce, jsem k ničemu nepotřeboval, protože OPRAVDU VŠECHNO lze nakonfigurovat přes webové rozhraní. Virtuální sériové porty jsem rovněž nepotřeboval, protože umím psát aplikace (a v publikaci o vidláckém programování jsem ty metody publikoval), které mají v sobě vestavěn TCP Socket (klienta TCP), do kterého posílám data z ovládacích prvků. Proto jsem tyto věci nezkoušel, ani neinstaloval a ani si s nimi nezasral počítač. Rád tuto činnost nechám nešťastníkům, kteří mají staré aplikace, jež mají výstup dat pouze do sériového portu.

2. Jde o velmi moderní a elegantní řešení, které je navíc laciné.

3. Venku montuji Elfin do novodurové trubky. Nahoře má plastovou zátku, dole ji nechávám otevřenou. Aby modul nevypadl dolů, jistím kabel špuntíkem z pěnového polystyrénu (není vidět na obrázcích).

4. Tento článek byl dříve publikován v mých aplikacích. Jak vidíte, informace jsou stále platné.
  
Shrnutí výhod a nevýhod řešení
 

Výhody

Nevýhody

 
1. Modul je dodán ke své funkci naprogramovaný. Nic se neprogramuje, pouze se přes web konfiguruje.

1. Proti Raspberry nebo Arduinu není modul univerzální. Funkcionality modulu bychom s určitým nemalým úsilím pravděpodobně dokázali naprogramovat.
2. Modul je kompaktní, malý a extrémně spolehlivý.  
3. Konfigurace umožňuje použít více základních režimů, jako je AP, STA (server TCP/IP). 2. Sériovou komunikaci mezi sériovým rozhraním modulu a námi vyrobeným přístrojem musíme vyřešit programovatelným čipem. V článcích bude popsána extrémně snadná a jednoduchá metoda, jak vše rychle a spolehlivě realizovat. Odměnou nám bude velké množství (např. stovky) výstupů  a vstupů dat.
4. Díky TCP je modul snadno adresovatelný v domácích sítích WiFi pomocí IP adresy a portu. Můžeme mít současně puštěných desítky zařízení na jedné síti.  
5. Data lezou z modulu do námi vyrobeného přístroje (zařízení) standardním způsobem pomocí sériového portu. 3. Možnost výstupu dat např. z Raspberry do sériového portu máme rovněž. Nejedná se o objektivní výhodu modulu.
6. Na sériovém portu lze použít protokol s adresováním. Díky tomu můžeme v jednom místě spínat např. stovky relé nebo z místa sbírat hodnoty z desítek až stovek měřicích čidel (ADC převodníků). Nejsme omezeni jednotkami až desítkami pinů, jako např. u Arduina nebo Raspberry.  
7. Nemusíme se učit psát aplikace pro programování fyzických portů Raspberry ...  
TU 73, Mira, ok1ufc