مكتبة Micropython للتفاعل مع رقائق فلاش Winbond W25Q
أحدث وثائق متوفرة في Micropython Winbond ReadThedocs
يجب تثبيت Python3 على نظامك. تحقق من إصدار Python الحالي مع الأمر التالي
python --version
python3 --version اعتمادًا على أي أمر يتم إرجاع Python 3.xy (مع xy كبعض الأرقام) ، استخدم هذا الأمر للمتابعة.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtللتفاعل مع نظام ملفات الجهاز ، يمكن استخدام قذيفة micropython عن بُعد.
اختبر الأداة من خلال إظهار وصف معلومات الرجل/المساعدة.
rshell --helpقم بتوصيل جهاز micropython بالشبكة (إن أمكن)
import network
station = network . WLAN ( network . STA_IF )
station . active ( True )
station . connect ( 'SSID' , 'PASSWORD' )
station . isconnected ()قم بتثبيت أحدث إصدار من الحزمة من هذا lib على جهاز micropython
import mip
mip . install ( "github:brainelectronics/micropython-winbond" ) لإصدارات micropython أقل من 1.19.1 استخدم حزمة upip بدلاً من mip
import upip
upip . install ( 'micropython-winbond' )قم بتثبيت إصدار محدد ومتسابق من هذا lib على جهاز 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" ) بالنسبة لإصدارات micropython أقل من 1.19.1 استخدم حزمة upip بدلاً من mip . مع upip دائمًا ، سيتم تثبيت أحدث إصدار متاح.
import upip
upip . install ( 'micropython-winbond' )قم بتثبيت إصدار مرشح محدد تم تحميله لاختبار فهرس Python Package على كل PR على جهاز Micropython. إذا لم يتم تعيين إصدار محدد ، فسيتم استخدام أحدث إصدار مستقر.
import mip
mip . install ( "github:brainelectronics/micropython-winbond" , version = "0.4.0-rc2.dev4" ) بالنسبة لإصدارات micropython أقل من 1.19.1 استخدم حزمة upip بدلاً من mip . مع upip دائمًا ، سيتم تثبيت أحدث إصدار متاح.
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' )انظر أيضًا BrainElectronics Test Server في Docker للاختبار خادم PYPI الذي يعمل على Docker.
انسخ الوحدة النمطية إلى لوحة micropython واستيرادها كما هو موضح أدناه باستخدام Micropython Shell البعيد
افتح القشرة البعيدة مع الأمر التالي. بالإضافة إلى ذلك ، استخدم -b 115200 في حالة عدم استخدام CP210X ولكن CH34x.
rshell -p /dev/tty.SLAB_USBtoUART --editor nano قم بتنفيذ الأمر التالي داخل rshell لنسخ جميع الملفات والمجلدات إلى الجهاز
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 )مجد و BIG شكرًا لك Crizeo من منتدى Micropython ومنشوره لاستخدام Winbond Flash Chips