+86 755-83044319

Perspectives

/
/

Einfache Einführung in eingebettete Systeme (1) – Was ist MicroPython?

Veröffentlichungszeit: 2022Quelle des Autors: SlkorDurchsuchen:2959

Als Python zur vorherrschenden Programmiersprache wurde, erfreute sich MicroPython im Bereich der eingebetteten Systeme immer größerer Beliebtheit, insbesondere im beliebten ESP32 und dem RP2040-Mikrocontroller-basierten Pico-Modul, das gerade von der Raspberry PI Foundation veröffentlicht wurde.

Als Bannon, der keine Codezeile schreiben konnte, fühlte ich mich die meiste Zeit sehr eingeschränkt und schwor mir, eine gute Zeit zum Erlernen einer Programmiersprache zu finden. Während der 7-tägigen Feiertage zum Nationalfeiertag widmete ich mich MicroPython und realisierte alle Funktionen der Peripheriegeräte auf dem Board auf dem von mir selbst entworfenen Pico-Erweiterungs-Lernboard:

  • Ausgefallene Beleuchtung – monochrom, RGB drei Farben, alle möglichen Kombinationen, auch über Tasten und Sensoren steuerbar

  • Der OLED-Bildschirm zeigt Text, Bilder und Wellenformen an

  • Das Audiosignal wird gesammelt und auf dem OLED-Bildschirm angezeigt – so entsteht eine coole Wellenformanzeige

  • Spielen Sie „Me and my Country“ mit dem Summer auf dem Brett

  • Den Code einer anderen Person portieren, um beliebige Wellenformen zu erzeugen – Wellenformen ändern, Frequenz ändern, Größe ändern usw



Was mich während der 7-tägigen „Erkundung“ am meisten beeindruckt hat, war, wie einfach der Einstieg in eingebettete Systeme in MicroPython war – umfangreiche Open-Source-Ressourcen, verschiedene Referenzformen wie Videokurse, Textfälle usw.

MicroPython ist wirklich eine tolle Programmiersprache – objektorientiert, flexibel, einfach, elegant!

Mein persönliches Lernen profitiert vom Teilen anderer (Open Source), und der beste Weg, Wissen weiterzugeben, besteht darin, zu teilen, was ich gelernt habe und was ich gelernt habe. Daher plane ich, ein auf Pico basierendes Micro Python-Tutorial zur eingebetteten Programmierung zu starten, das in einem Monat offiziell veröffentlicht wird. Natürlich, In der Anfangsphase wird es 15 Live-Kurse zum PCB-Design geben, die Sie dabei unterstützen, selbst ein Pico-Lernboard zu entwerfen. Schließlich kann jeder in der praktischen Umgebung der kostenlosen Druckplatine und des kostenlosen Versands auf der Basis einer Pico-Kernplatine Leiterplatten entwerfen, um in der Zukunft verschiedene interessante Anwendungen zu realisieren. Auch für Ingenieure eingebetteter Systeme kann es von Vorteil sein, zu lernen, wie man eine Leiterplatte entwirft.

Von nun an wird es eine Reihe technischer Artikel zu diesem Kurs geben. Heute ist der Erste:

1. Was ist MicroPython?

MicroPython ist ein kleiner Open-Source-Interpreter für die Programmiersprache Python, der auf einem kleinen eingebetteten Entwicklungsboard läuft. Mit MicroPython können Sie sauberen, einfachen Python-Code zur Steuerung der Hardware schreiben, ohne komplexe zugrunde liegende Sprachen wie C oder C++ (Arduino für die Programmierung) verwenden zu müssen.


MicroPython-Logo

Die Einfachheit der Programmiersprache Python macht MicroPython zur idealen Wahl für Einsteiger in Programmierung und Hardware. MicroPython ist sehr umfassend und unterstützt die meisten Python-Syntaxen, sodass selbst erfahrene Python-Veteranen die Verwendung von MicroPython vertraut und unterhaltsam finden werden.

MicroPython ist nicht nur einfach zu bedienen, sondern verfügt auch über einige einzigartige Funktionen, die es von anderen eingebetteten Systemen unterscheiden:

Verwenden Sie den interaktiven Interpreter: REPL (Read Read- Evaluate Evaluate- Print Print- Loop Loop) – damit können Sie eine Verbindung zu einem Board herstellen und es Code ausführen lassen, ohne es kompilieren oder hochladen zu müssen – perfekt zum schnellen Erlernen und Experimentieren mit Hardware!

Umfangreiche Softwarebibliotheken – Wie die reguläre Programmiersprache Python verfügt MicroPython über eine große Anzahl integrierter Bibliotheken, die viele Aufgaben unterstützen. Mithilfe der integrierten Bibliotheken von MicroPython ist es beispielsweise einfach, JSON-Daten aus Webdiensten zu analysieren, Text mithilfe regulärer Ausdrücke zu durchsuchen und sogar Netzwerk-Socket-Programmierung durchzuführen.

