Micropython Library untuk berinteraksi dengan chip flash Winbond W25Q
Dokumentasi terbaru tersedia di Micropython Winbond Readthedocs
Python3 harus diinstal pada sistem Anda. Periksa versi python saat ini dengan perintah berikut
python --version
python3 --version Bergantung pada perintah mana Python 3.xy (dengan xy sebagai beberapa nomor) dikembalikan, gunakan perintah itu untuk melanjutkan.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtUntuk interaksi dengan sistem file perangkat, micropython shell jarak jauh dapat digunakan.
Uji alat dengan menunjukkan deskripsi info pria/bantuannya.
rshell --helpHubungkan perangkat Micropython ke jaringan (jika memungkinkan)
import network
station = network . WLAN ( network . STA_IF )
station . active ( True )
station . connect ( 'SSID' , 'PASSWORD' )
station . isconnected ()Instal versi paket terbaru dari LIB ini pada perangkat Micropython
import mip
mip . install ( "github:brainelectronics/micropython-winbond" ) Untuk versi Micropython di bawah 1.19.1 Gunakan paket upip sebagai ganti mip
import upip
upip . install ( 'micropython-winbond' )Instal versi paket spesifik dan tetap ini pada perangkat Micropython
import mip
# install a verions of a specific branch
mip . install ( "github:brainelectronics/micropython-winbond" , version = "feature/add-docs-and-detailed-examples" )
# install a tag version
mip . install ( "github:brainelectronics/micropython-winbond" , version = "0.4.0" ) Untuk versi Micropython di bawah 1.19.1 Gunakan paket upip sebagai ganti mip . Dengan upip selalu versi terbaru yang tersedia akan diinstal.
import upip
upip . install ( 'micropython-winbond' )Instal versi kandidat rilis spesifik yang diunggah untuk menguji indeks paket python pada setiap PR pada perangkat micropython. Jika tidak ada versi spesifik yang ditetapkan, versi stabil terbaru akan digunakan.
import mip
mip . install ( "github:brainelectronics/micropython-winbond" , version = "0.4.0-rc2.dev4" ) Untuk versi Micropython di bawah 1.19.1 Gunakan paket upip sebagai ganti mip . Dengan upip selalu versi terbaru yang tersedia akan diinstal.
import upip
# overwrite index_urls to only take artifacts from test.pypi.org
upip . index_urls = [ 'https://test.pypi.org/pypi' ]
upip . install ( 'micropython-winbond' )Lihat juga Brainelectronics Test PYPI Server di Docker untuk server PYPI uji yang berjalan di Docker.
Salin modul ke papan micropython dan impornya seperti yang ditunjukkan di bawah ini menggunakan micropython shell jarak jauh
Buka shell jarak jauh dengan perintah berikut. Selain itu gunakan -b 115200 jika tidak ada CP210X yang digunakan tetapi CH34X.
rshell -p /dev/tty.SLAB_USBtoUART --editor nano Lakukan perintah berikut di dalam rshell untuk menyalin semua file dan folder ke perangkat
mkdir /pyboard/lib
mkdir /pyboard/lib/winbond
cp winbond/ * /pyboard/lib/winbond
cp main.py /pyboard/lib/winbond
cp boot.py /pyboard/lib/winbond from machine import SPI , Pin
import os
from winbond import W25QFlash
# the used SPI and CS pin is setup specific, change accordingly
# check the boot.py file of this repo for further boards
flash = W25QFlash ( spi = SPI ( 2 ), cs = Pin ( 5 ), baud = 2000000 , software_reset = True )
flash_mount_point = '/external'
try :
os . mount ( flash , flash_mount_point )
except Exception as e :
if e . errno == 19 :
# [Errno 19] ENODEV aka "No such device"
# create the filesystem, this takes some seconds (approx. 10 sec)
print ( 'Creating filesystem for external flash ...' )
print ( 'This might take up to 10 seconds' )
os . VfsFat . mkfs ( flash )
else :
# takes some seconds/minutes (approx. 40 sec for 128MBit/16MB)
print ( 'Formatting external flash ...' )
print ( 'This might take up to 60 seconds' )
# !!! only required on the very first start (will remove everything)
flash . format ()
# create the filesystem, this takes some seconds (approx. 10 sec)
print ( 'Creating filesystem for external flash ...' )
print ( 'This might take up to 10 seconds' )
# !!! only required on first setup and after formatting
os . VfsFat . mkfs ( flash )
print ( 'Filesystem for external flash created' )
# finally mount the external flash
os . mount ( flash , flash_mount_point )Kudos dan terima kasih banyak untuk CRIGEO dari Micropython Forum dan posnya untuk menggunakan chip Winbond Flash