Raspberry Pi Pico W

Tavaly nagy hírverést kapott a Raspberry új szériája a "Pico". Eleinte sokan félreértették, és azt hitték mikroszámítógépről van szó, holott ez egy teljesen mezei ARM mikrovezérlő, operációs rendszer nélkül. Sajnos első kiadásában semmilyen hálózati csatlakozási lehetősége nem volt, talán ez is magyarázza, hogy nem lett túlzottan népszerű - meg persze az ellátási problémák miatt. Időközben napvilágot látott LAN-os változata is, amiről egy másik cikkben írni fogok, most azonban az újonnan megjelent WiFi-s Pico-ról ejtenék pár szót, a "Pico W" modellről.

picow.jpg

Érdekes módon a Pico és a Pico W méretei gyakorlatilag ugyanazok, lehet nem véletlen, hogy annak idején hagytak a Pico lapon pontosan ennyi üres helyet, amire ráfért a wifis chip. :)

picos.jpg

Félreértések elkerülése érdekében, 6 dollárért csak igen kevés ember tudja beszerezni, megjelenése másnapján, kapásból 6 angol font + 5 font szállítási díj volt az ára, mivel Magyarországon nem igazán lehetett beszerezni.. sőt Angliában is készlethiányos ebben a pillanatban. Pont ma vettem észre, hogy közben a HeStore-on már kapható, 3400 HUF ellenértékben, meg persze a szállítás.

Mivel önmagában a Pico nem tud wifit, azt a rá SPI csatlakozáson keresztül kötött CYW43439 kezeli. Mondjuk ahogy nézegettem az adatlapjukat, nem állhattam meg mosolygás nélkül, hogy a csak wifi kapcsolatot intéző CYW segédchipben több a memória, mint magában a Picoban... (Kössünk a Trabant tetejére egy Chinook helikoptert és kész a repülő Trabant!)
Ebben az ESP32 jobb talán, mert teljesen integrált, és ő végez minden funkciót. Node, lássuk a medvét!

> PicoW gyártói dokumentáció

A Pico alapadatai:

  • két magos ARM Cortex M0+ mag 133Mhz
  • 264 kB memória
  • 2MB flash tárhely
  • adatlap szerint az RP2040 90mA körül fogyaszt átlagosan

Az Infineon CYW43439 alapadatai:

  • ARM Cortex M3 vezérlő
  • 512kB memória
  • WPA/WPA2/WPA3 támogatás
  • WiFi 4 (2.4Ghz) kliens és AP mód támogatása (AP módban max 4 kliens tud rá csatlakozni)
  • Bluetooth 5.2 (nincs a szoftveres SDK-ban engedélyezve egyelőre, bár a hardver tudná!)
  • hardveres AES támogatás
  • adatlap szerinti fogyasztás 37-320mA között

Kíváncsiságból működés közben rámértem a fogyasztásra, vajon mennyire követi a gyakorlat az elméletet, és azt találtam, hogy a Pico W 64mA-t fogyaszt induláskor, és amikor nagyon dolgoztatom, normál "üresjárati" működés közben 41mA-en áll.
Összehasonlításképpen egy ESP32-vel is megismételtem ugyanezt, itt azt láttam, hogy 100mA induláskor és komoly munkavégzéskor, üresjáratban pedig 44mA
Persze nem hiszem, hogy bárki is bitcoin-bányászatra akarná használni ezeket a mikrovezérlőket, így az átlagos 41-44mA fogyasztás várható tőlük, ami nagyságrendileg ugyanaz.

Tudásban ugyanazt nyújtja a Pico W, mint a normál Pico, a WiFi pedig SPI-n keresztül van csatlakoztatva az alábbi lábakon: GP23, GP24, GP25, GP29. (Továbbá a lapka alján a TP4 és TP5 tesztpont is a wifihez tartozik.) Ezek nincsenek kivezetve a lapkáról egyik tűsorra sem, így nem akadályoz minket különösebben semmiben. (A LED-et immár a CYW chip vezérli a GP25-ön keresztül, ezt ne akarjuk átvenni tőle)

pinout_1.jpg

Működtető rendszert pont úgy tudunk rá tenni, mint a sima Pico-ra:

A rajta található BOOTSEL gomb nyomvatartása mellett kell USB kábellel gépünkre kötni (mikro-USB csatlakozása van még mindig), ekkor megjelenik hordozható meghajtóként, mint egy pendrive, és ebbe a maghajtóba kell felmásolnunk az .UF2 kiterjesztésű firmware állományt, feltöltés után automatikusan újraindítja magát.

A Pico W támogatása még aránylag új, ezért nincs benne a stabil microPython kiadásokban, ám a napi tesztekre kiadottakban igen, innen például le tudjuk tölteni:

https://micropython.org/download/rp2-pico-w/

Amennyiben sikerült egy microPython rendszert feltennünk, a Thonny IDE segítségével rá tudunk csatlakozni, és python parancsokkal direktben vezérelni.

thonny1_1.jpg

Ha csatlakoztunk, a Thonny Shell-ben az alábbi parancsokkal tudjuk tesztelni, működik-e a wifi kliens mód:

thonny2_1.jpg

A connect() parancshoz a saját routerünk által szórt SSID nevet, majd második paraméterként a jelszót kell megadnunk. És íme, az ifconfig() ki is írja, hogy kaptam IP címet, rajta vagyok a hálózaton. :) (Kivéve akinek nincs 2.4GHz hálózata, mert az hiába is próbálkozik, lásd adatlap fentebb)

