www.elektronik.si
Še ena zanimiva alternativa STM32 nedobavljivčkom
Pojdi na stran 1, 2  Naslednja  :||:
www.elektronik.si -> ARM arhitektura

Avtor: mosqito PrispevekObjavljeno: Pon Sep 12, 2022 11:22 pm    Naslov sporočila:  Še ena zanimiva alternativa STM32 nedobavljivčkom
----------------------------------------------------------------------------
Raspberry pi pico. Cena (pri nas): dobrih 5 eur. Tudi mouser jih ima. Vse skupaj za ceno arduino nano, le da je to konkretna zverina.

Sam mikrokontroler je pod 1 eur. Edino treba je vedeti, da nima internega flash-a. Dodati mu je treba QSPI NAND Flash. Cene teh so od pol eur dalje.

Ima sila preprost bootloader. Pojavi se kot mass storage device in image programa prenesemo kot drag/drop, podobno kot npr. ST-link, s tem da ta rabi ločen MCU, na RP2040 je pa to že "on-chip".

Tole iz prvega linka je v obliki SMD modula, kar je še bolj preprosto za domače "lego-kockanje" kot arduino, saj se prispajka na 1000 lukenj plato brez vsakih vmesnih letvic. Na platki je 2MB NAND flash, napajalni del, USB konektor (z ESD zaščito) in 12MHz kvarc, aja pa celo tipka za bootloader.

Seveda se da debugirat tudi na klasičen način (SWD), za ta namen je najenostavneje en dodatni modul sprogramirati kot OpenOCD debuger in že lahko programiramo in debugiramo v visuial studio code.

Kdor pa tega ne želi ali se mu ne ljubi, pa si lahko naloži tale binary (UF2) in takoj začne programirati v pythonu. Port micropythona podpira vso periferijo.

Več tule: https://www.raspberrypi.com/products/raspberry-pi-pico/

Obstaja tudi podpora za ethernet (preko PHY/MAC W5100 ali W5500): https://github.com/Wiznet/Hardware-Files-of-WIZnet/tree/master/02_iEthernet/W5500/W5500-EVB-Pico_V100

Raznih projektov je pa tudi malo morje. Zdi se mi odlična odskočna deska za vse, ki jim je arduino premalo, raznih glomaznih cube konfiguratorjev pa nimajo interesa instalirat.

Avtor: mosqito PrispevekObjavljeno: Pon Sep 12, 2022 11:48 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Takole, za hec sem nainštaliral podporo v VSC preko platformio po teh navodilih:
https://admantium.medium.com/raspberry-pico-the-simple-startup-with-platformio-1ba063c260cd

Blinky dela Smile

Koliko časa je bilo treba od razpakiranja modula prek inštalacije do delujočega LED blink, pa se vidi iz časa objav.

Res je primerljivo z ardujino.

Zdaj pa dam še "kačo" gor in sprobam isto še na "pajtonu".

Avtor: Proteus PrispevekObjavljeno: Tor Sep 13, 2022 12:06 am    Naslov sporočila:  
----------------------------------------------------------------------------
Tole tudi jaz uporabljam in to izključno s kačico Smile
Ko se enkrat razvadiš je res ...

Avtor: mosqito PrispevekObjavljeno: Tor Sep 13, 2022 12:12 am    Naslov sporočila:  
----------------------------------------------------------------------------
Za kačona je potreben image. Navodila so tule:
https://www.raspberrypi.com/documentation/microcontrollers/micropython.html

IDE je pa thonny: https://thonny.org/

Pi pico se pojavi kot virtual com port. V Thonny-ju je desno spodaj treba izbrati ta com port in micropython za R pi Pico (glej puščico na spodnji sliki).

Sicer pa so podrobna navodila v knjigi: https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-python-sdk.pdf v poglavju 4.2

V glavnem, ElKačon dela.

Aja, če je ime py datoteke na "disku" na pi zero "main.py", se bo ta izvedla ob power-up.

Pa veselo PIrogramiranje. Res ni treba veliko truda, da stvar oživi. Še "delavnice" ne Smile

