LAN relé - (MapleMini)

Ismét egy proof-of-concept projekt következik, mindenféle dobozolás és csicsa nélkül.
A felvetés egyszerű: hogyan tudnánk LAN-on keresztül egy relét vezérelni?

A kiindulási alap egy létező eszköz, ha rákeresünk az e-bayen a LAN Ethernet Relay kifejezésre (SR-201 néven is ismert). Amivel egyébként különösebben nincs baj, a szerény rá integrált STC chiphez képest (aminek a pontos típusát szemérmesen elhallgatják minden oldalon, nyilván valami óriási 16kB flash tárhellyel rendelkező típus) korrekt iparosmunkának tűnik, webes felülete ugyan nincs (nyilván se a tárhelye se a memóriája nem elegendő ilyesmire), ám REST API-n keresztül lehet URL hívásokkal vezérelni, adnak hozzá szoftvereket is (bár a legnagyobb zsákbamacska az okoskütyüknél a zárt forrású firmware)... de a rá integrált ENC28J60-ra nincs bocsánat, 5 ezer forintos ára sem túl reális.
Az ENC28J60 LAN vezérlőről azt kell tudni, hogy gyakorlatilag minden funkcióját szoftverben kell megvalósítani, nincs saját memóriája-gyorsítótára, és a vezérlő (ami ez esetben egy ismeretlen STC) terheltségétől és teljesítményétől függően tesztjeim szerint csak egy mérnöki csoda teheti lehetővé, hogy miközben folyamatosan pingeli valaki, ne szűnjön meg a LAN kapcsolata legalább 5 percenként...

De ne is merüljünk bele nagyon, szerencsére nem a fenti eszközről lesz szó, hanem az ArduinoEasy és a MapleMini egymásra találása jegyében az alábbiról:

maple_relay.jpg

A fenti csendélet tagjai:

Eszköz Bruttó ár
Maple Mini STM32 fejlesztői lap (*) 1060 Ft
W5500 LAN modul (*) 1037 Ft
3.3V-os 1 csatornás relémodul (*) 545 Ft
miniUSB-USB A kábel (*) 285 Ft
5V1A hálózati töltő, USB (*) 260 Ft
Összesen:  3187 Ft


Természetesen 3VDC tekercsfeszültségű relét alkalmaztam, ugyan a MapleMini tolerálja bizonyos bemenetein az 5V-ot, de ez nem jelenti azt, hogy használná is, mivel a belső logikája 3.3V-os...

Talán látszik, hogy még ha veszünk +1 relét a fenti konfighoz, árban akkor is jobban jövünk ki, és talán mondanom se kell, hogy a MapleMini+W5500 kombó úgy viszonyul az STC(?)+ENC28J60-hoz képest, mint egy Toyota Avensis a kétütemű Trabanthoz.

Bekötés:

maplerelay.jpg

Firmware

A korábban már ismertetett ArduinoEasy kerül rá, a >> MapleMini-nél << leírtak szerint fordítsuk le és töltsük fel!

Joggal merülhet fel azonban a kérdés: Muszáj állandóan fordítgatni a feltöltéshez?
A válasz: nem feltétlen.

Ha a korábbi cikkben leírt bootloader2.0-át már feltettük (stm32flash segítségével), akkor a továbbiakban a ~/Arduino/hardware/Arduino_STM32/tools/linux/ mappában található maple_upload parancsfájl segítségével, parancsorból fel tudunk tölteni binárisokat (ezeket célszerű elraktározni a későbbre), amiket korábban az Arduino IDE segítségével exportáltunk. Itt van példának okáért az általam használt változat:

Ha le akarjuk tesztelni előbb, hogy az USB kábel csatlakoztatását követően látható-e az eszközünk, így tudjuk megtenni:

cd ~/Arduino/hardware/Arduino_STM32/tools/linux/dfu-util
sudo ./dfu-util -l

Amire válaszul ilyesmit fogunk látni:

dfu-util 0.8

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org

Found DFU: [1eaf:0003] ver=0201, devnum=56, cfg=1, intf=0, alt=2, name="STM32duino bootloader v1.0 Upload to Flash 0x8002000", serial="LLM 003"
Found DFU: [1eaf:0003] ver=0201, devnum=56, cfg=1, intf=0, alt=1, name="STM32duino bootloader v1.0 Upload to Flash 0x8005000", serial="LLM 003"
Found DFU: [1eaf:0003] ver=0201, devnum=56, cfg=1, intf=0, alt=0, name="STM32duino bootloader v1.0 ERROR. Upload to RAM not supported.", serial="LLM 003"

A lényegi feltöltést a maple_upload meghívásával tudjuk indítani, valahogy így:

cd ~/Arduino/hardware/Arduino_STM32/tools/linux/
./maple_upload ttyACM0 2 1EAF:0003 ArduinoEasy.maple_mini_relay.bin

Az első paraméter a "ttyACM0" egy virtuális soros port, az utána levő 2-es jelenti azt, hogy a kisebbik 8kB méretű bootloader van használatban, az 1EAF:0003 az USB azonosítója a Maple-nek, és az utolsó paraméter a feltöltendő bináris fájl. Ugyanezt a parancsot használja az Arduino IDE is a feltöltéshez.

A válasz:

dfu-util 0.8

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 1eaf:0003
Run-time device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Setting #2 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0110
Device returned transfer size 1024
Copying data from PC to DFU device
Download [=========================] 100% 116048 bytes
Download done.
state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present
Done!
Resetting USB to switch back to runtime mode
Waiting for /dev/ttyACM0 serial...Done

