ESP staci pridat v board manageru a chova se jako normalni arduino akorat s wifi funkcemi navic ;) https://github.com/esp8266/Arduino
Asi nebude mít smysl použít Arduino + periférie když tohle s přehledem zvládne všechno a cena bude podobná jako Arduino + periférie... Odpadnou tím starosti o vzájemnou komunikaci, celý to bude nejspíš i úspornější atd. Holt bude ve většině aplikací více než velká výkonová rezerva, ale zase ovládání bude daleko pohodlnější a rychleji se dojde k funkčnímu výsledku. Už se na to těším.
Jinak ten ESP8266 jak již bylo řečeno v článku se dá programovat přímo (SDK, Arduino IDE) a někdy ani to Arduino není potřeba (pokud to podmínky dovolí). Já jsem s tím např. pomocí SDK vytvořil WiFi rádio - ESP8266, 1Mbit SRAM, VS1053, LCD/OLED + tlačítka (I2C port expander) a ještě mám v GPIO rezervu jednoho pinu na přímé připojení SD karty např. pro případné přehrávání MP3...
A co vy si představíte pod pojmem "prototyp"? Řada lidí si pod tím představí první kus, na kterém se v ostrém provozu ověřuje funkčnost. Takže fakt, že většina desek má šílenou spotřebu energie, pro některé oblasti problém je a prototyp se s tím postavit nedá. Pak se buď sáhne po něčem jiném, nebo se použije vlastní deska a Atmega.
Jako prototip to nejspíš nepoužívá vůbec nikdo.
Pokud to však někdo nepoužívá jen jako vývojovou nebo prototypovou desku, je to jeho problém. Arduino se k vestavbě do sériového zařízení naprosto nehodí - nikdy pro to nebylo navrženo. Snad Arduino Micro, za určitých podmínek, má smysl zabudovat do něčeho jiného než je zařízení, určené k výuce a experimentování...
To bylo myšleno tak, že pokud někdo používá Arduino (desku) a k tomu potřebuje ESP8266 tak ESP32 bude nejspíš úspornější než Arduino + ESP8266 a nebude se muset řešit komunikace mezi deskama, protože to bude vše v jednom pouzdru a navíc to bude zabírat i méně místa v prostoru. Předpokládám, že WiFi půjde vypnout, stejně tak i BT + nastavit nižší rychlost a spotřeba od Arduina se moc lišit nebude. Asi takhle, pokud budu potřebovat WiFi nebo BT šáhnu rovnou po ESP32 než to skládat z x desek.
Pokud bude cena obdobná, tak dle mého skromného názoru se vyplatí rovnou použít ESP32. Protože:
1. úspora programátorského času, bo je snazší poznat detailně jednoho zařízení než dvě
2. zařízení je úspornější co se týká spotřeby energie
3. s vypnutou wifi to s klidnou duší použiji jak Arduino, PIC, ... protože cena (a výkon)
4. pokud je potřeba nějaké připojení, tak to wifi&spol jen zapnu
Tak vzdycky najdes extremni pripady. Muzes treba chtit simulovat psani na klavesnici, kde ti ani ESP32 nebude stacit. Ale realne kolik takovych pripadu ma prakticky vyuziti. Ten priklad s prackou ale dost pokulhava. Vazne existuje pracka, ktera ma vic jak 16 tlacitek? Moje pracke se susickou ma dve tlacitka, jeden otocnej ovladac a dotykovej display s deseti kapacitnimi sensory a rek bych ze vic uz by bylo spis na skodu.
Veřejně to vystavené nikde nemám. Je to založené na těchto dvou projektech:
https://github.com/PiotrSperka/ESP8266-WebRadio
https://github.com/espressif/esp8266_mp3_decoder
Koukám, že v tom prvním projektu si tam SRAM mezitím taky dodělal, ale nemá tam displej a I2C expandér na tlačítka (ten je nutnost - ESP8266 má málo GPIO)... Bez SRAM to funguje, ale musí být dobrý příjem a bez SRAM se občas (nebo spíš dost často) rozjedou metadata s audiem (stačí drobný výpadek a zvuk není konzistentní). Když se metadata nepřijímají tak to docela obstojně funguje i bez SRAM. S SRAM a zapnutými metadaty mi to běželo půl dne bez nejmenších zádrhelů. Nemám tam tedy web server a žádnou možnost uživatelského nastavení. Ale je to rádio pro malého kluka a tomu stačí třeba deset předdefinovaných stanic ve zdrojáku (no spíš řekněme dvě a zbytek bude pro nás - rodiče a i dvacet dalších stanic je nad naše možnosti je využít, samozřejmě jich tam můžu nadefinovat třeba 200...). Překlad a nahrání nového firmware s aktualizovanýma stanicema je otázka půl minuty. Beztak by i za 10 let nevěděl co má přes ten web server nastavit - je mu rok a půl :-).
tak on tam nema svuj zdrojak, pouze odkazy na inspiraci, prace v Arduino IDE je opravdu tak hobby projekty, i na XP mi to casto pada i v beznem editoru kdyz pisu zdrojak, naprosto nevypocitatlne a nahodne, tak by me zajimalo nejake lepsi free prostredi, uvidime ... platformio. Mrknu.
> prace v Arduino IDE je opravdu tak hobby projekty, i na XP mi to casto pada i v beznem editoru kdyz pisu zdrojak, naprosto nevypocitatlne a nahodne, tak by me zajimalo nejake lepsi free prostredi
Hledej "Arduino makefile". Pak můžeš používat libovolný editor nebo IDE (třeba i NetBeans) a projekt se kompiluje standardním makefile.
Jako IDE mám Eclipse a je to psaný přímo pomocí SDK. Nikdy před tím jsem s ESP8266 + SDK nedělal, ale za pár dní jsem se do toho trochu dostal abych dokázal upravit ty stávající kódy na to co potřebuji + přidat pár věcí. Nicméně ten Polák má mimo tlačítek už vše napsané tak tam stačí dopsat jenom kód pro ten expandér portů + případný displej.
Máte nějaké konkrétní typy na H8, které by měly podobné parametry jako ESP32 a byly sehnatelné i v počtu několika málo desítek kusů?
Já co jsem našel, tak buď už se neprodávají, nebo mají MOQ v tisících. Přijde mi, že je to typický produkt pro velkoodběratele, který se k normálním smrtelníkům nedostane.
RPi není real-time, takže když budu potřebovat něco sledovat kontinuálně, mohu např. použít smyčku v arduinu a RPi si bude řešit své + občas si přečte pár pinů z arduina. To o RPi ani nemusí vědět, jede si pořád svou smyčku bez přerušení. Náklad + 30 Kč, to se někdy za zjednodušení práce RPi vyplatí. Jistěže to jde i jinak, ale někdy je dobré různé funkce od sebe oddělit.
Jestli RPi je nebo neni realtime zavisi na pouzitym OS/programu. To nesouvisi s HW.
Pokud bych k tomu pouzil Arduino, tak zamozrejme o RPi musi vedet minimalne v tom, aby nakou tu komunikaci s nim umoznilo. Je to naklad navic a programovani navic, ktery pri dobry navrhu neni nutny.
To Arduino bych pouzil pouze v pripade, ze nebudu pocitat s RPi, ale ze komunikace muze probihat jakymkoli pocitacem, treba pres USB. Pak je zase samozrejme moznost se vyprdnout na Arduino a pouzit treba ESP a umoznit tak bezdratovou komunikaci pres Wifi.
No ja pouzivam GCC a do 2 kB se mi vesla bitbangovana komunikace pres I2C s teplotnim cidlem MCP9808, komunikace pres SPI s NRF24L01+ a power management jak pro ATTINY, tak pro MCP i NRF.
V assembleru sem jen kontroloval, ze se to I2C preklada z C spravne.
Psat v assembleru na Arduinu s 32kB Flash mi prijde trochu jako zbytecnej masochismus.