Erweiterbarkeit – Für fortgeschrittene Benutzer kann MicroPython mit Low-Level-C/C++-Funktionen erweitert werden, sodass Sie bei Bedarf ausdrucksstarken High-Level-MicroPython-Code mit schnellerem Low-Level-Code kombinieren können.

MicroPython ist eine Variante der Python-3-Sprache. Es ist die Idee von Darrien P. George, Ph.D., von der University of Cambridge, der 2013 mit einem Crowdfunding-Team an der Entwicklung eines MicroPython-fähigen Hardware-Entwicklungsboards namens PyBoard arbeitete. MicroPython1.0 wurde auf der Python-Konferenz vorgestellt ( PyCon) im Jahr 2014. Dr. George richtete außerdem die Website Micro Python.org (www.micropython.org) ein, um MicroPython und Pyboard zu unterstützen.


Das offizielle MicroPython.Org-Logo

MicroPython.Org PyBoard, basierend auf dem STM32-Controller.


2. Was kann MicroPython?

MicroPython wurde entwickelt, um eingebettete Systemsteuerungsprogramme schnell und effizient zu erstellen. Eingebettete Systeme können einfach als jedes Projekt definiert werden, das den Einsatz von Mikrocontrollern erfordert, um technische Anforderungen zu erfüllen. Typische eingebettete Systeme verwenden typischerweise Sensoren und manchmal elektromechanische Aktoren als Schnittstelle zu Mikrocontrollern. Sie können für eine einfache Interaktion an Mensch-Maschine-Schnittstellengeräte angeschlossen werden, sind jedoch stärker automatisiert und ermöglichen den eigenständigen Betrieb oder den Fernzugriff auf die Cloud.

Genau wie Arduino-Boards kann MicroPython Hardware und angeschlossene Geräte steuern – Sie können GPIO-Pin-Blinklichter steuern, Schalter lesen und mehr; Kann das PWM-Signal ansteuern, das den Server und die LED ansteuern kann; Über einen Analog-Digital-Wandler können analoge Sensoren ausgelesen und ausgelesen werden. Auch die Kommunikation mit I2C- oder SPI-Geräten ist problemlos möglich. Auf einigen Boards finden Sie sogar Netzwerk- und WLAN-Unterstützung. MicroPython verfügt sogar über Bibliotheken zur Steuerung anderer Hardware wie NeoPixels und LED-Streifen, Miniatur-OLED-Displays usw. Kurz gesagt, MicroPython kann eine Menge Dinge!

Was sind die Einschränkungen von MicroPython?

MicroPython unterliegt nur sehr wenigen Einschränkungen und fast alles, was Arduino tun kann, kann über MicroPython-Boards ausgeführt werden. Es ist jedoch wichtig zu beachten, dass MicroPython-Code nicht so schnell ist und möglicherweise mehr Speicher benötigt als ähnlicher Arduino- oder anderer C/C++-basierter Low-Level-Code, obwohl dies normalerweise keine Rolle spielt, da die Geschwindigkeits- und Speicherunterschiede nicht groß genug sind wirken sich auf die meisten Anwendungen aus. Beachten Sie, dass zeit- oder leistungskritischer Code in MicroPython möglicherweise nicht funktioniert. Beispielsweise ist es möglicherweise nicht die beste Idee, ausschließlich Software zum Ansteuern von E/A-Pins zu verwenden, um einige serielle Hochgeschwindigkeitskommunikationsprotokolle in MicroPython zu implementieren. Es gibt jedoch Möglichkeiten, MicroPython- und Low-Level-C/C++-Code zu mischen, sodass wir das Beste aus beiden Welten haben – die Hauptlogik ist sauberer und leicht verständlicher MicroPython-Code, während die leistungskritischen Teile eingeschrieben sind schnellerer Low-Level-Code.

Die MicroPython-Sprache implementiert den Großteil der Kernsprache Python 3, MicroPython implementiert jedoch nicht die gesamte Python 3-Standardbibliothek. Python ist dafür bekannt, über eine umfangreiche Standardbibliothek zu verfügen, aber der Versuch, eine so große Bibliothek auf eine kleine Platine mit nur Kilobyte Speicher zu komprimieren, ist unmöglich. Stattdessen implementiert MicroPython einige kleinere Versionen der Python-Standardbibliothek und bietet so ein großartiges Entwicklungserlebnis.


Haftungsausschluss: Dieser Artikel wurde aus „Electronic Forest“ nachgedruckt. Dieser Artikel gibt nur die persönlichen Ansichten des Autors wieder und stellt nicht die Ansichten von Sakwei und der Branche dar. Er wird nur reproduziert und geteilt und unterstützt den Schutz der Rechte an geistigem Eigentum. Bitte geben Sie die Originalquelle an und Autor, wenn es einen Verstoß gibt, kontaktieren Sie uns bitte, um ihn zu löschen.



Service-Hotline

+86 0755-83044319

Hall-Effekt-Sensor

Holen Sie sich Produktinformationen

WeChat

WeChat