12. Lektion: Standardmodule von Microphyton
Python standard libraries und micro-libraries
Die folgenden Standard-Python-Bibliotheken wurden "mikro-ifiziert", um sich in die Philosophie von MicroPython einzufügen. Sie bieten die Kernfunktionalität dieses Moduls und sind als Ersatz für die Standard-Python-Bibliothek gedacht.
array - Arrays mit numerischen Daten asyncio - asynchroner E/A-Scheduler binascii - Binär/ASCII-Konvertierungen builtins - eingebaute Funktionen und Ausnahmen cmath - Mathematische Funktionen für komplexe Zahlen collections - Sammlungs- und Containertypen errno - System-Fehlercodes gc - Steuerung des Garbage Collectors gzip - Komprimierung und Dekomprimierung mit gzip hashlib - Hash-Algorithmen heapq - Heap-Warteschlangen-Algorithmus io - Ein-/Ausgabeströme json - JSON-Kodierung und -Dekodierung math - Mathematische Funktionen os - grundlegende "Betriebssystem"-Dienste random - Erzeugen von Zufallszahlen re - einfache reguläre Ausdrücke select - Warten auf Ereignisse in einer Reihe von Streams socket - Socket-Modul ssl - SSL/TLS-Modul struct - Packen und Entpacken primitiver Datentypen sys - Systemspezifische Funktionen time - zeitbezogene Funktionen zlib - zlib-Komprimierung und Dekomprimierung _thread - Multithreading-Unterstützung
MicroPython-spezifische libraries
Die für die MicroPython-Implementierung spezifischen Funktionen sind in den folgenden Bibliotheken verfügbar.
bluetooth - Bluetooth auf niedriger Ebene btree - einfache BTree-Datenbank cryptolib - kryptographische Chiffren deflate - Deflate-Komprimierung und Dekomprimierung framebuf - Manipulation von Bildpuffern machine - Funktionen im Zusammenhang mit der Hardware micropython - Zugriff auf und Steuerung von MicroPython-Interna neopixel - Steuerung von WS2812 / NeoPixel LEDs network - Netzwerk-Konfiguration uctypes - Zugriff auf Binärdaten in strukturierter Form
Port-spezifische libraries
In einigen Fällen haben die folgenden port-/plattenspezifischen Bibliotheken Funktionen oder Klassen, die denen der Maschinenbibliothek ähneln. Wenn dies der Fall ist, stellt der Eintrag in der portspezifischen Bibliothek die Hardwarefunktionalität zur Verfügung, die nur für diese Plattform gilt.
Um portierbaren Code zu schreiben, verwenden Sie Funktionen und Klassen aus dem Maschinenmodul. Um auf plattformspezifische Hardware zuzugreifen, verwenden Sie die entsprechende Bibliothek, z.B. pyb im Falle des Pyboards.
Spezielle Bibliotheken für ESP8266 und ESP32
Die folgenden Bibliotheken sind spezifisch für den ESP8266 und ESP32.
esp — functions related to the ESP8266 and ESP32
Functions
esp32 — functionality specific to the ESP32
Functions
Flash partitions
RMT
Ultra-Low-Power co-processor
Constants
Non-Volatile Storage
espnow — support for the ESP-NOW wireless protocol
Bibliotheken speziell für den RP2040
Die folgenden Bibliotheken sind spezifisch für den RP2040, wie er im Raspberry Pi Pico verwendet wird.
rp2 — functionality specific to the RP2040
PIO related functions
PIO assembly language instructions
Classes
M5 spezifische Bibliotheken
>>> help('modules')
IoTcloud/AWS libs/ethernet/wiznet5k_mqtt stamps/_timer_power units/_fader
IoTcloud/Ali libs/ethernet/wiznet5k_ntp sys units/_fader8
IoTcloud/Azure libs/ethernet/wiznet5k_socket uarray units/_fan
IoTcloud/Tencent libs/ethernet/wiznet5k_wsgiserver ubinascii units/_finger
IoTcloud/__init__ libs/image_plus ubluetooth units/_flash_light
IoTcloud/blynk libs/imu ucollections units/_gesture
MediaTrans/Mqtt_Printer libs/ir/ir_rx/__init__ ucryptolib units/_glass_oled
MediaTrans/TimerCam libs/ir/ir_rx/nec uctypes units/_gps
MediaTrans/__init__ libs/ir/ir_rx/print_error uerrno units/_grove2grove
MicroWebSrv/__init__ libs/ir/ir_tx/__init__ uhashlib units/_hall
MicroWebSrv/microWebSocket libs/ir/ir_tx/nec uhashlib units/_hbridge
MicroWebSrv/microWebSrv libs/label_plus uheapq units/_heart
MicroWebSrv/microWebTemplate libs/lorabus uiflow units/_imu6886
ThirdParty/toio/__init__ libs/m5_espnow uio units/_ir
ThirdParty/toio/ble_const libs/m5mqtt ujson units/_joystick
ThirdParty/toio/toio_message libs/mcp2515/__init__ umqtt/__init__ units/_joystick_led
__main__ libs/mcp2515/can_frame umqtt/robust units/_key
_boot libs/mcp2515/mcp2515_param umqtt/simple units/_kmeter
_flow libs/mcp2515/mcp2515_spi unit units/_kmeter_iso
_onewire libs/microcoapy/__init__ unitcam units/_laserrx
_thread libs/microcoapy/coap_macros units/VFunction/__init__ units/_lasertx
_uasyncio libs/microcoapy/coap_option units/VFunction/_apriltag_code units/_lcd
_webrepl libs/microcoapy/coap_packet units/VFunction/_bar_code units/_light
apa106 libs/microcoapy/coap_reader units/VFunction/_color_track units/_limit
base/CAN libs/microcoapy/coap_writer units/VFunction/_dm_code units/_makey
base/DTU_CAT1 libs/microcoapy/microcoapy units/VFunction/_face_detect units/_microphone_AD
base/DTU_LoRaWAN libs/micropyGPS units/VFunction/_jpeg_transfer units/_microphone_I2S
base/DTU_NB libs/mlx90640 units/VFunction/_line_tracker units/_mqtt_eth
base/GPS libs/modbus/__init__ units/VFunction/_motion units/_ncir
base/HDriver libs/modbus/master/__init__ units/VFunction/_qr_code units/_ncir2
base/Motion libs/modbus/master/uModBusConst units/VFunction/_tag_reader units/_neco
base/PoE libs/modbus/master/uModBusFunctions units/VFunction/_target_track units/_oled
base/QRCode libs/modbus/master/uModBusSerial units/VFunction/_v2_code_detector units/_op
base/Socket_Kit libs/modbus/master/uModBusTCP units/VFunction/_v2_color_tracker units/_pahub
base/Speaker libs/modbus/slave/__init__ units/VFunction/_v2_face_detector units/_pbhub
base/Stepmotor libs/modbus/slave/exceptions units/VFunction/_v2_face_recognition units/_pir
base/TF_Card libs/modbus/slave/functions units/VFunction/_v2_lane_line_tracker units/_relay
base/__init__ libs/modbus/slave/redundancy_check units/VFunction/_v2_motion_tracker units/_relay2
base64 libs/modbus/slave/route units/VFunction/_v2_object_recognition units/_relay4
ble/ble_advertising libs/modbus/slave/rtu units/VFunction/_v2_online_classifier units/_rf433rx
btree libs/modbus/slave/utils units/VFunction/_v2_shape_detector units/_rf433tx
builtins libs/mpu6050 units/VFunction/_v2_target_tracker units/_rfid
cmath libs/mstate units/_ID units/_rgb
collections/__init__ libs/numbers units/_IR_NEC units/_rgb_multi
collections/defaultdict libs/nvs units/_ISORS485 units/_rotary_encoder
collections/deque libs/paj7620u2 units/_LoRaWAN units/_scales
comx/LoRaWAN libs/pca9685 units/_NBIoT units/_servo
comx/__init__ libs/pid units/_RS485 units/_sonic_io
comx/cat1 libs/qmp6988 units/_RTC8563 units/_ssr
cvbs libs/servo units/_ac_measure units/_tcp_eth
deviceCfg libs/sh1107 units/_ac_ssr units/_thermal
display libs/sh200q units/_accel units/_thermal_cam2
dmx512 libs/sht30 units/_acsocket units/_tof
esp libs/simcom/__init__ units/_adc units/_tracker
esp32 libs/simcom/common units/_ain_420ma units/_tube_pressure
espnow libs/simcom/gps units/_ameter units/_tvoc
flashbdev libs/simcom/gsm units/_angle units/_uhf_rfid
flow/__init__ libs/simcom/lte units/_angle8 units/_ultrasonic
flow/adaptation libs/simcom/nb units/_atom_motion units/_unitcam
flow/ezdata libs/speak units/_bps units/_uwb
flow/ezdata_queue libs/timeSchedule units/_bps_qmp units/_v_function
flow/flowDeinit libs/time_ex units/_button units/_vibrator
flow/m5cloud libs/urequests units/_buzzer units/_vmeter
flow/m5ucloud libs/vl53l0x units/_can units/_watering
flow/protocol m5stack units/_cardKB units/_weight
framebuf m5uart units/_catch units/_zigbee
gc m5ui units/_catm uos
hardware/__init__ machine units/_catm_gnss urandom
hardware/button math units/_co2_scd40 ure
hardware/microphone max30100 units/_co2_scd41 urllib/parse
hmac menu/__init__ units/_color urllib/urequest
i2c_bus menu/cloud units/_dac uselect
i2stools menu/wifi units/_dc_ssr usocket
inisetup micropython units/_dds ussl
libs/__init__ modules/_catm_iot units/_digi_clock ustruct
libs/bmm150 modules/_nb_iot units/_dlight utils
libs/bmp280 neopixel units/_dual_button utime
libs/config network units/_earth utimeq
libs/dht12 ntptime units/_encoder8 uwebsocket
libs/easyIO ntptime units/_encoder_led uzlib
libs/echo rf433 units/_env warnings
libs/emoji simpleOTA units/_env2 wav/chunk
libs/ethernet/__init__ smartconfig units/_env3 wav/wav_player
libs/ethernet/wiznet5k stamp units/_ext_encoder wav/wave
libs/ethernet/wiznet5k_dhcp stamps/_catm units/_ext_io wifiCfg
libs/ethernet/wiznet5k_dns stamps/_ext_io units/_ext_io2 wifiWebCfg
Plus any modules on the filesystem
Vorhandene Module anzeigen
help('modules')
Interessante Module
gc
math
os
random
sys
time
machine
neopixel
network
RMT (ESP32)
constants (ESP32)
Module benutzen
Module müssen importiert werden bevor man die Funktionen daraus nutzen kann,
Üblicherweise werden die Importanweisungen ziemlich am Anfang des Scriptes stehen.
Es gibt 4 Möglichkeiten Module zu importieren:
import modulname
import modulname as aliasname
from modulname import *
from modulname import funktion as aliasname_der_funktion