ArduinoEasy firmware

Bár jómagam elégedett vagyok az ESPEasy és az ESP8266 által nyújtott lehetőségekkel, de nem kerülte el a figyelmemet, hogy sokan viszolyognak a WiFi-s DIY megoldásoktól. És mivel én is el tudok képzelni olyan megoldást, ahol egy LAN kábel közelsége praktikusabbá tenne egy vezetékes eszközt, így hát elkezdtem nézelődni.

Így akadtam az ArduinoEasy nevű variánsára az ESPEasy-nek, ami a korábbi stabil változat portolása AVR rendszerre. A mérete jóval kisebb, valamint a menüje is egyszerűbb a manapság megszokottnál, de működik.

arduinoeasy_maple.jpg

Az eredeti Arduino Mega 2560-ra készült egy LAN fejlesztői panellal kiegészítve, ami így együtt nemcsak, hogy se nem olcsó, de se nem kisfogyasztású, nem is gyors, hely is alig van rajta: mind flash tárhely, mind memória tekintetében szűkös a platform. (különösen a 8KB RAM kevéske egy ESPEasy jellegű programnak, ami bizony instabilitáshoz vezet, erre fordításnál az Arduino IDE fel is hívja a figyelmet, aki nem hiszi, próbálja ki nyugodtan)

Így nézne ki az eredeti, ósdi szörnyeteg, ha valaki meg akarná vásárolni:

arduinomegaethernet.jpg

És hogy ne csak a levegőbe beszéljek, íme pár összehasonlító paraméter a szóban forgó eszközökről, és az általam helyettesítő-eszközként talált STM32 panelekről: 

  Arduino Mega 2560 ESP8266-01S ESP8266-12 „D1 Mini” ESP32 STM32F103CBT6 „Maple Mini” STM32F103RCT6 „Generic Board – Blue Button”
Órajel 16MHz 80/160 MHz 80/160 MHz 160/240MHz 72MHz 72MHz
Flash 256KB 1MB 1/4MB 2/4MB 128 KB 256KB
RAM 8KB 32KB +80KB 32KB +80KB 520KB 20KB 48KB
Digital IO 54 4 11 22 (+4 input only) 34 51
PWM 15 4 9 16 12 bármelyik láb
Analog in 16 0 1 18 9 21
Ár 2 000 Ft 400 Ft 700 Ft 1 200 Ft 1 000 Ft 1 800 Ft
Hálózati illesztés +1500 Ft (W5100 Ethernet Shield) Beépített WiFi 2.4Ghz Beépített WiFi 2.4Ghz Beépített WiFi 2.4Ghz +1000 Ft (W5500 LAN) +1000 Ft (W5500 LAN)
Firmware ArduinoEasy ESPEasy ESPEasy ESPEasy32 / uPyEasy ArduinoEasy-STM32fix ArduinoEasy-STM32fix

 

Erős volt a kísértés, hogy az 1000Mhz-es és 512MB RAM-al rendelkező Raspberry Pi Zero W-t is szerepeltessem a táblázatban (hiszen az RPIEasy-vel gyakorlatilag bármire használható, amire a fentiek), de nem lett volna sportszerű.

Aki azt gondolná, hogy oké, az Arduino egy lassú eszköz, de biztos kevesebbet fogyaszt, részben igaza van. Maga az Arduino az elhanyagolható teljesítményével valóban elhanyagolható fogyasztású, viszont ha a W5100 modult rákötjük ez máris 5V 180mA-re ugrik!
Csak tájékoztatásképpen: egy ESP8266 5V/40mA körül fogyaszt, egy RPI Zero W pedig 5V/80mA átlagban.. és hasonló a helyzet persze az STM32+W5500 kombinációval, ami az alapértelmezett 100M LAN kapcsolaton 5V140mA körül fogyaszt, ha pedig azt lejjebb állítjuk 10M sebességre, úgy a fogyasztás is lemegy az RPI 80mA-es szintjére.
Persze a kábeles eszközöknek a tápellátása is kábelen jön, így a fogyasztás ritkán kritikus szempont, ennek előnye inkább a WiFi-vel szemben a rádiós lehallgatás és hatótávon belülről történő hálózati feltörések elleni védelem.

Aki nem érzi késznek magát belevetni az Arduino IDE rejtelmes világába, inkább vegyen egy LAN Controller 3.0-át, amit mellesleg szintén STM32 alapú és MQTT-t is tud, bár az egész zárt forrású, ám kész megoldás.. a többiek folytassák az olvasást, ha kíváncsiak milyen mély a nyúl ürege.