Avtor: mosqito PrispevekObjavljeno: Tor Sep 13, 2022 12:13 am    Naslov sporočila:  
----------------------------------------------------------------------------
Proteus je napisal/a:
Tole tudi jaz uporabljam in to izključno s kačico Smile
Ko se enkrat razvadiš je res ...


Super. Mene je tudi takoj navdušilo.

Avtor: mosqito PrispevekObjavljeno: Sre Sep 28, 2022 12:03 am    Naslov sporočila:  
----------------------------------------------------------------------------
Tole bi potrebovalo podnaslov "Kako hitro lahko izdelam web server v domači delavnici"... iz nule Smile

Kljub "nesmotrnosti" sem naredil eno malo vezje na brzino, ker me je firbec matral, kakšne performanse se da izvleči ven iz SPI/ETH čipa (MAC+PHY, W5500). Analogni del in blokirce sem dal gor in povezal SPI na RP2040. Shema:
https://github.com/Wiznet/Hardware-Files-of-WIZnet/tree/master/02_iEthernet/W5500/W5500-EVB-Pico_V100/Schematic

Inštalacija vsega potrebnega:

Adafruit circuit python: https://circuitpython.org/board/raspberry_pi_pico/
to naložiš v folder, ki se odpre, ko priklopiš RP2040 na USB (manj kot minuta dela)

Python urejevalnik (ni nujno potreben): https://thonny.org/ (par minut za DL in install)

Circuitpython bundle (primeri in lib): https://github.com/adafruit/Adafruit_CircuitPython_Bundle izberi "latest release" in iz "lib" skopiraj potrebne knjižnice na RP2040 v folder /lib

za web server je potrebno:
adafruit_bus_device
adafruit_wiznet5k
adafruit_wsgi
adafruit_requests.mpy


Potem lahko skopiramo v thonny tale primer:
https://github.com/bjnhur/pico-W5500/blob/main/Pico_W5100S_wsgiserver_test.py
popraviti je treba IP naslov na sbvoje domače omrežje...

Še največ dela je z lotanjem (in iskanjem 25MHz oscilatorja ter pinout-a za ethernet konektor), za jedkanje sem uporabil HCl+H2O2+H2O, tako, da je spajkanje trajalo le par minut... - za ves hardware recimo 1h vse skupaj.

V dobri uri je torej tole začelo migat. Ping je pokazal, da živi. Ping time preko dveh ruterjev:
Koda:
PING 44.150.168.144 (44.150.168.144) 56(84) bytes of data.
64 bytes from 44.150.168.144: icmp_seq=1 ttl=128 time=0.118 ms
64 bytes from 44.150.168.144: icmp_seq=2 ttl=128 time=0.117 ms
64 bytes from 44.150.168.144: icmp_seq=3 ttl=128 time=0.113 ms
64 bytes from 44.150.168.144: icmp_seq=4 ttl=128 time=0.110 ms
64 bytes from 44.150.168.144: icmp_seq=5 ttl=128 time=0.116 ms
64 bytes from 44.150.168.144: icmp_seq=6 ttl=128 time=0.113 ms
64 bytes from 44.150.168.144: icmp_seq=7 ttl=128 time=0.116 ms
64 bytes from 44.150.168.144: icmp_seq=8 ttl=128 time=0.110 ms
64 bytes from 44.150.168.144: icmp_seq=9 ttl=128 time=0.114 ms
64 bytes from 44.150.168.144: icmp_seq=10 ttl=128 time=0.113 ms
64 bytes from 44.150.168.144: icmp_seq=11 ttl=128 time=0.118 ms
64 bytes from 44.150.168.144: icmp_seq=12 ttl=128 time=0.112 ms


Odprem še http://44.150.168.144/ in pokaže se spletna stran Smile

Vsekakor je malo prej, kot inštalacija raznih visual studio code, pa še primer se mi zdi malenkost bolj uporaben, kot prižiganje par ledic Smile

Delavnice pa ne bo, ker se mi zdi malo preživelo. Če kdo rabi kake "hands-on" napotke, naj me kontaktira na discord, slack, whatsapp ali pa tule. Bomo sproti kar v živo pogledali.

