Musim rict, ze ten datasheet je opravdu hezky udelany. Z pohledu nekoho kdo pouziva ruzne SoC mne zaujala ta PIO machine (ne, PLD to neni ani nahodou, ani se tomu neblizi).
Vlastne by se mi na praci nejaky Cortex-M4 s nekolika podobnymi PIO-koprocesory hodil, dalo by se tim resit spoustu veci ktere patlam slozite pomoci interruptu a asm kodu. Idealni predstava je par jednoduchych PIO-core, ktere by ruzne sly prodratovat mezi sebou a GPIO. S tim by sly delat divy ...
Dovolim si hypotezu, podle me kdyby chteli jen hezky dokumentovany MCU tak se domluvi s nekym kdo to ma jako core business a bud' si nechaji udelat neco trochu vic na miru a vytvori k tomu tu dokumentaci, nebo jednoduse udelaji desku s cizim resenim a to pekne zdokumentuji. Rekl bych, ze spis se chteji naucit udelat neco vetsiho do budoucna.
Koukněte na Cypress PSoC, jestli neznáte. Podle toho co píšete by pro vás mohly být zajímavé. Integrují i Cortex-M4 s programovatelnými bloky. Viz wiki: https://en.wikipedia.org/wiki/Cypress_PSoC
PSoC znam a je to neco jineho nez tady ten automat.
Viz treba https://upload.wikimedia.org/wikipedia/en/a/ae/Psoc_blocks.PNG
Mit navic v RPxxxx nejakou malou strukturu s par LUTy a maly crossbar by bylo perfektni.
Dyt to autor pise v clanku:
"To funguje jen do chvíle, kdy vám Arduino dokumentace přestane stačit. To se dřív nebo později stane a vy musíte vzít do ruky datasheet. Najednou se ocitnete v detailní dokumentaci výrobce procesoru, která je na hony vzdálená od čehokoli, co jste viděli v Arduino světě. Kazí to LX:
Kdyz se podivam na stranku Pi Pico, tak najdu dokument, kde je napsane jak udelat i debugovat prvni projekt, a to vcetne instalace potrebnych programu az po zapojeni hardware, linux/macos/windows, s obrazkama.
Kdyz se podivam na arduino.cc, tak tam je nejaka napoveda, ale roztristena na nekolik stranek, nejaky zacatecnicky projekt tam nevidim, a kniha Getting Started With Arduino je momentalne vyprodana.
Ja mel za to ze se bavime o tom, co poskytuje vyrobce. A ano, arduino ma hromadu navodu, protoze tu arduino je uz hromadu let. Coz nic nemeni na tom, ze dokumentace na strankach arduina je horsi nez dokumentace na strankach Pi Pico.
"Zatim je to stavebnice se kterou si nikdo ani nehral" - nejprv zagoogluj a nekecej nesmysly. Nasel uz jsem nekolik prikladu na ty PIO. Pimoroni uz ma nekolik veci pro Pi Pico (nejake audio, displaye). Ocividne nez to vypustili ven, dali to dalsim firmam at pro to neco vyvinou.
Většina uživatelů arduina stáhne IDE a nic víc nepotřebují. Sice má velice tupý editor, ale to ostatní kolem je v pohodě. Výběr desky (příp. stažení její konfigurace z repozitáře), příp. volba frekvence procesoru, nahrát sketch stažený z githubu je otázka pár desítek sekund.
Samozřejmě to má mouchy, setup + loop se hodí jen na jednoduché projekty, ale funguje to. Úplně stejně i pro STM32, bluepill za pár dolarů, změnit desku, tlačítkem nahodit boot režim a za chvilku přes USB nahrané. Opět jen na jednoduché projekty, ale spoustu lidí víc nepotřebuje, stačí jim setup + loop.
Ja nerikam ze to u arduina nejde, nebo ze to je slozite kdyz vite jak na to.
Zkusil jsem se na stranku arduina podivat pohledem uplneho zacatecnika, a moc jsem nadsen nebyl.
Kdezto stranka pi pico byla pohledem zacatecnika mnohem lepsi, je podle mne snazsi se do toho dostat (pro deti).
Jasne, muzeme predpokladat ze zacatecnik zacne googlovat "jak na arduino" i jinde na netu. Ale uprimne, navodu je milion a zvolit nejaky vhodny je docela opruz. Nektere jsou uplne odpady, nektere jsou skvele. Ale proc nema dobre navody rovnou arduino.cc?
...že to bude fungovat. Prošel jsem si tím taky a zjistil jsem, že Arduino je na ho..uby při druhém projektu (první bylo klasické rozblikání LEDky). Přehršle knihoven a žádná pořádně funkční, jakmile chceš víc, tak konec. I ten Micropython má své limity, ale o několik řádů dále, než cokoliv od Arduino. Kolik hodin jsem strávil pročítáním datasheetů a procházením diskuzí, abych pak zjistil, že Arduino není cesta... Takže zahodit vše, včetně logiky a hezky znovu.
Například, obyčejný display s ILI9341 kontrolerem a SPI rozhraním - najít opravdu funkční knihovnu byl ohromný problém (knihoven bylo v nabídce přehršle, ale pochybné kvality). Nakonec jsem syntézou existujících musel udělat vlastní. Rozchodit XPT2046 (dotykovou vrstvu) bylo nemožné... Další věci si už nepamatuji, je to už pár let. Najít věci na webu arduina je problém, i když jako pokročilý vím, co hledám. Dohledat detaily implementace je problém, občas je nejasné jak věci fungují, některé věci jsou nelogické - PWM jako analogwrite na digitální pin? Cože?
Ale toto jsou jen střípky, už je to pár let a opravdu si to nepamatuji, protože jsem Arduino přestal používat. Na druhou stranu, dokumentace k mému oblíbenému ESP32 je taky kapitola sama pro sebe a esp-idf... (a když se násobí problémy esp-idf s arduinem, tak raději mlčím...).
Takže, pokud RPi Pico přinese vyšší standard do těchto zatuchlých vod, tak jen dobře. A doufám, že díky tomu Pico nezapadne.
Dělal jsem na arduinu projekt s ST7735 přes SPI a bylo to v pohodě. ILI9xxx řadičů jsou mraky variant, měl jsem stejnou starost najít knihovnu pro čínský TFT dotykáč (navíc 8bit paralel) na STM32. Nevěřím, že pro RPi Pico bude podpora TFT řadičů lepší než pro arduino, každý model řadiče se trošku liší a někdo to bude muset napsat a otestovat. Arduino má náskok 10 let.
To ale na 99% nebyl problem Arduina, nybrz toho, ze cinsti vyrobci nejen ze kopiruji svet, ale i mezi sebou a kazdy si udela krapet jine zapojeni. Takze neni problem koupit na Aliexpressu v jedne varce 5 displeju a pulka jich bude mit jine schema zapojeni (ci jen sw adresu radice) a nebo dokonce i soucastky. To pak logicky plati o knihovnach, kazdy lepsi kutil dojde do stejne faze, upravi nefunkcni knihovnu a zverejni. Pak se vsechny jmenuji stejne a jsou na stejne displeje, ale neni to pravda. Proto napriklad Sparkfun dela vlastni veci a dava k tomu vlastni knihovny a svete div se, funguje to. A ten totozny displej z Ali nepujde na Sparkfun knihovnu.
Tak jednak ve skutečnosti Arduino Nano s ATmega328P na Ali za $2, a jednak to není o ceně kitu, ale o tom ekosystému - podpoře SW a kýblu knihoven a examplů na všechno. Existují porty Arduino SW na ARM a bohužel fungují dost všelijak. (a taky teda ARMy co jsem potkal měly 0.5mm pitch, což už se mi blbě pájí na rozdíl od 0.8mm atmegy)
26. 1. 2021, 10:30 editováno autorem komentáře
Kdyby slo jen o datasheet, tak udelaji peknej obrazkovej datasheet pro nejakej zajetej uC, kterej je na trhu a nechysta se z nej pryc.
Na me to spis pusobilo jako ze vyviji procesor pro velky raspi, ale tohle je prvni zkusebni iterace, aby neco zkusili vyrobit a prodat nez to dotahnou cely. Tak vzali co zatim maj, orezali to na uC a vydali.
Kdyby to melo bejt primarne na vyuku, tak by byl zajimavy risc-v, kterej pochazi z akademickyho prostredi a je prehlednejsi nez jiny ISA.
Nechci být příliš kritcký, ale tady tato diskuze, diskuze např. na zive.cz a tento článek obsahují hodně závadějících informací, řadu doměnek, které by s trochu nadsázky šlo považovat za konspirační teorie a občas i faktické nesmysly. Rozeberu tedy tento článek.
> Opustila svoji doménu jednodeskových linuxových počítačů s výkonným procesorem a pustilo se do vod malých embedded procesorů, na kterých Linux nepustíte.
Linux na tom s řadou kompromisů spustíte. Nebude to kdo ví jak pohodlné, ale jde to. Linux jde spustit (nikoli používat) i na AVR. https://www.youtube.com/watch?v=nm0POwEtiqE To je jedna z informací, kterou považuji za zavádějící a nepřesnou.
> Obecně se ale nedá říct, že v porovnání s konkurencí jako je STM32, ESP32, SAM a mnoho, mnoho dalších je to něco, co by vám vyrazilo dech.
To bych úplně neřekl. Je zde řada věcí (pozitivních i negativních), která Vám mohou "vyrazit dech". Za pozitivní věci jde považovat dual-core a vysoká frekvence (které sice nejde dosáhnout vždy, ale i tak). Za negativní nutnost externí flash nebo třeba málo pinů a dostupnost jen jednoho package.
Trochu bych se vrátil k té frekvenci. Cortex-M0 používá třístupňovou pipeline. To znemená že každá instrukce se vyokánává 3 takty, ale tím že se začne další instrkuce vykonávat již v proůběhu předchozích, tak efektivně procesor vykoná instrukci za takt. Čas od času se ale při zpracování instruce stane, že je třeba na něco počkat. Typicky to může být třeba když výsledek jedné instrukce závisí na předchozí. U RP2040 je ale ve skutečnosti ještě jeden velký problém. První fáze zpracování instrukce je její načtení z paměti. Pokud vykonáváte instrukci z RAM tak to bude trvat cca 1 cykl (ono to může být víc, pokud jsou nutné wait states, ale v dokumentaci o tom mení zmínka). Problém je že RP2040 nemá interní flash. Interní flash by umožňovala vykoávat instrukce podobně rychle jako ze SRAM (tam je obvykle více wait states, ale ani tak to není nic dramtického). Tím že RP2040 má jen externí flash, tak pokud je vykonávaná instrukce, která není v 16 KiB cache (ta cache je velmi důležitá), tak její načtení trvá podstatně déle. DO Flash paměti se musí přenést instrukční kód READ, což trvá 8 cyklů na QSPI sběrnici, pak se musí přenést adresa, což jsou obvykle 3 byty a tedy 24 cyklů, pak se musí počkat 8 cyklů než se Flash připraví rychle dumpovat data teprve pak se začnou přenášet data. Potřebných 32bit se po čtyřech vodičích přenese za 8 taktů. Za předpokladu že RP2040 i Flash běží na 133 MHz (u jiných frekvencí ty výpočty mohou být jiné, protože s emohou vynechat například ty wait states), tak čtení instrukce bude trvat 48 cyklů. Což je 24x pomalejší než u běžné integrované Flash v jiných MCU. Efektivně tak doáhnete výrazně nižší rychlosti než očekáváte od 133 MHz. Většinou to není problém, protože tento problém efektivně řeší ta cache, která data poskytuje za jeden takt (jako SRAM), ale v okamžiku kdy začnete vykonávat kód, který není v cache, tak nastane dočasně dramatický pokles výkonu. navíc bych upozornil, že tento výpočet má předpoklad že i externí Flash běží na 133 MHz, ale to nemusí být. Samotná dokumentace doporučuje kvůli integrity vysokorychlostního signálu používat frekvenci vydělenou čtyřmi. Pak sice bude přenos trvat taky 48 cyklů na sběrnici QSPI, ale 48 těchto cyklů je 192 hodinových cyklů procesorového jádra, které běží na 133 MHz.
> V různých článcích a recenzích najdete často jako argument cenu. Ta je sice nižší, ale ne tak diametrálně.
Samozřejmě, když je nutné si k tomu koupit externí flashku na uložení programu. Po zohlednění tohoto faktu už ta cena není zas taková hitparáda, zejména v kombinaci s výkonovými aspekty interní vs externí flash.
> Pokud by ST představilo novou řadu dvoujádrových ARM Cortex-M0+, tak to pro ně dává smysl a nikoho to moc nepřekvapí. Ale Raspberry Pi? Honila se mi hlavou jediná otázka a nemohl jsem se jí zbavit:
> Proč se v Raspberry Pi do něčeho takového pustili?
> Opravdu chtějí konkurovat velkým hráčům jako ST, Microchip nebo Espressif. V tom musí být něco, co mi uniká… Žádná z recenzí ani diskusí, co jsem četl, mi to nebyla schopna vysvětlit.
K této doměnce přiložím svoji doměnku složenou ze dvou částí:
1) Oni jim nechtějí konkurovat.
2) na trhu je stejně poptávka. I kdyby si třeba kaufland vyrobil MCU, tak ho prodají. Firmy ukazují, že po mikrokontroléch je obrovská poptávka a chrlí jeden za druhým. Řady mikrokontrolérů se mezi vendory mnohdy ani moc neliší a přesto to dělají. Jeden výrobci si mezi řadami často konkuruje sám sobě a dělá +- duplicitní čipy, ale koho to zajímá? Všechny prodá. Ten trh je obrovský. Všichni chrlí modely jeden za druhým a přesto je prodávají po desítkách milionů. Neznám frimu, která by z návrhu a výroby MCU byla kvůli přesycenému trhu nešťastná. Místo toho v prospektech pro investory jdou najít radostné zmínky že firmy XYZ dodala svůj bambiliontý mikrikontrolér, vydělala miliardy a já nevím co všechno ještě. Tento trh neživí fanoušci a bastlíři, kteří si koupí 5 kusů na svůj domácí IoT project. Živí ho výrobci, kterří tyto docela univerzální čipy používají k řízení věcí, které prodají po milionech kusů a tedy i ten mikrokontrolér postupem času nakoupí v obrovských sériích.
> Odpověď bude v datasheetu
V datasheetu bývá všelico, ale strategie firmy/neziskovky jen málokdy.
> V tu chvíli, jsem si uvědomil, jak čtivě je ten datasheet napsaný.
MCU je čip určený k tomu aby jej programovali lidé. A to ve velkém. To je podstatný rozdíl ve srovnání s například specializovaným ASICem ve Wi-Fi routeru. Ten nikdo nikdy programovat nebude. Firmware do něho napíše ten vendor a nemá důvod s psaním čtivě dokumentace aby si svůj Wi-FI router mohl přeprogramvoat Franta z Horní Dolní. MCU bez dokumentace je neprodejný, firmy si nemůžou dovolit platit reverzní inženýry místo programátorů an studování co ten čip dělá a jak ho naprogramovat. Podobně prodejnost MCU s dokumentací pod NDA je velmi omezená. Firmy, které MCU vydávájí se musí smířit s tím, že musí udělat detailní a čtivou dokumentaci, aby psaní firmwaru bylo co nejjednodušší a tedy pro zákazníky méně časově náročné a tedy i levnější. Všiměte si že firmy, které krom dvou stránkových marketingových datasheetů nikdy nic nezveřejnili (např. mediatek), tak prakticky žádné MCU nedělají. To je logické. Stejně by je neprodali. Je to docela srandovní. Když si vyhledáte na google "mediatek microcontroller", tak jeden z mála výsledků bude MT2523D a když si otevřete jeho stárnku, tak hned v záhlaví bude že čip byl prodadán společností AIROHA (to je firma, která dělá mimo jiné čipy používané v řadě dnešních bezdrátových sluchátek). Evidentně se jim s jejich přístupem nepodařilo ten čip prodat, tak to raději prodali někomu, kdo má lepší ambice. Dokumentace je u mikrokontroléru základ a bez ní to nemá smysl. Všichni dnešní výrobci mají podobně čtivou dokumentaci jako mt2040. Většinou ji mají mnohem detailnější. Ukázky kódu a odkazy tam nemají, protože API funkce se vyvíjí a není reálné měnit dokumentaci, vždy když uděláte refactoring v API, něco do něj přídáte, apod. Podobně odkazy na github.
> Mimochodem, všimli jste si, že Pico nemá žádné Wi-Fi nebo Bluetooth?
Nemá žádno složitou periferii. Takže nemá ani SDHC, Ethernet MAC, CAN, Crypto akcelerátor, Camera interface, LCD driver, LCD TFT driver a mnoho dalších. Nema ani analogové periferii jako je DAC nebo nějaký advanced ADC a DAC. Proto mimochodem v současnosti nemá ani Flash. Navrhnout Flash je brutálně složité. Musí se tam řešit strašně moc anologývých věcí jako jsou generátory konstatního proudu a mraky dalších. To že mají Flashky většinou jednoduchý interface je dáno poměrně komplexním řadičem, který tohle všechno řeší, ale jeho návrh je pravděpdoobně absolutně mimo jejich uroveň. Také si všiměte, že Raspberry Foundation ve skutečnosti ani nenavrhovala ty jednoduhé periferie jako je I2C a SSI (SSI slouží pro SPI a podobné sběrnice). V dokumentaci je zmínka, že periferie je licencoána od Synopsysu. Je třeba zdůraznit, že tady to licencování periferie od někoho jiného se děje i u zaběhlých výrobců. Dělají to zejména kvůli časové náročnosti návrhu. ST si například licencuje od Synopsysu periferie pro USB OTG a Ethernet MAC. RP2040 nemá žádnou periferii, kterou by žádný jimý MCU na trochu neměl. Anit o PIO není unikátní. Například Cypress to používá v prakticky všech svých mikontrolérech PSoC.
> Možná je to kvůli tomu, že RF by to neúnosně prodražilo.
Ne není. RF nestojí nic moc, anténa je externí. Prodražilo by to a protáhlo vývoj, navíc na to nemají zkušenosti. Ostatní vendoři mají většinou jednoduchou HW akcelerovaný RF modul s kterým jde softwarově naimplementovat podporu pro BLE a není to problém. Akcelerátor pro podprou Wi-Fi a BT BR/EDR vyžaduje složitější logiku a tu už má jen málokdo (v MCU integrovanou v současnosti asi jen Espressif).
já, ale přece nikde neříkám (a ani si to nemyslím) že je datasheet RP2040 špatný. Považuji ho za obsahově srovnatelný s ostatími datasheety (a přidruženými dokumenty k datasheetu). Esteticky je možná hezčí než jiné, ale to je vzhledemk tomu že jsem technicky zaměřený, tak je mi toto fuk. Mírně mi přišel v důsledku pěkného vzhledu roztahaný a mám radši kompaktní design, ale jinak k němu nemám žádné výhrady. Osobně za základní předpoklad slušného datasheetu považuju strojový obsah a funkční Ctrl + F napříč veškerým odkazem a obojí datasheet RP2040 splňuje. Je správně členěn a dobře se v něm orientuje. Každou informaci, kterou jsem v něm hledal jsem našel do minuty, takže si myslím že je OK.
Co se Vám (ideálně konkrétně) nelíbí na dokumentaci od ST? Je něco co nemůžete najít, našel jste nějaké chyby, nevypadá hezky nebo to má jiné důvody? Já považuji jejich dokumentaci za prakticky nejlepší co se ARMových MCU týče a slyšel jsem již několik negativních reakcí na dokumentaci ST, ale nikdy nic konkrétního.
Takze konkretne: mnoho periferii ma definovane chovani stylem, ze nektere celkem zasadni informace vyplynou az kdyz clovek procte vsechny registry a poznamky k nim. Jde to tak daleko, ze jsem nebyl schopen u mnoha MCU urcit zda lze pouzivat CAN a USB soucasne.
Nedostatecna dokumentace: flash controller a programovani te male konfiguracni oblasti je specifikovano tak, ze z toho nelze napsat implementaci (resi hromada lidi na Internetu).
U ADC nedostatecne popsane sequencovani (tusim u STM32F302).
Uplne chyby: priklad flash controller a konstanty na odemykani jsou spatne.
Chyby jsou i v CMSIS headerfilech, evidentne delaji ctrl+c/ctrl+v z jinych MCU.
...pár poznámek:
[A] ARM Cortex-M0+ (to jsou jádra použitá v daném CPU) používá jen dvoustupňovou pipeline
https://en.wikipedia.org/wiki/ARM_Cortex-M#Cortex-M0+
[B] rychlost -> kód z externí paměti běží např. u ESP32 (160MHz), a ničemu to nevadí (navíc může běžet i z interní SRAM)
[C] počet pinů pouzdra -> je "tak akorát" (většina je rekonfigurovatelných) obdobně jako počet specializovaných rozhraní (2x I2C, 2x SPI, 2x UART, 4x ADC 12-bit, 16x PWM, USB, ...)
[D] cena -> 4$ je prodejní cena celého modulu (CPU, ext. Flash, Xtal, DC/DC, a další), cena vlastního CPU tedy bude přibližně poloviční
[E] trendy současnosti (prakticky ve všem) jsou jasné
-> ochranářství, tedy proprietárního řešení klíčových prvků jako ochrana před konkurencí (přebíráno od Apple)
-> ovlivňování přicházejících generací (přebíráno od Microsoft)
[F] připravená podpora (vývojové nástroje i dokumentace) je velmi slušná (a leckdy opravdu srozumitelnější než u konkurence)
[G] Arduino (vedle SparkFun, Adafruit, Pimoroni) připravuje s tímto CPU také svou destičku, která bude obsahovat i WIFi a BT
https://blog.arduino.cc/2021/01/20/welcome-raspberry-pi-to-the-world-of-microcontrollers/
[H] CPU bylo vyvinuto u Sony (Inazawa, Japonsko) bez přispění tradičních vývojářů ARM (Broadcom a podobně), a vyrábí se u TSMC (40nm).
PS: Arduino má ve své řadě CPU modulů docela chaos (chápu, že chtěli vyhovět všem možným výrobcům, ale...).
PSS: Osobně se mi doplnění řady produktů RPi líbí (jen použité CPU mohlo být standardnější), neboť podpoří možné návaznosti.
> v pořadí důležitosti je hned za malým počtem ADC pinů – proč zrovna tohle je pro tolik diskutujících strašný problém, prostě nechápu
To se autor trochu zacyklil. :-) Odpověď je v citované větě: Pro některé diskutující je větší počet vstupů ADC důležitý, proto je malý počet vstupů probém. Jasně, pro domácí bastlení koupíme modul ADC po I2C a je to. Pro použití jinak než na pokus na nepájivém poli je potřeba dalšího pouzdra handicap. Pro někoho zanedbatelný, někdo jiný sáhne po jiném produktu.
Produkty Raspberry Pi jsou dobré na hraní. S reálným použitím na něco užitečného už je to horší. Narážím hlavně na paměťovou kartu ala disk v Raspberry Pi, která vždy dříve nebo později odejde, pokud na ni zapisujete více než výjimečně. A výrobek co takto náhodně dříve nebo později odejde je opravdu jen na hraní. Jediné použitelné řešení v průmyslu je bootovat ze sítě. Použitelný kompromis by někdy mohl být z karty jen číst - nezapisovat na ni. Možné je používat USB disk. Vše ostatní je jen hraní si.
Tak zrovna to, že je tam slot na paměťovku, je podle mě plus, protože tu paměťovku si člověk může vybrat podle toho, co bude s tím zařízením provádět... můžu tam dát čínu za pár korun a jen z ní číst, ale taky tam můžu dát nějakej overkill pro průmyslové využití. Nepoužitelné by naopak bylo osadit desku nějakým generickým eMMC.
Tahle generalizovaná tvrzení mě hrozně baví. Od roku 2013 provozuji jedno Raspberry Pi 1 s obyčejnou 8GB SD kartou, s obyčejným Raspbianem. Na tu kartu se každou minutu do RRD databáze velké 750 kB zapisuje aktuální teplota. Podle všech takovýchto tvrzení bych měl SD kartu měnit pomalu každý týden, ale ta moje ne a ne odejít. Čím to může být?
I kdybych to napsal, že je to nějaký Kingston class 10 8GB, tak se málokdo vrátí v čase zpět, aby se zásobil touto sérií, která je už nepochybně vyprodaná a jiná série se může chovat úplně jinak.
Jinak v současnosti objednávám microSD karty SanDisk z Aliexpressu a také s nimi nemám problém. A to mám i 32GB kartu v Raspberry Pi Zero, kam trvale zaznamenávám timelapse (a po čase zase mažu). Už běží asi půl roku, taky drží. Prostě asi mám štěstí a nekvalitní SD karty se mi vyhýbají.
To není generalizace, to je zkušenost těch, kteří to nepoužívají jako hračku, ale mají těch Rasp nasazených X v továrnách. Prostě to odchází a čas od času je potřeba někde vyměnit kartu. Ano, nekupujeme do každého kartu od jiného výrobce, ale už jsme zkusili dvě ne nejlevnější karty.
Takže mě zase baví takováto tvrzení lidí, kteří mají doma na hraní dvě Rasp...
provozuji to podobně cca od roku 2016 s 32Gb Samsung EVO+. Přestože však karta stále funguje bez jediného vadného sektoru a 24 hodin denně se na ni zapisuje mp3 stream, tak sleduji docela výrazný pokles výkonu karty. Na to na co to je určené stále funguje, ale když čas od času potřebuju dělat něco na desktopu, tak je to prakticky nepoužitelné.
Me v Rapsberry za poslednich par let uz umrelo minimalne pet SD karet. A to provozuju jenom 3 kusy(2*Raspbian s Kodi, 1*Raspbian s Octoprintem). Na Aliexpresu ty karty nekupuju, beru normalne z Alzy nejake bezne SanDisk/Kingston.
Muzete klidne tvrdit, ze tam ty karty neodchazi, ale ja vim ze je tomu jinak. Mozna jste mel kliku.
Tvrdit, že SD karty neodchází by bylo stejně špatné generalizované tvrzení, jako tvrdit, že všechny karty odchází. Evidentně někomu karty odchází, nevidím důvod, proč by si něco takového lidé vymýšleli. Ale rozhodně neplatí, že každému, kdo neudělá speciální opatření typu read-only filesystém, SD karta odejde.
Pokud odejde řekněme po dvou a více letech, beru to jako běžnou spotřebu spotřebního zboží, nikoli jako poškození způsobené špatným zacházením.
Jasně. Ale z toho také plyne, že stavět z toho zařízení, co by mělo mít životnost řádově až désítky let nelze. Pokud si např. postavím alarm, řídit čerpadlo, nebo chci řídit nějaký stroj, průměrná životnost dva roky mi rozhodně nestačí. Nechci totiž, aby ta SD karta byla tím nejslabším místem celého zařízení.
No ale obyčejný router, VoIP telefon, alarm, regulátor čerpadla a někdy televize obvykle vydrží jet bez poruchy výrazně více jak 10 let. Opotřebení často spočívá jen v možném přehřívání a pokud je to vyřešeno, životnost nemusí mít nutně horní hranici.
Sám každý den používám telefon Samsung S4 s androidem - model roku 2013 a stále jede bez závady (pravda je asi trochu štěstí). A Neksus 7 po pěti letech funguje také - zase štěstí?
Aby to bylo průmyslově použitelné, je třeba se dostat na spolehlivost alespoň těch nejlevnější routerů za 300 Kč nebo VoIP telefonů za 1000Kč, které v naprosté většině vydrží fungovat 10 let i déle.
Naprostou většinu hardwaru včetně disků odstavuji ze serverovny po cca pěti letech a jen proto,že morálně zastará a má špatný poměr spotřeba proudu/výkon. Ani neplatí, že čím starší tím poruchovější. Kdyby se mělo čekat na to až se pokazí, věřím že by mě některé kusy mohli přežít.
Ani obyčejný router, ani VoIP telefon, ani televize nemá obyčejné zapisovatelné uložiště - všechna tahle zařízení používají read-only operační systém a zapisují pouze naprosté minimum dat, často do něčeho, čemu říkají NVRAM, ač je to prakticky třeba EEPROM nebo i flashka, či oblast na společné NOR flashce. Pokud si dáte práci a vytvoříte operační systém pro Raspberry tak, aby se na SD kartu nezapisovalo, také pravděpodobně vydrží na věky.
Moje poznámka o dvou letech platí pro SD karty, které jsou používané, třeba ty v autokamerách, nebo v Raspberry, které loguje teplotu či časosběrné snímky. Tam nikdo nemůže čekat, že vydrží jakékoli uložiště věky. A přesto v mém případě karty drží.
Co se týká mobilních telefonů, tam jsem už v malém množství případů o poškození eMMC uložiště slyšel, ale naprostá většina telefonů je dříve vyřazena z jiných důvodů. Můj Nexus 5 z roku 2013 taky stále bez problému funguje.
Běžně se to neví, ale SD karty mohou odejít i kvůli čtení a nebo výpadku elektřiny. Nejrizikovější je zápis. A úplně nejhorší je zápis kombinovaný s výpadkem napájení. A když budete zapisovat jen na malou část SD karty, odejít může celá. Kdyby mělo Rasbery ještě jinou paměť, třeba i malou ale odolnou na zápisy, bylo by o něčem jiné. Nebo kdyby mělo baterii a operační systém co zapisuje v dávkách, bylo by to také lepší. Bohužel ale připojit další flash přes USB není úplně dobré řešení, protože trpí zase úplně těmi stejnými neduhy. Prostě nedodělali to, praktické použití je hrozně omezené.
Nejlepší je asi připojit přes USB starý vysloužilí disk z notebooku.
Pokud je OS read-only (pri startu se nakopiruje a bezi z ramdisku), a zapisuje je se jen do toho jednoho rrd souboru, pripadne lepe, pokud je ten rrd take zcasti na RAM disku (overlayfs) a ulozi se jen zmeny (idealne pri korektnim shutdown), neni to zadny problem.
RRD pridava data na konec souboru, appendem. Radic karty zapisy zkousi rozlozit tak, aby se zbytecne casto nezapisovala (spis neprepisovala) stejna bunka. Na to je append idealni. Pokud se rrd agreguji (tyden, mesic, rok), prekopiruje se validni cast dat do noveho souboru. Pokud se navic nezapisuje do spousty takovych .rrd souboru paralelne, ale zapisuje se jen do jednoho, taky to vyrazne pomaha.
Produkty Raspberry Pi jsou dobré na hraní.
Me by zajimalo, kdy lidi pochopi, ze toto neni negativni vlasnost, ale killer feature! Vlastne mam pochybnosti, jestli nekteri komentujici vubec cetli cely clanek.
Raspberry tu neni od toho, aby to byl univerzalni levny pocitac pro cokoliv, ktery zvladne vsechno od blikani diod, pres meteostanici az po domaci HTPC s NAS.
Raspberry je tu od toho, aby to byl jednoduchy a cenove dostupny pocitac, ktery zvladne pouzivat i dite zakladni skolou povinne.
Predchozi generace mely tu vyhodu, ze mohly zacit s osmbitovymi pocitaci nebo aspon s MSDOSem, kde bylo vse vcelku jednoduche a snadne na pochopeni. Clovek se dostal velmi blizko hardwaru a mohl tak pobrat, co vsechno se v pocitaci deje a proc. Programovaci jazyky typu BASIC nebo Pascal, ac se svymi nespornymi nedostatky, byly jednoduche na pochopeni a pro ty, co chteli s pocitaci zacit, to byla vyborna vstupni brana, jak s pocitaci vubec zacit.
Pocitace, ktere ma dnesni generace, jsou silena monstra, kde malokdo je schopen pojmout, co se v pocitaci deje, od programu v JavaScriptu az po provedeni jednotlivych instrukci CPU. Dnesni standardni aplikace se vytvari pro web, pro mobilni zarizeni, kde je clovek kilometry daleko od skutecneho hardwaru a pracuje s obrimi a komplikovanymi frameworky. To je vec, ktera spoustu lidi od programovani odradi. A co hur, neni tu moc prilezitosti, aby clovek pochopil ty nejzakladnejsi programatorske principy.
Raspberry je uzasne, ze latku pro zakladni seznameni s pocitaci a hlavne programovanim snizuje neuveritelne nizko a umoznuje pritahnout k programovani dalsi lidi.
To, ze z RasPI jde udelat hromada pouzitelnych veci do domacnosti, je pouze velice prijemny bonus, ale neni to jeho poslani. Poslanim RasPI je byt pocitacem, na kterem si clovek muze jednoduse hrat s programovanim a hardwarem a pritom se neco o pocitacich naucit.
Já na Rasbery Pi nic úžasného nevidím. Za stejné peníze si můžete pořídit vysloužilý počítač o podobném výkonu (ten navíc lze získat často úplně zdarma) a s větším a spolehlivějším diskem.
Jediná "výhoda" je, že raspberry je malý a lehký a má menší spotřebu, ale zrovna do ruky a přenosný také není protože mu chybí baterie a displey.
Jednodušší Linux než na stolním počítači v něm není, tedy osmibity to nenahradí. A na ovládání chytrých věcí je podle mě mnohem lepší i spolehlivější arduino.
Co by mě přišlo mnohem zajímavější kdyby měl variantu s integrovanou baterií a displejem. Něco jako rozdělatelný mobil s možností připojit další zařízení. Tedy součástí by byla baterie i displej s možností připojit i externí monitor. S tím by byla hra mnohem přívětivější. A díky baterii by byla lepší i spolehlivost, protože velká část toho kdy SD karta odchází je způsobeno nečekaným výpadkem napájení. Ale to lze marketingově hůře uchopit.
Resis vykon, disky, spotrebu, ale to je to posledni, co cloveka trapi, kdyz se chce zacit ucit programovat.
Za tisicovku nebo dve poridis na e-shopu RasPI, kartu s predinstalovanym raspianem, klavesnici, pripojis HDMI k televizi a muzes zacit. Okamzite! Nemusis o pocitacich vedet nic. Ke vsemu jsou hezke srozumitelne materialy. (V tvem pripade budes shanet vyrazeny pocitac, pak na nej instalovat Linux, ale jak, chodis do pate seste tridy a vlastne ani nevis, co to Linux je.)
Jednodušší Linux než na stolním počítači v něm není, tedy osmibity to nenahradí.
RasPI mas hromadu hezkych periferii, ktere se daji docela jednoduse ovladat (z pythonu). Rozblikat diodu na zaklade stisknuti tlacitka je na beznem PC o nekolik radu slozitejsi.
Jako zacatecnik potrebujes mit rychly uspech, jinak od toho uteces.
A na ovládání chytrých věcí je podle mě mnohem lepší i spolehlivější arduino.
Cetls vubec muj puvodni prispevek? RasPI je na vyuku! To, ze s tim jdou delat dalsi veci a rada lidi je dela, je jenom bonus, ktery ma sve limity.
To, ze z RasPI jde udelat hromada pouzitelnych veci do domacnosti, je pouze velice prijemny bonus, ale neni to jeho poslani. Poslanim RasPI je byt pocitacem, na kterem si clovek muze jednoduse hrat s programovanim a hardwarem a pritom se neco o pocitacich naucit.
A tohle já právě vůbec nechápu, proč to tak pořád je zamýšlené. Chápu, že takový byl původní záměr - dodat masově dostupný počítač, na kterém by se dalo učit programování a spol. Ale přijde mi, že tenhle cíl to většinou moc neplnilo, nebo aspoň ne primárně. Odhaduji, že většina prodaných RPi najde uplatnění právě jako různá jedno či víceúčelová udělátka v domácnosti, kde to učení se něčeho je jen (byť nikoliv zanedbatelný) vedlejší efekt při realizaci toho kterého udělátka (streamovacího serveru, webového serveru, přehrávače filmů k TV a podobně).
"Odhaduji, že většina prodaných RPi najde uplatnění právě jako různá jedno či víceúčelová udělátka v domácnosti,"
Kdyz sledujes RSS kanal raspberry foundation, tak co chvili se chlubi tim ze ta a ta skola vyuzila RPi ve vyuce.
RPi je ve skolstvi uspesne (mimalne britskem). To ze se jich jeste vice prodalo za jinym ucelem spis svedci o dobrem navrhu.
RPi má hlavně dobrý PR. To že si do RSS píší hlavně použití nějakou školou je záměr, který má vyvolat dojem, že je to je to vhodné na učení se. A podle toho co píšete, vypadá že to funguje. Ale RPi na výuku není to o nic lepší než třeba starý počítač či notebook, který si většina lidí může sehnat úplně zdarma nebo za obdobnou cenu.
Osobně věřím tomu, že nejvíce koupených RPi končí někde v šuplíku. Někdo si to koupí na hraní, vyzkouší že to bootuje. Pak si s tím možná nějakou dobu i hraje a nyní kdy je výkon konečně aspoň trochu použitelný to snad i nějakou dobu používá do smrti první SD karty. A následně to dá na věky do šuplíku a vrátí se k tomu co používal předtím.
" má vyvolat dojem"
jestli to rozporujes, tak zkus nejaka konkretni tvrzeni, dojmy si nech od cesty.
RPi je na vyuku lepsi, protoze ma predpripraveny OS, a ma to pekny navod ktery ukaze co se s tim da delat. To srovnani je ale uplne mimo. Stary pocitac ani notebook nemaji predpripraveny OS a navody. U stareho pocitace a notebooku mozna ani nenabootujete linux, a urcite nebudete jako skolak schopen ovladat GPIO, kterou vysoce pravdepodobne stary pocitac ani notebook nemaji. Nebo ocekavas, ze skolak pripoji odpor a ledku do serioveho portu? Hm, tohle jsem sice na zakladni skole delal, ale posledni pocitac co mel seriovy port jsem videl 15 let zpatky. USB vyzaduje jaksi vic nez jeden odpor a ledku. Anebo ocekavas ze skolak hackne nejakou sbernici na motherboardu?
Nainstalovat to je jednoduche, kdyz vis jak na to. Kdyz potkas jediny problem, a jsi zacatecnik, tak nejspis zadres. Uz jen nektera defaultni nastaveni biosu zpusobi poradne problemy neznalym.
A co ten zbytek co jsi ignoroval? GPIO? O to prece u mikrokontroleru jde. Nebo budes blikat ledkou na klavesnici?
Používat GPIO na blikání letkama je sice efektní, ale je to kanón na vrabce.
Pokud chci něčím blikat, použiji relátka zapojené přes USB. Poveli co mají relátka dělat dělat posílám přes USB kabel co emuluje sériový port. Tohle je ale jen jeden příklad z mnoha. Pokud relátko proženu ještě dalším relátkem, mohu ovládat i 230 V.
https://www.selfcontrol.cz/navod_re8usb.htm
http://www.odorik.cz/w/selfcontrol
Takze Pico Pi na blikani diodama je kanon na vrabce, ale notebook s USB relatkama kanon na vrabce neni?
Takze, zacatecnik musi sehnat stary notebok, naucit se tam instalovat
linuxy, sehnat si usb relatka, aby se dostal k uceni programovani hardware. A to ma byt dle tve hypotezy jednodussi nez si koupit za par dolaru Pico Pi, stahnout pripraveneny navod a pripravenou distribuci a rovnou to delat?
Opravdu tvrdis ze k uceni programovani hardware zacatecnikama je lepsi stary notebook nez pico pi, nebo ses do toho nejak zamotal?
LEDky na GPIO jsou kanon na vrabce ve srovnani s relatkama pres USB. :-DD
Opravdu mas sverazny smysl pro humor.
Laskavy ctenar si srovna kody:
A: http://www.odorik.cz/w/selfcontrol
B: https://www.raspberrypi.org/documentation/usage/gpio/python/README.md
A predstavi si, jak danou preblematiku vysvetluje nekomu, kdo programovani i elektroniku vidi poprve v zivote.
Ta varianta pro Pi, ale používá speciální knihovnu určenou jen k tomu. Oproti tomu ty relátka přes usb využívají jen generickou knihovnu pro komunikaci přes sériový port (připojený přes USB), vše ostatní je přímo v kódu - posílání řídících sekvenci i čekání na odpověď. A to je přesně ten rozdíl v délce.
A to je presne ten rozdil mezi RasPI a cimkoliv jinym.
Na RasPI neni hodnotne to, jak rychly je tam procesor, kolik to ma jakych portu, jakou to ma spotrebu, ale ten ekosystem okolo.
Chces neco delat, nasadis si nejaky HAT nebo pripojis veci na GPIO a muzes to hned pomoci par radku ovladat z Pythonu a klidne i Scratche! A to vcetne jednoduchych a srozumitelnych prikladu. To ten tvuj vyrazeny pocitac opravdu nedokaze, i kdyz bude mit naslapenejsi procesor a mozna i vic RAM.
Mohl bych se zeptat co obsahuje to USB relé? Vidím tam nějaký kontrolér, kterému tvůj program z velkého počítače posílá po USB povely, a on je provádí. Takže je to jenom tupý sluha kterého je potřeba neustále švihat bičem.
Zatímco Pico je minipočítač, kterému z velkého počítače po USB pošleš program, a on podle něj dál pracuje sám i po odpojení toho USB. Potom už žádný velící počítač nepotřebuje, funguje zcela samostatně s vlastní inteligencí.
Řekl bych že mezi tvým USB relé a Picem je podobný rozdíl jako mezi obyčejným vysavačem a robotickým.
Toto je klasickz produkt ala raspberry, na prvy pohlad vyzera lakavo - cena dokumentacia.
Ale potom si clovek uvedomi, ze aby to pouzil musi dokupit milion veci (ved to nema ani len obvod realneho casu, ziadnu konektivitu, prehhnanu spotrebu...).
Potom uz cena nie je taka lakva. A clovek nakoniec skonci s tym, ze si k tej doske dokupy Wifi mmodul s ESp8266 a neskor zisti Pi Pico vlastne nepotrebuje.
Ak si poviete, ze ved plno veci nepotrebuje konektivitu, tak ja na to, ze na ne netreba procesor ale v plno pripadoch stacia NAND hradla (ale to dnes uz nie je moda).
Produkty ako Razzbery a arduino sa dlhodobo vyhabaju tej pouzitelnosti, no na skusanie a prototypovanie su fajn.
Na trhu s malimi hoby pocitacmi je stale velka diera ale Pi Pico ju nezplata.
Pi nemam rad, ale s Apple M1 bych to nesrovnaval, protoze Apple M1 je ma jedinecny pomer spotreba/vykon za kterym zaostava jak Intel tak AMD. Na to ze je to prvni pokus je to docela dobre a mohlo by to inspirovat dalsi. Casem bychom se mohli dockat vyrazne nizsi spotreby vech pocitacu, coz by znamenalo, ze budou tissi a ekologictejsi.
A ma ESP8266 dokumentaci zpracovanou tak pekne jako Pico?
Si odpovim. Nema.
K cemu ti je periferie kdyz s tim jako skolak ani neumis zacit.
Cetls ten clanek vubec? O to se tu jedna - ze vyrobce si da tu praci a napise peknou dokumentaci ktery pochopi i skolak. Navic je o tom taky asi tak pulka diskuze.
Nic z tohoto me, jakozto zkuseneho uzivatele, nebrani pouzit RP namisto XM. To, ze to nemuze pouzit lamicka bez vodeni za rucicku, je vec jina - a neni to problem samotneho designu.
Nemyslim si, ze je nutne aby dnesni deti ve skolce umeli nutne pouzivat mikrokontrolery.. byt ja jsem taky na zakladce znal jiz asm 8080/z80 zpameti. A to tenkrat neexistoval ani internet, IDE, fora a lidi co to umej jsem taky neznal - zcela postacilo ze jsem podedil par zajimavych knizek, casaku, schemat.. umet se v necem zorientovat beru jako vetsi skill, nez si koupit z ali klon a z webu naplacat copy paste kod.. protoze to pak taky tak vypada ten vysledek, a schopnot udelat neco "noveho".
Proste.. nekdo se nauci doopravdy malovat a ma talent a nekdo skonci u vybarvovavani omalovanek.
Myslim, ze Arduino a podobne (vc. RPi pico) necili na lidi kteri chteji neco delat na urovni (polo)profesionala. Takze je tu prostor treba pro malire, ktery chce udelat instalaci s LEDkami a naprogramovat si podle nejakeho tutorialu jejich blikani.
Ostatne ja jsem treba mizerny zahradnik a jak jsem vdecny za ruzna videa/blogposty/knizky chytrejsich. Naucil jsem se postupne treba kompostovat aby z toho nebyla extremne smrduta kupka hnoje a pritom nemam vystudovanou mikrobiologii apod.
O tom ze to co se deje na forech Arduina je peklo, a zrovna v pripade tech driveru LCD z toho silim, protoze najit pro nejaky cinsky modulek initsequenci mimo tisickrat forknute arduino knihovny je temer nemozne :-).
Na RPxxx mne zarazi ale ze nema 5V tolerant IO ! To bude pro spoustu lidi peklo.
> O tom ze to co se deje na forech Arduina je peklo, a zrovna v pripade tech driveru LCD z toho silim, protoze najit pro nejaky cinsky modulek initsequenci mimo tisickrat forknute arduino knihovny je temer nemozne :-).
Otazka je, ci to bude pri Pi Pico ine. Kniznice a forum tvori komunita. A Pi Pico miesi na tych istych ako Arduino, tak sa obavam, ze vysledok bude uplne rovnaky.
Chybi navody, senzory, vzorove projekty, IDE, forum, uzivatele proste je to na zactku..
návody: o krásném návodu je celý článek.
senzory: téměř vše, co připojíš k jinému MCU, připojíš i k Pico. Nebo si myslíš, že všichni bastlíři, co nepoužívají Arduino si nekoupí senzor pro arduino, protože přece není pro jeho MCU?
vzorové projekty: jejich základy jsou v návodu.
IDE: těch je už spousta, k čemu další sr*ka jako Arduino IDE? Ať si každý používá své oblíbené IDE.
fórum: je to novinka, nemůžeš čekat druhý den fórum plné odpovědí a natěšených uživatelů psát lamičkám „je to v návodu na straně...“
Nechme se prekvapit za kolik to bude u nas k mani, ale urcite ne za 4$ (stejne tak zero bo jak se to jmenuje je u nas za dobry peniz k nedostani) a pokud to nepujde objednat z Ali, tak to bude u nas k mani min za dvoj, spis trinasobek ceny a to nebude argument.
Jsem zvedavej kolik to ma spotrebu a jaky je deepsleep a jestli k tomu nekdo udela podporu lory - pak bych tomu dal sanci.
Na RPishop.cz je to k mání ode dne oznámení za 109 Kč. Takže je to tedy spíše pět dolarů, ale rozhodně ne trojnásobek.
Bez DPH 90 CZK = 4.19 USD, na digikey je zatim balik modulu po $4.02 ( https://www.digikey.com/en/products/detail/raspberry-pi/SC0915/13624793 ), tezko rict jaky je nakup RPIshop.cz. Divim se, ze se na tom da preprodejem po kusech neco vydelat, kdyz jen vzit ten modul do ruky stoji pravdepodobne par korun :-).
A to nepocitam ze tam nakoupi lide meho typu kteri si daji do kosiku vyprodejovy casopis za 39,- (jako ze mne opravdu zajimal) a maji postovne zdarma. Nejsem dobry zakaznik.
Super pohled do útrob dané destičky i čipu:
https://www.flickr.com/photos/ultrapurple/50862597256/
PS: Ty propojovací drátky uvnitř pouzdra čipu (viz detail ve spodní části obrázku) mají průměr 0,02mm.
...a ještě jeden detailnější pohled do nitra čipu:
https://video.twimg.com/tweet_video/Es5DSAuVcAMPgQw.mp4
PS: Jak je vidět, čip obsahuje logo RPi a označení "RP2 80 2020"
https://pbs.twimg.com/media/Es5CSqYUYAc_7nO?format=jpg
https://pbs.twimg.com/media/Es5CcqQUwAEbtfu?format=jpg
Mam RPI pico doma a musim rict, ze dokumentace je moc hezka pro lidi kteri to rp2040 chteji pouzivat spolu s SDK a priklady "tak jak to je od vyrobce", ve stylu Arduina. Upravit nejaky example projekt a nahrat ho do flashky je opravdu trivialni, moc fajn user experience.
Nicmene kdyz se clovek zacne zajimat o to jak to programovat bez toho frameworku co je okolo ... celkem tezce narazi. Pravda, jsou od toho hezke zdrojaky, takze se z nich skoro vsechno z nich da vycist, rozhodne lepsi nez STM32 HAL :-).
pico-sdk ma celkem 53 MB. Z toho 47 MB zabira importovana tinyusb knihovna, ktera sebou tahne spoustu uplne zbytecnych veci. Skoda, ze to neprocistili...
Vetsina trivialnich projektu (blink, uart, ...) maji vysledny binar okolo 24kB, celkem hodne, ale tak chapu to ze kdyz maji 2MB flash, tak se "mandatorni bloatware" moc neresi. Ja jsem zvykly i na male flashky ve stylu 16kB (na Cortex-M0/M3).