A szükséges lépések:

 

Ahogy a táblázatból is látható, a Maple Mini-nek azért a 128k flash tárhelye nem túl tágas, főleg aki követi a kurrens ESPEasy kiadásokat, tudja, hogy bőven túl vannak a 600KB méreten.. a régebbi ArduinoEasy viszont, mivel eleve kisebb kapacitású eszközökhöz készült, nagyjából 160KB méretű binárisra fordul, amit különböző huszárvágásokkal (DEFINE feature sorok módosítása fordítás előtt a kódban) le lehet minimalizálni 110KB méretre, ami már felfér a Maple Mini-re.. ha minden opciót engedélyezünk, a módosított STM32-es ArduinoEasy 200KB helyet kér. STM32F103-nál számolni kell azzal is, hogy a könnyű, USB-n keresztüli feltöltést biztosító, úgynevezett "bootloader" gyárilag 20KB méretű, amit lecserélve a 8KB-s bootloader 2.0-ra értékes kódhelyet nyerhetünk! (elméletileg a bootloader el is hagyható, ez esetben az USB-s feltöltést nem tudjuk használni persze utána, csak külső UART-USB programozóval)

Kell még az adatok tárolására úgynevezett adatpartíció is, Arduino Mega 2560 esetében ez az Ethernet Shield-be helyezett SD kártyán tárolódik, ami bár nem rossz ötlet, de én személy szerint kihagynám az extra alkatrészeket, meg a LAN kártyával osztott használatú SPI-t.
Normál ESPEasy esetében 128KB-ot foglal az adatpartíció a flash tárhely végén (SPIFFS). STM32-nél hasonló módon faék egyszerűségű megoldással a flash tárhely végén tárolhatjuk a 4-12KB méretű (erősen csökkentett) adatpartíciót. Vagyis maximálisan a fordított kód mérete Maple Mini esetében 128-4-8=116KB lehet. Ebbe példának okáért a Domoticz MQTT controller plugin a maga 48KB méretével semmiképpen nem fog beleférni, ne is számítsunk ilyesmire. (a sima HTTP viszont igen)

ae_maple_info.jpg

Ha minden opciót lefordítunk, akkor a kb 200KB-os kód után a 12KB-os (16 eszköz felvételére elegendő) adatpartíció nagyon szépen elfér a nagyobbik, "Blue Button" STM32F103RCT6 256K flash tárhelyén.. hát még az attól alig eltérő, 512K flash tárhellyel szerelt STM32F103RET6-on, ami cirka 50Ft-al kerül többe! (érdekes módon nekem mind a kettő nevezett eszköz egyaránt 512K flash-el érkezett)

ae_blue_info.jpg

Az STM32 "Maple Mini" és az STM32 "Blue Button"-ra történő Arduino fordítás és feltöltés részleteiről egy következő cikkben fogok kitérni. (természetesen, ahogy mindig, kizárólag Linux operációs rendszer segédletével)

Fontos infó: Mivel az STM32-n nincs ugye LAN csatlakozás, a külső W5500 modult SPI1-re (4,5,6,7 pinek) kell kötni fixen, ez nem változtatható.

A bejegyzés trackback címe:

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

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

  • szenorb: Hello. Bekötöttem 12V-ra , a bemetére egy mozgás érzékelőt kötöttem. Szépen kapcsol a relé a késle... (2023.06.14. 06:48) Shelly okosrelé (Shelly1)
  • Melanoheliophobia: Üdv! Kb. 2 éve vásároltam két ugyanilyen okos izzót. Sajnos az egyik még garancia idő alatt eltávo... (2023.05.03. 16:50) Shelly Vintage okosizzó
  • eNeS: Lehetséges, bár az ESP8266-ot lassan ideje elfelejteni, ha nem helyi hálózatra akarsz vele forgalm... (2023.04.02. 08:43) Tasmota szkriptek
  • eNeS: @tomih: Thonnyban rebootot nyomva nekem se megy az NTP. De mikor lekapcsoltam a Thonnyt és rebooto... (2023.04.02. 08:40) Raspberry Pico és a LAN (W5100S-EVB-Pico)
  • krump_lee: Kedves eNeS! ESP8266 tasmota-val szenvedek, hiemq kapcsolat sehogy nem jön össze, sehol nem talál... (2023.04.02. 08:31) Tasmota szkriptek
  • 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