Avtor: brezimenko PrispevekObjavljeno: Sre Sep 28, 2022 9:27 am    Naslov sporočila:  
----------------------------------------------------------------------------
Jaz bi potem raje vzel tisto verzijo, ki ima že vdelan WiFi na plošči za recimo print server.

Avtor: Proteus PrispevekObjavljeno: Sre Sep 28, 2022 9:48 am    Naslov sporočila:  
----------------------------------------------------------------------------
brezimenko je napisal/a:
Jaz bi potem raje vzel tisto verzijo, ki ima že vdelan WiFi na plošči za recimo print server.

Verjetno misliš Wiznet Raspberry Pi PICO klon?
https://www.hackster.io/news/wiznet-s-w5100s-evb-pico-clones-the-raspberry-pi-pico-but-adds-a-handy-ethernet-port-too-11125e568928

Avtor: a.vidmarKraj: Postojna PrispevekObjavljeno: Sre Sep 28, 2022 11:55 am    Naslov sporočila:  
----------------------------------------------------------------------------
Verjetno je imel v mislih RASPBERRY PI PICO W, SC0918 .

Avtor: brezimenko PrispevekObjavljeno: Sre Sep 28, 2022 1:24 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Prav tega slednjega sem imel v mislih.

Avtor: mosqito PrispevekObjavljeno: Sre Sep 28, 2022 2:32 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Jaz rabim ethernet, wifi ne pride v poštev.

Avtor: mosqito PrispevekObjavljeno: Čet Sep 29, 2022 11:41 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Malo sem se poigral z microtelnetserver-jem. Na UART od rpi pico sem dal USB/serial pretvornik, pa zagnal par vrstic kode.

Nastal je preprost in smešno poceni (<10 EUR) pretvornik iz etherneta na serijski, ki ima tudi zelo majhno porabo. Povezava je 1:1, na eni strani LAN kabel, na drugi UART. Nadgradnja na karkoli je trivialna.

Tole drugače super dela (slika spodaj: levo serijski terminal, desno telnet seja). Povezava je transparentna.

Za kak SSH pa je verjetno tale mali mlinček malo podhranjen...

Avtor: Proteus PrispevekObjavljeno: Pet Sep 30, 2022 10:32 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Zvežeš dva skupaj preko serijskega vmesnika.
Na serijskem vmesniku omogočiš preprost protokol izmenjave podatkov. Ves ostali promet zavržeš.
Dobiš bulletproof varno povezavo med dvema LAN omrežjema.

Avtor: brezimenko PrispevekObjavljeno: Sob Okt 01, 2022 4:35 pm    Naslov sporočila:  
----------------------------------------------------------------------------
No, če bi dodal vnes optiko bi bila še bolj varna. Prenapetosti pa take podobne stvari.

Avtor: smatjaz PrispevekObjavljeno: Sob Feb 25, 2023 12:17 am    Naslov sporočila:  
----------------------------------------------------------------------------
Imam Raspbbery Pi Pico. Poskusil sem z MicroPython-om. Naložil sem Thonni-ja in poskušal prižgati led na PIN in prebrati stanje enega PIN-a, pa zadeva ne gre skozi.

Ko na PI-ja naložim MicroPython, se odpre COM5 port. Tukaj pa se potem zadeva konča. Nekaj očitno delam narobe?
Ali mi lahko prosim mosqito tole razloži, da oživim moj Hardware.


Koda:

import machine
import utime
#from machine import Pin
#from time import sleep


button = machine.Pin(15, machine.Pin.IN, machine.Pin.PULL_DOWN)
led = machine.Pin(16, machine.Pin.OUT, machine.value==1)
while True:
    if button.value() == 1:
        print(button.value())
        led.value(1)
        utime.sleep(1)
    else:
        led.value(0)
        print(button.value())
    utime.sleep(1)


Izpiše se tale Error:

Koda:
>>> %Run Test1.py
Traceback (most recent call last):
  File "E:\E_Payton\MicroPython\Test1.py", line 1, in <module>
    import machine
ModuleNotFoundError: No module named 'machine'
>>>

Stran 1 od 2

Powered by phpBB © 2001,2002 phpBB Group