Ha sikerrel járunk, akkor máris elindult a sketch és elérhető a kütyü, ha sokat gondolkozott, egy Reset gomb megnyomás a Maple-ön sokat tud segíteni.

 

screenshot_20190708_122053.jpg

Ez az előző stabil ESPEasy 1.2 verzióhoz hasonlóan állítható be, a Config menüpontban át tudjuk írni az alapértelmezett IP címét, ha 0.0.0.0-át írunk be, akkor DHCP-t fog használni induláskor.

screenshot_20190708_123629.jpg

A helyszűke miatt csak a Domoticz HTTP controllert fordítottam bele, de ahogy már írtam a korábbi cikkben is, szabad a vásár, mindenki azt hagyja benne, amit szeretne.. és persze befér.

Felvehetünk egy Switch input eszközt (ez persze alapvetően bemenetek olvasására van kitalálva, de a kimenet státuszát is láthatjuk):

screenshot_20190708_122353.jpg

A relé állapotát a gpio paranccsal tudjuk váltani, vagy a Command mezőben, vagy Rules-ban, vagy az ESPEasy-ben szokásos HTTP parancsküldésen keresztül: ( http://<espeasyip>/control?cmd=<command> )

screenshot_20190708_121736.jpg

Talán első ránézésre nem tűnik túl egyszerűnek a dolog, legalábbis a fordítás és feltöltés része, viszont még mindig sokkal egyszerűbb, mintha az egész keretrendszert, GUI-t, hálózatkezelést, eszközök kezelését, NTP és hasonló nyalánkságokat saját magunknak kellene le is programoznunk...

 

A bejegyzés trackback címe:

https://bitekmindenhol.blog.hu/api/trackback/id/tr7814931784

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.

Támogatók:
okosotthon.jpg
allterco.jpg

Utolsó kommentek

  • faterkm: Jó ötlet, köszönöm. Most kicsit megyek utó-nyaralni, de később kipróbálom és mindenképpen referálo... (2024.08.30. 17:35) Tasmota firmware
  • eNeS: Az 5V az jó ha stabil, viszont a 3V-os tápra az ESP elé tehetnél egy kicsit nagyobb kondenzátort p... (2024.08.29. 19:34) Tasmota firmware
  • faterkm: Köszönöm, hogy foglalkozol a problémámmal. További infók: a "rendszerem"-ben 5 ilyen modul van, és... (2024.08.29. 19:32) Tasmota firmware
  • eNeS: @faterkm: az nem jó jel. 5V 3A-es tápegyésggel próbáltad már? Nem kizárt egyébként a lapon levő fe... (2024.08.29. 17:10) Tasmota firmware
  • faterkm: Pontosan ezt valósítottam meg: bitekmindenhol.blog.hu/2018/02/03/wifi_mini_rele_5v_esp-01s és azt ... (2024.08.29. 17:06) Tasmota firmware
  • Utolsó 20

Címkék

433mhz (12) alkatrész (22) alternatív kapcsoló (2) amg8833 (1) analóg (2) android (1) arduinoeasy (5) audio (1) automatizálás (3) bemenet (3) bk7231n (1) ble (1) blitzwolf (4) bluetooth (9) bridge (2) camhi (2) csináld magad (22) dimmer (1) diy (28) do-it-yourself (27) domoticz (11) ds18b20 (1) ebay (3) érintő (2) érintőkapcsoló (7) érzékelő (11) esp-01 (2) esp32 (11) esp8266 (21) espeasy (2) espurna (1) esp projekt (18) Eview7 (1) ewelink (1) feldolgozó (1) felhő (1) fényérzékelő (1) firmware (7) flame detector (1) fogyasztásmérő (5) ftdi (1) füstérzékelő (1) gázérzékelő (1) gpio (1) hang (4) hangjelző (1) hőmérséklet (22) https (1) ikea (1) impulzus relé (1) izzó (2) javascript (1) jelenlétérzékelő (3) kamera (18) keresztkapcsoló (1) kézmozdulat (1) kijelző (3) kimenet (21) konnektor (8) lan (9) lángérzékelő (2) led (3) linux (4) logic level converter (1) lua (1) lux (1) maple mini (2) mcu (3) micropython (1) mikrovezérlő (2) milkv (1) mobil (1) mosfet (1) mozgás (5) mpyeasy (4) mq-2 (2) mqtt (3) működtető rendszer (5) multiroom (1) nedvesség (1) neo (1) neopixel (1) Node-RED (1) nvr (4) nyitás (7) okosház (4) okosizzó (3) okosotthon (8) oled (1) onvif (8) openbeken (1) opencv (1) openwrt (4) orange pi (4) páratartalom (6) php (1) pico (1) pi pico (2) poe (1) programozás (9) projekt (25) proximity olvasó (1) python (2) raspberry (14) raspberry projekt (6) raspbian (1) reed (1) relé (27) rf (2) rgb (6) rock pi (1) rögzítő (2) rp2 (1) rpieasy (1) rtc (1) shelly (24) smartwise (1) solid state relay (1) sonoff (20) SonOTA (1) soros (1) ssl (1) ssr (1) stm32 (4) szenzor (11) szilárdtest relé (1) szintillesztő (2) sziréna (1) szkript (3) szünetmentesítés (4) t1 (1) tasmota (8) távirányító (3) Telegram (1) termékteszt (85) termosztát (2) touch (2) ups (5) usb (7) usb hub (1) valós idejű óra (1) vezérlések (20) vezérlő (5) világítás (5) villanykapcsoló (12) webkamera (1) wiegand (1) wifi (32) ws2812 (1) xiaomi (5) xm (4) xmeye (4) yoosee (1) zigbee (16) zwave (3) Címkefelhő
süti beállítások módosítása