Persze itt felmerül a kérdés, hogy mire is lehetne ezt használni? Ha tudunk programozni, akár C nyelven, akár pythonban, elég sok mindenre, amíg észben tartjuk, hogy a 264kB nem lehet elég mindenre...

Kész firmware-ek nem nagyon vannak még hozzá, bár én vettem a fáradtságot, és a korábban ESP32-re írt mPyEasy-t átportoltam mPyEasy-Async néven elérhető a github-on:

https://github.com/enesbcs/mpyeasy-async

mPyEasy feltöltése:

1/ Letöltjük a release-ek közül a megfelelő binárist, ez most épp az mpyeasy-11260-pico-w.uf2
https://github.com/enesbcs/mpyeasy-async/releases

2/ megnyomjuk a BOOTSEL gombot és csatlakoztatjuk USB kábellel a gépünkre a PicoW-t

3/ felmásoljuk az .UF2 fájlt a megjelenő új meghajtóra

4/ Feltöltés után automatikusan újraindul az eszköz és egy "mpyEasy" nevű WiFi AP fog megjelenni, jelszava "configesp".

5/ Böngészővel a 192.168.4.1 címre látogatva a Config menüpontban megadhatjuk saját WiFi AP-nk nevét és jelszavát.

mpyeasy_config.jpg

Ne felejtsük el bepipálni az "Enable Wifi STA mode" jelölőnégyzetet sem a lent található Submit-ra kattintás előtt. Majd indítsuk újra, és immár a saját hálózatunkon levő IP címén keresztül menedzselhetjük az eszközt egy böngészővel.

mpyeasy_2.jpg

Az mPyEasy-ről már írtam korábban, akár HTTP-n, akár MQTT-n tudjuk saját okosotthon vezérlőnkbe csatlakoztatni, a Controllers menüben. A Devices-ban tudunk alapvető szenzorokat GPIO be/kimenet, hőmérő.. létrehozni, a Rules-ban belső szabályokat felvenni, a Notifications-ban, pedig értesítések beállítását felvenni, példának okáért GMAIL SMTP-t, ami teljes mértékben működik, ugyanis SSL képes az eszköz.

Amit nem szabad elfelejtenünk: egyelőre a Bluetooth funkciók nincsenek engedélyezve szoftveresen, így rövidtávon ne tervezzünk ilyen funkciókat a PicoW-vel.

Egyébiránt elégedett vagyok vele, mind fogyasztása, mind méretei szempontjából méltó vetélytársa az ESP32-nek szerény véleményem szerint. Ami viszont hamarosan szűk keresztmetszetté válhat, az a 2MB flash tárhelye, ugyanis a wifis variánsnak már 1.5MB méret felett jár a binárisa, és még akkor van aki szeretne rá saját programot is tenni. :D

A bejegyzés trackback címe:

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

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.

Gomby™ 2022.09.01. 18:21:54

Hello! 1 kerdesem lenne, vegre megjott a rpi pico w-m, a leiras szerint ramasoltam mpyEasy.uf2 fajlt, persze a megfelelot. Ujra is indul , de sajnos AP mod nem jelenik meg :( .. Thonnyval teszteltem a pico w t, led kapcsolgatas siman megy wifin , bongeszobol, de ugye nekem mpyEasy lenne a lenyeg :).. segitseged elore is koszonom.

eNeS 2022.09.01. 18:25:14

@Gomby™: az "https://github.com/enesbcs/mpyeasy-async/releases/download/v1.1.206-beta/mpyeasy-11260-pico-w.uf2" a megfelelő gondolom szerinted is. újraindulás után a Thonny mit ír a logban két perc után, a nélkül, hogy bármit írnál vagy CTRL-C t nyomnál? Mennyi ideig vártál az AP megjelenésére, miután feltöltötted, lehúztad USB-ről, és újra csatlakoztattad az eszközt a gomb megnyomása nélkül?

Gomby™ 2022.09.03. 16:41:14

Igen persze "mpyeasy-11260-pico-w.uf2" a megfelelő. Feltöltöttem, automatikus ujraindítás után kb 20p percig vártam az AP re, sajnos semmi, újracsatlakoztattam sima usb töltőn, ugyanez. Thonnyt mpyEasyhez nem használtam, az általad leírt 5 pontot csináltam. Sajnos hobby szinten csinálgatom Thonnyt nem igazán használok és ez az első Rp. pico-m. Thonnyt azért használtam, hogy meggyőződjek nem a RP. pico w a gyári hibás, de frankón mükszik. Espeasy t viszont használok és Tasmotát, gondolom wifi AP nek ugyanugy kéne megjelenni?. többször is újraprobálkoztam.

eNeS 2022.09.03. 16:42:57

@Gomby™: a Thonnyt lehet használni debuggolásra, ugyanis kiírja a konzolján, hogy mi történik éppen a háttérben, ebből lehet megállapítani, melyik ponton akadt el. Nekem dobja az mpyeasy SSID-t. Thonnyval többek között meg lehet nézni az eszköz data mappájában a json konfig állományokat is...

eNeS 2022.09.04. 14:41:46

Megjegyzem a PicoW esetében olyan nagy a firmware, hogy a bináris feltöltése után kb 40kb szabad hely marad a 2MB flash tárhelyen az egyéb fájloknak.. így érdemes lehet mindent törölni a Thonny segítségével a Pico fájlrendszeréből is, majd újra feltölteni az üres mpyeasy-t, mivel más a fájlrendszer méret benne, mint az alap micropython-ban...

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