Arduino Nano 33 BLE Sense¶
Varoitus
Tätä korttia ei enää tueta. Viimeinen Arduino Nano 33 BLE Sense -kortille julkaistu OpenMV-laiteohjelmisto on 4.7.0. Tälle kohteelle ei julkaista enää laiteohjelmistopäivityksiä, virhekorjauksia tai uusia ominaisuuksia. Alla olevat tiedot säilytetään niitä käyttäjiä varten, jotka käyttävät versiota 4.7.0 tai vanhempaa.
Arduino Nano 33 BLE Sense on 45 × 18 mm:n Arduino-Nano-muotoinen kortti, joka rakentuu Nordic Semiconductorin nRF52840:n ympärille — yksittäinen ARM Cortex‑M4 FPU:lla, joka toimii 64 MHz:n taajuudella ja jossa on 256 KB sisäistä SRAM-muistia ja 1 MB sisäistä flash-muistia. BLE tulee piirin sisäisestä radiosta, ja kortilla on 9-akselinen IMU, LPS22HB-barometri, HTS221 / HS3003 -lämpötila- ja kosteussensori, APDS9960-valo/väri/läheisyys/elesensori sekä MP34DT05 PDM -mikrofoni. OpenMV-laiteohjelmisto ohjaa kaikkia näitä MicroPythonista.
Täydellisen datalehden, valokuvat ja mitat löydät Arduino Nano 33 BLE Rev2 -tuotesivulta.
Kohokohdat¶
Nordic nRF52840 Cortex‑M4 FPU:lla 64 MHz:n taajuudella, 256 KB sisäistä SRAM-muistia ja 1 MB sisäistä flash-muistia.
Bluetooth LE 5.0 piirin sisäisen radion ja Nordic SoftDevice s140:n kautta.
9-akselinen IMU —
LSM9DS1Rev 1:ssä,BMI270+BMM150Rev 2:ssa. Pysyvästi sisäänrakennettuimu-ajuri tunnistaa molemmat käynnistyksen yhteydessä.LPS22HB-barometri,HTS221/HS3003-lämpötila- ja kosteussensori,APDS9960-valo/väri/läheisyys/elesensori sekä MP34DT05 PDM -mikrofoni.Micro USB -liitin virtaa, ohjelmointia ja CDC REPL -yhteyttä varten.
22 käyttäjän I/O-nastaa vakiomuotoisilla Nano-riviliittimillä —
TX/RX,D2–D13(digitaalinen),A0–A7(analoginen).
Nastakartta¶
Nastaviite¶
Nastan nimi |
Viite |
Toiminto |
|---|---|---|
TX |
3.3 V |
UART1 TX |
RX |
3.3 V |
UART1 RX |
D2 |
3.3 V |
PWM |
D3 |
3.3 V |
PWM |
D4 |
3.3 V |
PWM |
D5 |
3.3 V |
PWM |
D6 |
3.3 V |
PWM |
D7 |
3.3 V |
PWM |
D8 |
3.3 V |
PWM |
D9 |
3.3 V |
PWM |
D10 |
3.3 V |
PWM |
D11 |
3.3 V |
PWM / SPI0 MOSI |
D12 |
3.3 V |
PWM / SPI0 MISO |
D13 |
3.3 V |
PWM / SPI0 SCK |
A0 |
3.3 V |
ADC / PWM |
A1 |
3.3 V |
ADC / PWM |
A2 |
3.3 V |
ADC / PWM |
A3 |
3.3 V |
ADC / PWM |
A4 / I2C_SDA |
3.3 V |
ADC / PWM / I2C0 SDA |
A5 / I2C_SCL |
3.3 V |
ADC / PWM / I2C0 SCL |
A6 |
3.3 V |
ADC / PWM |
A7 |
3.3 V |
ADC / PWM |
RESET |
3.3 V |
paina kortilla olevaa RESET-painiketta tai vedä GND:hen nollataksesi |
LED_BUILTIN |
— |
Oranssi käyttäjän LED nastassa |
LED_RED |
— |
RGB-LEDin punainen kanava (aktiivinen matalalla) |
LED_GREEN |
— |
RGB-LEDin vihreä kanava (aktiivinen matalalla) |
LED_BLUE |
— |
RGB-LEDin sininen kanava (aktiivinen matalalla) |
Varoitus
Nano 33 BLE Sensen I/O-nastat ovat vain 3.3 V — ne eivät kestä 5 V:tä. 5 V:n syöttäminen niihin vaurioittaa nRF52840:tä.
Virtanastat¶
VIN — 4.5–21 V:n tulo. Syöttää korttia kortilla olevan jännitesäätimen kautta. Saa virtaa myös diodin kautta USB:n 5 V:n kiskosta, joten USB ja
VINvoivat olla läsnä samanaikaisesti ilman, että ne syöttävät virtaa takaisin toisiinsa.+5V — oletuksena kytkemätön.
+3V3 — 3.3 V:n jännitesäätimen lähtö.
AREF — analoginen vertailunasta. Tällä kortilla sitä ei ole johdotettu nRF52840:een — ADC viittaa aina 3.3 V:iin.
GND — yhteinen maa.
Nano 33 BLE Senseä voidaan syöttää virralla kumman tahansa reitin kautta:
Micro USB — syöttää 5 V:tä kortilla olevalle jännitesäätimelle.
VIN-nasta — syötä säädelty 4.5–21 V:n virtalähde.
Muista
Kortin pohjassa oleva VUSB-merkitty juotossilta yhdistää +5V:n USB:n 5 V:n kiskoon. Sulje se, jotta +5V-riviliitinnasta kuljettaa todella 5 V:tä.
Muista
Kortilla olevan 4.5–21 V:n hakkurisäätimen lähdössä oleva tavallisesti suljettu juotossilta voidaan katkaista säätimen poistamiseksi käytöstä, jolloin korttia voidaan syöttää suoraan ulkoisesta 3.3 V:n virtalähteestä nastaan +3V3.
Palautus- ja virheenkorjausnastat¶
RESET — sekä paljas juotostyyny että hetkellinen RESET-painike kortin yläosassa, kytkettynä nRF52840:n nollauslinjaan. Vedä GND:hen tai paina painiketta nollataksesi.
Nano 33 BLE Sense käyttää Arduinon vakiomuotoista kaksoisnapautusnollausta Arduinon käynnistyslataimeen siirtymiseksi. Paina RESET-painiketta nopeasti kahdesti — kortti siirtyy käynnistyslataintilaan ja OpenMV IDE voi flashata uuden laiteohjelmistokuvan.
nRF52840:n SWD-signaalit on tuotu kortin takana oleviin pinnoitettuihin juotostyynyihin. Kaikki virheenkorjaussignaalit viittaavat 3.3 V:iin.
Kortilla olevat oheislaitteet¶
LEDit¶
Nano 33 BLE Sensessä on käyttäjän RGB-LED — ohjataan silkkipainettujen LED_RED-, LED_GREEN- ja LED_BLUE-kanavien kautta — sekä erillinen oranssi LED_BUILTIN nastassa D13. Kaikkia neljää voidaan ohjata ohjelmallisesti machine.LED -toiminnon kautta:
from machine import LED
LED("LED_RED").on()
LED("LED_GREEN").on()
LED("LED_BLUE").on()
LED("LED_BUILTIN").on()
Kortilla oleva erillinen vihreä virta-LED palaa aina kun +3.3 V:n kisko on päällä, eikä sitä voi ohjata käyttäjä.
Kamerasensori¶
Nano 33 BLE Sensen OpenMV-laiteohjelmisto tukee OmniVision OV7670 -rinnakkais-CMOS-sensoria. Kortilla ei ole kuvasensoria — johdota OV7670-moduuli alla lueteltuihin silkkipainettuihin riviliitinnastoihin ja ohjaa sitä csi — kennot -moduulin kautta:
import csi
cam = csi.CSI()
cam.reset()
cam.pixformat(csi.RGB565)
cam.framesize(csi.QVGA)
cam.snapshot(time=2000) # let auto‑exposure settle
while True:
img = cam.snapshot()
Muista
OV7670 vie 14 nastaa. Laiteohjelmisto johdottaa ne seuraavasti:
Sensorin signaali |
Nano 33 BLE Sense -nasta |
|---|---|
D0 |
|
D1 |
|
D2 |
|
D3 |
|
D4 |
|
D5 |
|
D6 |
|
D7 |
|
HSYNC |
|
VSYNC |
|
PXCLK |
|
MXCLK |
|
POWER |
|
RESET |
|
SCL |
|
SDA |
|
OV7670:n I²C-ohjausväylä on sama ulkoinen I²C 0, joka on tuotu nastoihin A5/A4. Sensori sijaitsee 7-bittisessä osoitteessa 0x21 — kyseisen väylän käyttäjälaitteiden on vältettävä tätä osoitetta, kun kamera on kytkettynä.
IMU¶
9-akselinen IMU on tuotu esiin pysyvästi sisäänrakennetun imu-moduulin kautta, joka tunnistaa automaattisesti onko kortilla LSM9DS1 (Rev 1) vai BMI270 + BMM150 (Rev 2) ja esittää yhtenäisen imu.IMU -luokan. Sensorit sijaitsevat sisäisellä I²C 1 -väylällä (P14 / P15):
import time
from machine import I2C, Pin
from imu import IMU
bus = I2C(1, scl=Pin("P15"), sda=Pin("P14"))
sensor = IMU(bus)
while True:
print(sensor.accel()) # (x, y, z) in g
print(sensor.gyro()) # (x, y, z) in deg/s
print(sensor.magnet()) # (x, y, z) magnetometer
time.sleep_ms(100)
Suoraa pääsyä esimerkiksi napautuksen tunnistukseen tai FIFO:hon varten tuo vastaava pysyvästi sisäänrakennettu ajuri (lsm9ds1, bmi270 tai bmm150) ja luo siitä ilmentymä samalle väylälle.
Ympäristösensorit¶
Barometri (LPS22HB) ja lämpötila- ja kosteussensori (HTS221 Rev 1:ssä, HS3003 Rev 2:ssa) jakavat saman sisäisen I²C 1 -väylän IMU:n kanssa:
import time
from machine import I2C, Pin
from lps22h import LPS22H
from hts221 import HTS221
bus = I2C(1, scl=Pin("P15"), sda=Pin("P14"))
lps = LPS22H(bus)
try:
hts = HTS221(bus)
except OSError:
from hs3003 import HS3003
hts = HS3003(bus)
while True:
print("pressure: %.2f hPa" % lps.pressure())
print("temperature: %.2f C" % lps.temperature())
print("humidity: %.2f %%" % hts.humidity())
time.sleep_ms(500)
Valo / väri / läheisyys / ele¶
Broadcomin APDS9960 sijaitsee samalla sisäisellä I²C 1 -väylällä ja tarjoaa ympäristön valon, RGB-värin, läheisyyden ja eleiden tunnistuksen:
import time
from machine import I2C, Pin
from apds9960 import uAPDS9960 as APDS9960
bus = I2C(1, scl=Pin("P15"), sda=Pin("P14"))
apds = APDS9960(bus)
apds.enableLightSensor()
while True:
print("ambient light:", apds.readAmbientLight())
time.sleep_ms(250)
Mikrofoni¶
Kortilla oleva MP34DT05 PDM -mikrofoni kaapataan audio — Audio-moduuli -toiminnon kautta. Jokainen puskuri saapuu etumerkillisenä 16-bittisenä PCM-muotoisena bytearray-tyyppinä, valmiina syötettäväksi ulab/numpy -kirjastoon DSP:tä varten:
import audio
from ulab import numpy as np
def loudness(pcmbuf):
samples = np.array(np.frombuffer(pcmbuf, dtype=np.int16), dtype=np.float)
rms = np.sqrt(np.mean(samples ** 2))
if rms > 10000:
print("Loud!", int(rms))
audio.init(channels=1, frequency=16000, gain_db=24)
audio.start_streaming(loudness)
while True:
pass
Bluetooth¶
nRF52840:n Bluetooth LE 5.0 -radio toimii Nordic SoftDevice s140:llä ja on tuotu esiin vanhan ubluepy -moduulin kautta — moderneja bluetooth / aioble — Asynkroninen BLE -rajapintoja ei ole otettu käyttöön tässä koonnoksessa. Sekä peripheral (GATT-palvelin, mainosta) että central (GAP-tarkkailija / -skanneri + yhteys) -roolit ovat käytettävissä.
Mainosta peripheral-roolissa yhdellä Environmental Sensing -palvelulla ja ilmoitettavalla lämpötilaominaisuudella — event_handler-takaisinkutsu laukeaa yhdistettäessä, yhteyden katketessa ja CCCD-kirjoituksissa:
from ubluepy import Service, Characteristic, UUID, Peripheral, constants
from machine import LED
def event_handler(event_id, handle, data):
if event_id == constants.EVT_GAP_CONNECTED:
LED("LED_GREEN").on()
elif event_id == constants.EVT_GAP_DISCONNECTED:
LED("LED_GREEN").off()
periph.advertise(device_name="Nano 33", services=[svc])
svc = Service(UUID("181A")) # Environmental Sensing
char = Characteristic(UUID("2A6E"), # Temperature
props=Characteristic.PROP_NOTIFY | Characteristic.PROP_READ,
attrs=Characteristic.ATTR_CCCD)
svc.addCharacteristic(char)
periph = Peripheral()
periph.addService(svc)
periph.setConnectionHandler(event_handler)
periph.advertise(device_name="Nano 33", services=[svc])
Skannaa lähistöllä mainostavia laitteita central-roolissa:
from ubluepy import Scanner
for entry in Scanner().scan(1_000): # 1 second window
print(entry.addr(), entry.rssi(), "dBm")
Katso ubluepy -viite täyttä rajapintaa varten — UUID, Service, Characteristic, Peripheral, Scanner, ScanEntry ja constants -nimiavaruus.
Väyläviite¶
GPIO¶
Käytä machine.Pin -toimintoa lukeaksesi tai ohjataksesi mitä tahansa silkkipainetuista nastoista. Lähdöt ovat 3.3 V CMOS — 15 mA nastaa kohden, 25 mA yhteensä kaikkien GPIO-nastojen yli.
from machine import Pin
out = Pin("D2", Pin.OUT)
out.on()
out.off()
out.value(1)
inp = Pin("D3", Pin.IN, Pin.PULL_UP)
print(inp.value())
Mikä tahansa tulonasta voi myös laukaista keskeytyksen reunasiirtymissä:
def handler(pin):
print("triggered:", pin)
Pin("D3", Pin.IN, Pin.PULL_UP).irq(
handler, Pin.IRQ_FALLING | Pin.IRQ_RISING,
)
UART¶
Väylä |
TX |
RX |
|---|---|---|
UART1 |
TX |
RX |
Käytä silkkipainettuja nimiä TX/RX machine.UART -toiminnon kanssa:
from machine import UART
uart = UART(1, baudrate=115200)
uart.write("hello")
uart.read(5)
I²C¶
Väylä |
SDA |
SCL |
|---|---|---|
I2C0 |
|
|
I2C1 |
|
|
Molempien väylien nastat on välitettävä eksplisiittisesti machine.I2C -toiminnolle:
from machine import I2C, Pin
bus0 = I2C(0, scl=Pin("I2C_SCL"), sda=Pin("I2C_SDA"), freq=400_000)
bus0.scan()
bus1 = I2C(1, scl=Pin("P15"), sda=Pin("P14"), freq=400_000)
bus1.scan()
Muista
Väylä 1 on sisäinen sensoriväylä nastoissa P14/P15 (ei käyttäjän riviliittimissä) — se palvelee IMU:ta, barometriä, ympäristösensoria ja APDS9960:tä. Pysyvästi sisäänrakennetut sensoriajurit käyttävät sitä suoraan; käyttäjäkoodi voi myös skannata sitä, mutta osoitteet ovat jo kortilla olevien sensorien käytössä.
SPI¶
Väylä |
MOSI |
MISO |
SCK |
CS |
|---|---|---|---|---|
SPI0 |
D11 |
D12 |
D13 |
D10 |
SPI-oheislaite ei ohjaa CS-linjaa — määritä D10 lähdöksi ja kytke sitä manuaalisesti siirron ympärillä:
from machine import SPI, Pin
spi = SPI(0, baudrate=10_000_000)
cs = Pin("D10", Pin.OUT, value=1) # CS is not driven by the SPI peripheral
cs.value(0)
spi.write(b"hello")
cs.value(1)
Muista
D13 toimii myös oranssina LED_BUILTIN-LEDinä — SPI:n ajaminen tällä väylällä saa LEDin vilkkumaan väyläkellon tahdissa.
ADC¶
nRF52840:ssä on kahdeksan 12-bittistä ADC-kanavaa (SAADC), jotka on tuotu nastoihin A0–A7, kaikki viittaavat 3.3 V:iin — read_u16 palauttaa 0–65535 alueella 0–3.3 V nastassa. Kortin AREF-nastaa ei ole johdotettu, joten vertailujännite on aina 3.3 V:
from machine import ADC
import time
adc = ADC("A0")
while True:
voltage = adc.read_u16() * 3.3 / 65535
print(voltage)
time.sleep_ms(100)
PWM¶
nRF52840 tuo esiin neljä PWM-oheislaitetta (PWM0–PWM3), joista kukin ohjaa neljää kanavaa, eli yhteensä 16 laitteistollista PWM-paikkaa. Toisin kuin kiinteätoimisissa porteissa, oheislaitteet reitittyvät GPIOTE-matriisin kautta — mikä tahansa GPIO voi olla PWM-lähtö, joten nastan ja lohkon välistä kuvausta ei ole. Tämän joustavuuden hintana on kaksi piirille leivottua rajoitusta:
Kaikki moduulin sisäiset neljä kanavaa jakavat yhden jakson/taajuuden.
Jokaisella kanavalla on oma pulssisuhteensa ja polariteettinsa.
Käsitteellisesti 16 paikkaa näyttävät tältä:
Moduuli |
Kanava 0 |
Kanava 1 |
Kanava 2 |
Kanava 3 |
|---|---|---|---|---|
PWM0 |
pulssisuhde |
pulssisuhde |
pulssisuhde |
pulssisuhde |
PWM1 |
pulssisuhde |
pulssisuhde |
pulssisuhde |
pulssisuhde |
PWM2 |
pulssisuhde |
pulssisuhde |
pulssisuhde |
pulssisuhde |
PWM3 |
pulssisuhde |
pulssisuhde |
pulssisuhde |
pulssisuhde |
Jokainen rivi toimii yhdellä taajuudella; rivin neljä solua kukin ohjaavat itsenäisesti valittua nastaa omalla pulssisuhteellaan. Eri rivit voivat toimia täysin eri taajuuksilla.
Ohjaa mitä tahansa silkkipainettua nastaa (tai kortilla olevia LEDejä) machine.PWM -toiminnon kautta:
from machine import Pin, PWM
pwm = PWM(Pin("D3"), freq=1_000, duty_u16=32768)
Varoitus
Automaattinen varaaminen kuluttaa kokonaisen moduulin kutsua kohden. Kun luot PWM-laitteen ilman device=/channel= -avainsana-argumentteja, ajuri ottaa ensimmäisen vapaan moduulin ja sitoo nastasi vain sen kanavaan 0. Kyseisen moduulin loput kolme kanavaa pysyvät käyttämättöminä ja ovat tavoitettavissa vain eksplisiittisen device=/channel= -määrityksen kautta. Tämä rajoittaa avustamattomat PWM(Pin(...)) -kutsut neljään, ennen kuin ajuri nostaa virheen ValueError: all PWM devices in use — vaikka kaksitoista paikkaa on teknisesti yhä vapaana.
Käyttääksesi useampaa kuin neljää PWM:ää tai jakaaksesi tarkoituksellisesti taajuuden nastojen kesken, välitä device (0–3) ja channel (0–3):
# Two PWMs on the same module → forced to share frequency,
# but each gets its own duty cycle.
pwm_a = PWM(Pin("D3"), device=0, channel=0,
freq=1_000, duty_u16=32768)
pwm_b = PWM(Pin("D5"), device=0, channel=1,
freq=1_000, duty_u16=16384)
# A third PWM on a separate module, free to pick any frequency.
pwm_c = PWM(Pin("D6"), device=1, channel=0,
freq=20_000, duty_u16=49152)
Pulssisuhde hyväksyy duty (0–100 %), duty_u16 (0–65535) tai duty_ns -arvon. Lisää invert=1 kääntääksesi lähdön polariteetin (kätevää aktiivisen matalan RGB-LEDin kanssa).
Muista
Koska taajuus on moduulikohtainen ominaisuus, pwm.freq(new_freq) -kutsu moduulin mille tahansa kanavalle suorittaa nrfx_pwm_init-funktion uudelleen koko moduulille ja muuttaa taajuutta, jonka jokainen muu sitä jakava kanava näkee.
Muista
Sallitut taajuudet kattavat suunnilleen 4 Hz – 5.3 MHz, johdettuna 16 MHz:n peruskellosta esijakajilla 1/2/4/8/16/32/64/128 ja 15-bittisellä jaksolaskurilla. Ajuri valitsee lähimmän jakajan automaattisesti — freq() raportoi pyydetyn arvon, ei tarkkaa saavutettavissa olevaa arvoa.
Ohjelmistolla bittipotkitut väylät¶
machine.SoftI2C ja machine.SoftSPI toimivat millä tahansa GPIO:lla, jos tarvitset lisäväylän.
Lämpösensori (kortin ulkopuolinen)¶
Laiteohjelmisto sisältää fir — lämpösensorin ajuri (fir == far infrared) -ajurin ulkoisesti johdotetuille lämpökuvaajille:
MLX90621 — 16 × 4 IR-matriisi
MLX90640 — 32 × 24 IR-matriisi
MLX90641 — 16 × 12 IR-matriisi
AMG8833 — 8 × 8 IR-matriisi
Johdota moduuli kortin I²C-väylään ja lue kehyksiä komennoilla fir.init() + fir.snapshot()
import time
import image
import fir
fir.init() # auto‑detects the sensor
clock = time.clock()
while True:
clock.tick()
try:
img = fir.snapshot(x_scale=5, y_scale=5,
color_palette=image.PALETTE_IRONBOW,
hint=image.BICUBIC,
copy_to_fb=True)
except OSError:
continue
print(clock.fps())
fir-ajuri kommunikoi sensorin kanssa vain I²C 0:n kautta — johdota moduuli I2C_SCL / I2C_SDA -tyynyihin (A5 / A4).
Ajoitus¶
time¶
time -moduuli kattaa estävät viiveet, monotoniset tikit ja kuluneen ajan mittauksen:
import time
time.sleep(1) # seconds
time.sleep_ms(500)
time.sleep_us(10)
start = time.ticks_ms()
# ...do work...
elapsed = time.ticks_diff(time.ticks_ms(), start)
Virtuaaliajastimet¶
machine.Timer ajastaa jaksollisia tai kertaluonteisia takaisinkutsuja kuluttamatta laitteistollista ajastinpaikkaa. Välitä -1 id:nä käyttääksesi virtuaalista (ohjelmistollista) ajastinta:
from machine import Timer
one_shot = Timer(-1)
one_shot.init(period=5_000, mode=Timer.ONE_SHOT,
callback=lambda t: print("once"))
periodic = Timer(-1)
periodic.init(period=2_000, mode=Timer.PERIODIC,
callback=lambda t: print("tick"))
Jaksoarvot ovat millisekunteina. Kutsu deinit() pysäyttääksesi ja vapauttaaksesi paikan.
Reaaliaikakello¶
machine.RTC pitää seinäkelloaikaa nollausten yli. nRF52840:n RTC on kytketty piirin sisäiseen oskillaattoriin eikä se säily täydellisen virtakatkon yli — aseta aika jokaisen kylmäkäynnistyksen yhteydessä, jos sillä on merkitystä sovelluksellesi:
from machine import RTC
rtc = RTC()
rtc.datetime((2026, 4, 30, 4, 12, 0, 0, 0)) # Y, M, D, weekday, h, m, s, subsec
print(rtc.datetime())
Vahtikoira¶
machine.WDT nollaa kortin, jos sovellus jumiutuu. Kun se on käynnistetty, sitä ei voi pysäyttää tai määrittää uudelleen — syötä sitä säännöllisesti pääsilmukkasi sisällä:
from machine import WDT
wdt = WDT(timeout=5_000) # 5 second window
while True:
# ...do work...
wdt.feed()
Käynnistys- ja ajonaikaiset tiedot¶
Laiteohjelmistopäivitys¶
Nano 33 BLE Sense käyttää Arduinon vakiomuotoista kaksoisnapautusnollausta Arduinon käynnistyslataimeen siirtymiseksi. Paina RESET-painiketta nopeasti kahdesti — kortti siirtyy käynnistyslataintilaan ja OpenMV IDE voi flashata uuden laiteohjelmistokuvan.
Käynnissä oleva skripti voi siirtyä takaisin käynnistyslataimeen pyydettäessä kutsumalla machine.bootloader()
import machine
machine.bootloader()
Tiedostojärjestelmä ja käynnistysjärjestys¶
Nano 33 BLE Sensen laiteohjelmisto liittää yhden tiedostojärjestelmän käynnistyksen yhteydessä:
Sisäinen flash-muisti — liitetään aina kohtaan
/flashja sitä käytetään työhakemistona. Sisältää oletuksena tiedostotmain.pyjaREADME.txt; luodaan aivan ensimmäisellä käynnistyksellä.
Liittämisen jälkeen tulkki suorittaa skriptit hakemistosta /flash:
boot.pysuoritetaan jokaisen pehmeän nollauksen yhteydessä.main.pysuoritetaan vain kylmäkäynnistyksessä, välittömästi tiedostonboot.pyjälkeen.
Vasta flashatulla kortilla toimitettava oletus-main.py vain vilkuttaa käyttäjän RGB-LEDin sinistä kanavaa sydämenlyöntinä (kaksi lyhyttä pulssia, lyhyt väli), joten voit todeta laiteohjelmiston käynnistyneen puhtaasti ilman, että mitään isäntää on liitetty.
/flash ei ole tällä kortilla tuotu esiin USB-massamuistiasemana.
Tallennustilojen koot¶
Nano 33 BLE Sense toimitetaan seuraavilla:
/flash— 64 KB FAT-tiedostojärjestelmä, luku/kirjoitus.
Nano 33 BLE Sense -koonnos ei sisällä ROMFS:ää; toimita Python-moduulit suoraan kohteeseen /flash.
Ohjelmistokirjastot¶
Katso kirjastoindeksi täydellistä moduuliluetteloa varten — mukaan lukien ne, jotka ovat ainutlaatuisia Nano 33 BLE Sense -koonnokselle.