12. Lektion: Standardmodule von Microphyton: Unterschied zwischen den VersionenAus Attraktor Wiki
Aktuelle Version vom 27. September 2023, 14:59 UhrInhaltsverzeichnisMicropython Module DokuPython standard libraries und micro-librariesQuelle: https://docs.micropython.org/en/latest/library/index.html übersetzt von DeepL.com. 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 librariesDie 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 MicroPhyton-Interna neopixel - Steuerung von WS2812 / NeoPixel LEDs network - Netzwerk-Konfiguration uctypes - Zugriff auf Binärdaten in strukturierter Form Port-spezifische librariesIn 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 ESP32Die 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 RP2040Die 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 M5Stack 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 anzeigenhelp('modules') Inhalt von Modulen anzeigendir(module_name) Interessante ModuleHier ist nur eine Auswahl der Funktionen aufgeführt. gcGarbage collector = Müllsammler. Nicht mehr benötigter Speicherplatz von Daten oder Objekten wird wieder freigegeben.
Übung
>>> from gc import mem_free >>> mem_free() 176672 >>>
math
Ausserdem sind diverse Winkelfunktionen, Logarithmen und weitere mathematische Funktionen insbesondere für Float-Zahlen enthalten. osEnthält grundlegende Betriebssystem Funktionen. Es gibt aber auch andere interessante Funktionen:
Übung
random
Übung
sys
Übung
timeEnthält Funktionen die etwas mit Zeit zu tun haben.
Weiter Funktionen werden wir erkunden wenn wir uns mit Datum und Uhrzeit beschäftigen. Übung
machineHier sind Funktionen für die periphere Hardware unseres Microcontrollers.
>>> dir(machine) ['__class__', '__name__', '__dict__', 'ADC', 'I2C', 'I2S', 'PWM', 'PWRON_RESET', 'Pin', 'RTC', 'SPI', 'Signal', 'SoftI2C', 'SoftSPI', 'Timer', 'UART', 'WDT', 'WDT_RESET', 'bitstream', 'bootloader', 'deepsleep', 'dht_readinto', 'disable_irq', 'enable_irq', 'freq', 'idle', 'lightsleep', 'mem16', 'mem32', 'mem8', 'reset', 'reset_cause', 'soft_reset', 'time_pulse_us', 'unique_id'] >>> Bereiche (aus der Micropython Dokumentation):
Einige dieser Bereiche werden wir uns im 2. Teil näher ansehen. neopixelDieses Modul enthält Funktionen zur Steuerung von WD2812 LED's. networkHier sind die Funktionen enthalten, die wir benötigen um den Pico W mit dem Wlan zu verbinden. Auch diesen Bereich werden wir uns im 2. Teil näher ansehen. Zurück zu Micropython Kurs 2023 - Teil 1 |