Glossar:

Accesspoint-Interface

Netzwerkschnittstelle eines ESP32/ESP8622, über welche direkt die Verbindung zu einem ESP-Modul bereitstellt. Über diese Schnittstelle kann man das ESP-Modul direkt, z. B. von einem Handy aus erreichen. Diese Insellösung benötigt keinen Zugang zu einem WLAN. Siehe dazu auch Station-Interface.

ACK-Bit

Auf dem I2C-Bus werden Bytes auf der SDA (Serial Data) mit Hilfe der Tacktung auf der SCL-Leitung übertragen. Ein neunter Takt, steht für das Acknowledge-Bit. Damit bestätigt der Empfänger, dass das Datenbyte angekommen ist und, dass gegebenenfalls ein weiteres gesendet werden kann. Ein NACK (not acknowledged) zeigt an, dass kein weiteres Byte gesendet werden soll oder kann.

 

Eine 0 auf der Datenleitung SDA während des 9. Tackts kennzeichnet ein ACK, eine 1 ein NACK.

ADC

Eine eigenständige oder in einem Controller integrierte Baugruppe, die durch schrittweisen Vergleich analoge Spannungen in Zahlenwerte umformen kann. Der ESP32 enthält zwei solcher Einheiten, deren Eingang jeweils über einen Multiplexer (Weiche) an verschiedene Eingangspins gelegt werden kann.

Alias

Ersatzname für ein Modul oder Objekt oder eine Variable.

Attribut (Property, Eigenschaft)

Speicherplatz, dessen Inhalt das Erscheinungsbild oder das Verhalten eines Objekts verändern kann.

Autostart

 

Soll das Programm autonom mit dem Einschalten des Controllers starten, kopieren Sie den Programmtext in eine neu angelegte Blankodatei. Speichern Sie diese Datei mit dem Namen boot.py im Workspace ab und laden Sie sie zum ESP-Chip hoch. Beim nächsten Reset oder Einschalten startet das Programm automatisch. Der ESP32/ESP8266 muss dazu nicht mit dem PC verbunden sein.

BCD-Format

BCD steht für Binary Coded Decimal. Hiermit lassen sich zweistellige Dezimalzahlen in ein Byte codieren. Die oberen 4 Bits stellen die Zehnerziffer und die unteren 4 Bits die Einerziffer der Dezimalzahl dar. Dazu ein Beispiel

 

Von Dezimal nach BCD:

25 dezimal -> 2 * 10 + 5

2 dezimal wird zu 0010 binär

5 dezimal wird zu 0101 binär

Zusammengesetzt:

00100101 = 0x25 BCD

 

Die hexadezimalen Ziffern 2 und 5 entsprechen also genau den dezimalen Ziffern. Natürlich weicht der Bytewert 0x25 = 37 vom ursprünglichen dezimalen Wert 25 ab, Bei der Rückrechnung muss daher das Byte zunächst in die beiden Nibbles aufgeteilt werden, um die Zehnerzifferwerte zu erhalten, die dann zur Dezimalzahl zusammengesetzt werden. Die Aufteilung erfolgt über Undieren und eine Schiebeaktion.

 

Von BCD zu dezimal:

0x39 BCD wird zu 0b00111001 binär

0b00111001 ^ 00001111 = 0b00001001 = 9

0b00111001 >> 4 = 0b00000011 = 3

 

0b0011 = 3 Zehnerziffer

0b1001 = 9 Einerziffer

3 * 10 + 9 = 39 dezimal

 

Binärsystem, Zweiersystem

So, wie für das Dezimalsystem die Potenzen von 10 Stufenzahlen sind, sind es für das Binärsystem oder Zweiersystem die Potenzen von 2. Das Zehnersystem hat die 10 Ziffern 0..9, im Zweiersystem gibt es nur die 0 und die 1.

 

 

Größere Zahlen als 1 werden durch das Stellenwertsystem möglich.

 

… 27   26   25   24   23  22  21  20

   127  64  32  16  8    4    2   1

0b 0    1    1     0   1    1    1   0  =

0*127 + 1*64 +1*32 + 0*16 +1*8+1*4+1*2*0*1 =

110

 

Callback Funktion

Eine Funktion, die beim Auftreten bestimmter Ereignisse, wie zum Beispiel Interrupts, aufgerufen werden, um den gemeldeten Vorfall zu bearbeiten. Callback Funktionen werden wie normale Funktionen declariert. Der Name der Funktion (ohne die Klammern) wird bei der Einrichtung der IRQ-Quelle als Referenz übergeben.

case sensitive

Der Begriff drückt aus, dass Groß- Kleinschreibung beachtet wird. Start, START und start sind also z. B. Namen für drei unterschiedliche Variablen.

Comprehension

Eine Comprehension ist eine Bildungsvorschrift, die das automatische Befüllen von Listen (List-Comprehension) oder Dictionaries (Dict-Comprehension) im Zusammenspiel mit iterierbaren Objekten (aka Iterables) erlaubt. Das kann wie im folgenden Beispiel mittels einer for-Anweisung geschehen.

 

[ x*x*x for x in range(1,11)]

ergibt die Liste der Kubikzahlen von 1 bis 10:

[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]

 

conditional expression

Ein Ausdruck, der die alternative Zuweisung zweier Ausdrücke oder Werte an eine Variable ermöglicht. Die Syntax ist folgende

variable = (expression1 if condition else expression2)

condition ist ein logischer Ausdruck wie bei normalen if-Konstruktionen.

Constructor(-Methode)

Methode einer Klasse, welche ein Objekt gemäß den Vorgaben erzeugt (Speicherplatz reserviert) und die Attribute mit Defaultwerten oder/und durch die in den Aufrufparametern übergebenen Werte vorbelegt

Credentials

geheime Zugangsdaten

hier: SSID und Passwort des Accesspoints

Dateihandle

Eine vom Betriebssystem vergebene eindeutige Nummer für den Zugriff auf geöffnete Dateien. Der Begriff "Handle" stammt aus der Windowsecke. bei Betriebssystemen, die auf POSIX (Linux) beruhen, ist der Begriff "Deskriptor" gebräuchlich.

Defaultwert

Standard Vorgabewert

DHCP

Dynamic Host Configuration Protocol

Netzwerkdienst, der einem sich anmeldenden Netzwerkgerät eine IP-Adresse zuweist. Diese kann je nach Einstellung des Dienstes zufällig aus einem Pool von Adressen stammen oder einer bestimmten MAC-Adresse zugeordnet sein.

Dictionary

Sequenzielle Datenstruktur die in Perl und Lua auch als Hash bekannt ist. In Perl wird ein Dictionary (kurz Dict) mit geschweiften Klammern notiert. Es enthält Paare aus einem Schlüssel und einem Wert. Als Schlüssel können nur immutable Datentypen wie Ganzzahlen, Fließkommazahlen oder Strings. Listen werden vom Interpreter beanstandet, Tuples dagegen sind erlaubt. Im Gegensatz zu den Werten, müssen die Schlüssel unique sein, das heißt Schlüssel dürfen nicht mehrfach vorkommen. Schlüssel und Wert werden durch einen Doppelpunkt voneinander getrennt, Die Paare sind durch Kommas getrennt und müssen nicht zwingend in einer Zeile stehen.

 

Beispiel:

D = {

"abc": "Text",

 "pi" : 3.1415,

 31  : "Primzahl",

2.71 : (2,7,1),

(1,1,2,3,5) : 8,

}

Dotierung

Gezielte Verunreinigung eines Halbleitermaterials durch andere Elemente (dreiwertig oder fünfwertig), um die Leitfähigkeit zu steuern. Eine p-Dotierung von Silizium kann zum Beispiel mit Indium erfolgen, eine n-Dotierung mit Arsen. Im letzteren Fall erhält das Basismaterial (hochreines Silizium) einen Überschuss an freien Leitungselektronen. Im p-dotierten Silizium sind freie Elektronen Mangelware, weil sie sich zum Beispiel an das dreiwertige Indium stärker anlagern als an Silizium. Dadurch sind bei manchen Siliziumatomen die äußeren Elektronenschalen nicht vollständig besetzt. Man spricht dann von Löchern. Die Indiumatome erscheinen als negative Ionen, weil sie ein Elektron mehr gebunden haben.

Duty Cycle

Der Duty Cycle beschreibt das Verhältnis der Pulsdauer zur Periodendauer periodisch verlaufender Rechtecksignale in Prozent. Der Duty Cycle beträgt 50%, wenn die Pulsdauer die Hälfte der Periodendauer ausmacht. 0% entspricht dem konstanten Pegel 0, 100% dagegen dem konstanten Pegel 1. Durch Veränderung des Duty Cycles kann man Daten codieren, um sie kabelgebunden oder über Funkstrecken zu übertragen. Protokolle wie I2C oder RC5 nutzen diese Technik.

Firmware

Dieser Teil von Software stellt quasi das Betriebssystem von Microcontrollern dar. Sie dient als Bindeglied zwischen der Hardware und den Programmen von Benutzern, indem sie zum Beispiel grundlegende Befehle zur Steuerung von IO-Pins, Timern oder Schnittstellen wie I2C, SPI und RS232 zur Verfügung stellt. Für Mikrocontroller stehen neben MicroPython die Arduino-IDE (C/C++/Processing) und Lua Verfügung.

Dateiflags

Unter Linux hat jede Datei Kennzeichner für die Benutzerrechte des Benutzers, seiner Gruppe und der Allgemeinheit. In rwx steht das r für Leserecht, w für Schreibrecht und x für die Lizenz, die Datei als Programm ausführen zu dürfen. Das erste rwx bezieht sich auf den User, das zweite auf die Gruppe und das dritte auf alle anderen User.

Beispiel:

rwxrw-r-- ….. dateixy.z

Der User darf mit der Datei alles machen, die Gruppe darf sie lesen und beschreiben alle anderen dürfen nur lesend zugreifen. Die Rechte werden üblicherweise mit dem Befehl chmod als oktale Zahlenkombinationen vergeben. Für das obige Beispiel lautet der Befehl:

chmod 764 dateixy.z. Die Rechte haben folgende Wertigkeiten:

r = 4

w = 2

x = 1

 

Formatstring

Eine Zeichenkette, in der durch bestimmte Symbole die Erscheinungsform von Daten, zum Beispiel für die Ausgabe auf ein Ausgabemedium, beeinflusst werden kann. Dazu zählen Ausrichtung, Zahlenformat, Füllzeichen etc. In MicroPython sieht eine derartige Formatierung etwa so aus:

 

"{:>_6.1f};".format(73.683)

 

Ergebnis (rechtsbündig, 6 Stellen incl. Dezimalpunkt, auf eine 1 Nachkommastelle runden und mit führenden Unterstrichen auffüllen:

__73.7

 

Fragmentierung

Bei längerem Programmlauf werden ständig neue Objekte erzeugt und wieder verworfen. Weil das nicht zeitgleich geschieht entstehen so Folgen von freigegebenen und noch belegten Speicherbereichen. Der Heap ähnelt immer mehr einem Schweizer Käse. Diese Zerstückelung des Heap nennt man Fragmentierung.

Hallsensor

Der Sensor zur Messung der Feldstärke von Magnetfeldern wurde von Edwin Hall (1855-1938, US-amerikanischer Lehrer und später Dr. der Physik) im Rahmen seiner Doktorarbeit entdeckt.

 

Ein möglichst dünnes, rechteckiges Plättchen aus Halbleitermaterial wird an gegenüberliegenden Seiten, a und c, an eine Stromquelle angeschlossen. An den beiden anderen Seiten, b und d, schließt, man einen Spannungsmesser an. Treten nun Magnetfeldlinien senkrecht durch die Fläche des Plättchens, dann werden die Majoritätsträger des Halbleitermaterials auf ihrem Weg von a nach c durch die Lorentzkräfte auf die bewegten Ladungen auf eine Kreisbahn gezwungen und landen an einer der beiden Seiten b oder d. Das Ladungsungleichgewicht zwischen b und d wird als Hallspannung messbar. Diese ist direktproportional zur Flussstärke B des Magnetfelds.

Heap

Speicherbereich im RAM, wo Userdaten abgelegt werden können. Informationen über die Belegung können über die folgenden Anweisungen abgerufen werden.

import micropython

micropython.mem_info()

Hexcode

Darstellung von Zahlen im Hexadezimalsystem mit 16 Ziffern von 0…15 codiert durch 0…9,A,B,C,D,E,F; die Stellenwerte sind Potenzen von 16. Die Notation erfolgt in verschiedener Syntax (=Schreibweise).

Beispiel: Der Wert 46 im Dezimalsystem entspricht 0x2E = 2Eh = $2E = 2*16 + 14

HTML-Seite

Hyper-Text Markup Language

der minimale Aufbau einer HTML-Seite ist folgender

<html>

<head>

<title> Seitentitel optional </title>

</head>

<body>

Hier steht der Seiteninhalt

</body>

</html>

Indentation

Einrückung am Zeilenbeginn, durch die in Python Strukturblöcke dargestellt werden. Sie besteht aus einer bestimmten Anzahl von Leerzeichen (früher Tabulatorzeichen), die sich von Editor zu Editor unterscheiden kann. µPyCraft verwendet 2, Thonny 4.

Index, Indizierung

Die Nummerierung der Felder einer Liste zur eindeutigen Identifizierung; Der Index ist die Nummer eines Feldes über die der Inhalt angesprochen wird.

L[7] liefert den Inhalt des 8. Feldes der Liste L zurück, weil Listen ab dem Index 0 laufen.

Instanz

Ein von einer Klasse abgeleitetes Objekt

Interrupt

Das ist eine Unterbrechung des laufenden Programms, um besondere Ereignisse bevorzugt zu bedienen. Der Grund für eine solche Unterbrechung kann der Ablauf eines Timers, das Eintreffen von Daten über eine Schnittstelle, das Auslösen eines Alarms durch eine externe Baueinheit oder Ähnliches sein. Einem Interrupt ist stets eine Interrupt-Service-Routine (ISR) zur Abarbeitung des anstehenden Jobs zugewiesen, die man Handler nennt. Nach Beendigung der ISR übernimmt das unterbrochene Programm wieder die Steuerung.

ISR

Die Interrupt-Service-Routine wird aufgerufen, wenn eine Interruptquelle einen Interrupt anfordert (IRQ=Interrupt Request). Als IRQ-Quellen kommen beim ESP32/ESP8266 Pegelwechsel an einem GPIO-Pin oder der Ablauf eines Hardwaretimers in Frage.

Iterables

Iterierbare Objekte wie Listen, Dicts oder Sets sind Objekte, deren Elemente durch geeignete Verfahren aufgezählt werden können. Dazu gehört auch das range-Objekt, das in for-Anweisungen verwendet wird.

IRQ

Interrupt Request oder Unterbrechungsanforderung siehe Interrupt

JFET

Der J-FET (Junction Field Effect Transistor) arbeitet vergleichsweise wie ein Schlauch, dessen Durchfluss man durch einengen des Querschnitts vermindern kann. Die Schlauchenden bilden Source und Drain, der Gürten um den Schlauch ist das Gate.

 

Gemäß diesem Funktionsprinzip können JFets nur als Verarmungstypen (depletion type) hergestellt werden. Das bedeutet, dass der Transistor bereits leitet, wenn keine Basisspannung anliegt. Mit steigender Gate-Spannung wird der Kanal Source-Drain eingeengt und die Leitfähigkeit nimmt ab.

Kaltstart

Start des Systems nach dem Einschalten

Kapselung

Abschottung von Daten und Programmteilen von übergeordneten Positionen aus. In MicroPython gilt dieses Prinzip zum Beispiel für Datenstrukturen, die innerhalb von Funktionen neu declariert werden. Selbst bei gleichnamigen Variablen handelt es sich innerhalb und außerhalb einer Funktion um nicht identische Speicherstellen. MicroPython erlaubt zwar das direkte Ändern von Instanzattributen. Allerdings sollte vor allem die Wertzuweisung an solche Variablen über eine Methode erfolgen, die gegebenenfalls eine Plausibilitätskontrolle bietet. Das beugt Programmabbrüchen vor, die zum Beispiel aus der Zuweisung eines falschen Datentyps resultieren.

Klasse (class)

Sammlung von thematisch zusammengehörigen Konstanten, Attributen und Methoden, die den Aufbau später zu erstellender Objekte beschreibt

LDR

Light Dependent Resistor ist ein elektrischer Widerstand, der seinen Wert durch die Bestrahlung mit Licht ändert. Das Sensormaterial ist Cadmiumsulfid (CdS) das bei Bestrahlung einen Widerstand im niedrigen Kiloohm oder 100-Ohm-Bereich annimmt. Bei zunehmender Dunkelheit steigt der Widerstand schnell in den Megaohmbereich. Die Reaktionsgeschwindigkeit ist im Vergleich zu Fotodioden oder Fototransistoren gering.

Liste

Eine Datenstruktur in CPython oder LUA, die einem Array in der Arduino-IDE ähnelt. Listenelemente können mittels Index wie in einem Array angesprochen werden. Die Indizierung beginnt bei 0. Wenn n die Anzahl von Elementen in einer Liste ist, ist n-1 der letzte Index.

LSB

Steht für Least Significant Bit und bezeichnet bei der AD-Wandlung den kleinsten erfassbaren Wert einer analogen Größe. Dieser entspricht somit dem Bitabstand des erhaltenen digitalen Werts. In den Datenblättern von Sensoren wird mit dem LSB die Auflösung des Sensors im jeweiligen Messbereich angegeben.

MAC-Adresse

Media-Access-Control-Adresse

Physikalische Adresse eines Netzwerkgeräts; sie besteht aus 6 Bytewerten (0..255), kennzeichnet Hersteller und Seriennummer und dient dem gezielten Ansprechen des Geräts

Beispiel: 32-1f-5d-ab-c7-01

Members

Oberbegriff für die in einer Klasse enthaltenen Methoden, Attribute und Konstanten

Methode (Funktion)

"Vorgangsbeschreibung" für die Änderung von Attributwerten eines Objekts oder zur Ausführung von Aktionen in Verbindung mit einem Objekt

Modul

Sammlung thematisch zusammengehöriger Attribute und Methoden, die als separate Datei abgelegt werden. Bei Bedarf kann man entweder das gesamte Modul oder nur einzelne Klassen in ein Programm importieren. Durch die Verwendung von Modulen wird die Programmdatei kürzer. Ferner können Module in mehreren Projekten eingesetzt werden. Sie sind vergleichbar mit den Bibliotheken (Libraries) der Arduino-IDE.

modulo

Die Modulo-Rechnung beruht auf der Ganzzahldivision mit Rest, wie wir es in der Grundschule gelernt haben.

Beispiel:

16 modulo 6 ist 4, weil 16 : 6 = 2 Rest 4 oder

16 = 2 mal 6 + 4

 

In MicroPython gibt es dafür die Operatoren // und %

 

>>> 16 // 6

2

>>> 16 % 6

4

Multiplexer

Unter Multiplexing versteht man die Zusammenführung mehrerer Eingangssignale auf einen Ausgang. Bausteine, die diesen Vorgang zur Verfügung stellen nennt man Multiplexer, kurz MUX. Über separate Steuerleitungen wird von den zugeführten digitalen oder analogen Signalen eines ausgewählt, und zum Ausgang durchgeschaltet. Das mechanische Pendant ist ein Drehschalter.

Namenskonvention von Python

Variablennamen und Funktionsnamen dürfen in Python

  • nicht mit einer Ziffer beginnen
  • kein Leerzeichen enthalten
  • keinen Bindestrich "-" enthalten

 

NMEA-Satz

NMEA steht für National Marine Electronics Association. Der NMEA 0183-Standard regelt die Kommunikation zwischen Navigationsgeräten, die über eine serielle Leitung erfolgt. Die Informationen sind in sogenannte NMEA-Sätze verpackt.

NMEA-Sätze werden von GPS-Geräten ausgegeben und enthalten Informationen wie zum Beispiel die geografische Position, Höhe, Geschwindigkeit und Kurs eines Objekts sowie die Uhrzeit und diverse weitere Daten. Die Codierung erfolgt im Klartext nach einem bestimmten Protokoll. Jeder Satz wird durch einen Bezeichner eingeleitet, der die Art des GPS-Geräts sowie den Inhalt des Satzes kennzeichnet. Dann folgen, durch Komma getrennt, die zu übermittelnden Daten. Am Schluss folgt nach einem Stern (*) eine Prüfsumme.

None

In MicroPython ist dem Wert None sprichwörtlich "nichts" zugewiesen, keine Zahl auch nicht 0, kein Zeichen eben gar nichts. Neben 0 und False entspricht auch None bei Abfragen einem False.

Oderieren

Der Vorgang, bei dem zwei Bytes oder die Wahrheitswerte logischer Ausdrücke durch "oder (aber auch)" verknüpft werden.

Die Verknüpfung von Wahrheitswerten durch oder ergibt dann wahr, wenn mindestens einer der Ausdrücke wahr ist.

Beispiel:

(1 <= 3 oder 5<4 oder 23 > 17) ist wahr, weil
1 <= 3 (oder weil auch 23 > 17)wahr ist.

 

Die zweite Variante ist das bitweise oder arithmetische oder. Hier werden die einzelnen Bits zweier Zahlenwerte mit oder gemäß folgender Wahrheitstabelle verknüpft.

 

oder

0

1

0

0

1

1

1

1

 

Das Kürzel für das bitweise oder ist der senkrechte Strich, "|".

 

Beispiel: 1 0 0 1 1 0 1 0  |  1 0 1 0 1 1 0 1

 

 

1 0 0 1 1 0 1 0

oder

1 0 1 0 1 1 0 1

 

1 0 1 1 1 1 1 1

 

Für die Verknüpfung logischer Ausdrücke durch "oder(aber auch)" sind folgende Schreibweisen gebräuchlich:

 

a<0 v b>=17

a<b or b>=17

a<b || b>=17

 

Diese logischen Ausdrücke sind als inhaltlich gleich anzusehen. In MicroPython gilt die fett dargestellte Schreibweise.

 

In MicroPython gelten als wahr:

True, Zahlen <> 0, nicht leere Strings

Als falsch gelten:

False, 0, "", None

 

Parameter

Wert oder Verweis (Zeiger/Pointer) auf einen Wert, der in Form einer Liste an eine Methode übergeben wird.

Parser, parsen

Programmteil welcher Eingaben zerlegt und deren Inhalt analysiert.

Payload

Das ist der Nutzdatenanteil in einer Nachricht, die über ein beliebiges Medium (Kabel, Funk, …) übermittelt wird. Die Payload wird meist mit einem Prefix und einem Suffix versehen, deren Inhalte Informationen über die Übertragungsform und Datensicherung enthalten. Alles zusammen nennt man Rahmen, Paket oder Frame, je nach dem benutzten Kanal.

Periodendauer

Als Periodendauer eines Signals mit sich wiederholendem Spannungskurvenverlauf bezeichnet man die Zeit zwischen zwei Punkten mit gleichem Spannungspegel, welche die Spannungskurve in der gleichen Richtung durchläuft. Bei sinusförmiger Spannungskurve ist das zum Beispiel bei jedem zweiten Nulldurchgang der Fall. Bei Rechtecksignalen wird die Periodendauer durch auf einander folgende steigende Flanken beziehungsweise fallende Flanken gekennzeichnet.

PIN-Diode

Normale PN-Halbleiterdioden bestehen aus einem positiv und einem negativ dotierten Siliziumblock. An der Grenzschicht rekombinieren Elektronen aus dem n-dotierten Material mit den Löchern aus der p-dotierten Schicht. Diesen Bereich nennt man Verarmungszone, weil es darin keine beweglichen Ladungsträger mehr gibt. Dieser auch Sperrschicht genannte Bereich, verhindert den Ladungstransport durch die Diode. Außerdem entsteht durch die Rekombination ein Raumladungsbereich mit einem elektrischen Feld mit Richtung vom n- zum p-dotierten Bereich.

 

Diese Raumladungszone kann man verbreitern, indem man die Diode in Sperrrichtung betreibt. Dazu wird der n-Halbleiter (Kathode) an den positiven Pol einer Spannungsquelle angeschlossen, der p-Halbleiter (Anode) an den Minuspol. Fällt nun Licht durch die dünne p-dotierte Schicht einer Fotodiode, kann das in der Sperrschicht zur Bildung von Elektron-Lochpaaren führen. Die Ladungsträger werden durch das elektrische Feld der Raumladungszone beschleunigt, es fließt ein geringer (Foto-)Strom.

 

Bei PIN-Dioden fügt man nun zwischen den p- und den n-dotierten Bereich eine Schicht schwachdotierten n-Siliziums ein, den sogenannten Intrinsic-Bereich. Durch diese bautechnische Verbreiterung der Sperrschicht wird die Wahrscheinlichkeit erhöht, dass eindringende Lichtquanten Elektron-Lochpaare hervorrufen wodurch ein höherer Fotostrom fließt.

 

Man kann übrigens aus diesem Grund jede in Klarsichtmaterial eingeschlossene Halbleiterdiode als Fotozelle verwenden, auch LEDs.

 

Port

a) Schnittstelle eines Rechnersystems oder eines Microcontrollers

b) in MicroPython die Bezeichnung für das gesamte System, auf dem MicroPython läuft.

Beispiele: Linux, ESP32, PY Board

Prefix

Wort-Vorsatz zur besonderen Kennzeichnung der Zuordnung oder Bedeutung des nachfolgenden Begriffs.

Prellen, Tastenprellen

Darunter versteht man ein wiederholtes schnelles, unregelmäßiges Öffnen und Schließen eines Tastenkontakts beim Betätigen oder Loslassen der Taste. Das Prellen wird durch Schwingungen der Kontaktfeder bei mechanischen Kontakten hervorgerufen. Da dieses Verhalten stets auftritt, muss man durch geeignete schaltungstechnische oder programmtechnische Maßnahmen klare Verhältnisse schaffen. Ein nicht nachtriggerbares Monoflop in der Signalleitung kann wilde Pegelwechsel unterbinden. Im Programm kann man durch mehrfaches Einlesen des Eingangspins und Pegelvergleich das Tastenprellen ausschalten, indem man den Zustand erst dann weitergibt, wenn wiederholt derselbe Pegel festgestellt wurde.

Pullup

Als Pullup(-Widerstand) wird ein ohmsches Bauteil bezeichnet, das den Pegel des Eingangspins eines aktiven elektronischen Bauteils auf das Potenzial der positiven Versorgungsspannung zieht. Durch externe Beschaltung kann dieser Anschluss auf das Nullpotenzial (0 V) gezogen werden. Ein Controller kann so zwischen den Schaltzuständen HIGH und LOW unterscheiden.

PWM-Signal

PWM ist das Akronym für Puls Weiten-Modulation.

Ein pulsweitenmoduliertes Signal wird durch Rechteckimpulse mit variabler Breite erzeugt. Wird eine LED mit einem PWM-Signal höherer Frequenz versorgt, dann lässt sich damit ihre Helligkeit steuern, ohne dass man ein Flackern wahrnimmt. Ähnlich verhält es sich mit der Drehzahl von Gleichstrommotoren. Beide Anwendungsfälle beruhen darauf, dass das Endgerät nicht laufend mit Energie versorgt wird, sondern nur während dem Anteil einer Periodendauer des Signals, in welchem die Spannung auf hohem Potenzial liegt. Diese Einschaltzeit im Verhältnis zur Periodendauer heißt Duty Cycle D (Tastgrad).

Referenz, referenzieren

Als Referenz versteht man den Bezug auf die Speicherstelle eines Objekts. Die Namen von Variablen und Funktionen etc. verstehen sich in MicroPython als Referenz auf die Speicherstelle des Inhalts. So können mehrere Namen (anderer Name aka Alias) dieselbe Speicherstelle referenzieren, wie in folgenden Beispielen.

 

>>> a=20

>>> b=a

>>> b is a

True

 

>>> def drucke(x):

    print(x)

   

>>> a=drucke

>>> a("Test")

Test

>>> id(a)

1073648592

>>> id(drucke)

1073648592

Register

Besondere Speicherzellen in der Architektur eines Controllers oder Prozessors, die zu arithmetischen Berechnungen oder zum Ansprechen und Steuern von Baugruppen aus der Umgebung des Prozessors dienen.

Relais, Relaisstation

Der Begriff Relais bezeichnet nicht nur einen elektromagnetisch betätigten Schalter, sondern auch eine Funkstation zur Weiterleitung von Funksignalen. Im 2m-Amatuerband werden solche Umsetzer benutzt, um Verbindungen über die Reichweite der eigenen Station hinaus aufzubauen.

 

Der Elektromagnetismus einer Spule wird in dem Bauteil Relais dazu benutzt, um den Anker (Schalkontakt) aus ferromagnetischem Material zum Schließen und Öffnen von Kontakten zu bewegen. Man unterscheidet Ruhe- Schalt- und Arbeitskontakt. Ohne Erregung der Spule ist der Ruhekontakt (aka NC = normally closed) mit dem Schaltkontakt verbunden. Fließt ausreichend Strom durch die Spule, wird der Anker durch den Elektromagneten angezogen und damit der Ruhekontakt geöffnet und der Arbeitskontakt (NO = normally open) geschlossen.

REPL

Read Eval Print Loop, = REPL

Das interaktive Fenster der (Micro-) Pythonumgebung hilft beim Erlernen der Programmiersprache sowie bei der Entwicklung und dem Test von Programmen. So kann das Verhalten jedes Befehls untersucht werden, ohne diesen zuerst in ein Programm einzubauen, es zu compilieren, zum ESP32/ESP8266 hochzuladen und dort zu starten. Nach der Eingabe einer oder mehrerer Befehlszeilen erhält man unmittelbar das Ergebnis der angeforderten Aktionen.

RTC

Real Time Clock steht für Echtzeituhr. Sie wird realisiert durch einen Mikrochip und einen Speicher, die Datum und Uhrzeit nachführen und abrufbar vorhalten. Meist ist auch eine Alarmfunktion mit integriert. Bei einem Ausfall der Hauptenergieversorgung hält eine Pufferbatterie die Funktion aufrecht. Der Zeitgeber ist in der Regel ein Schwingquarz, dessen Qualität maßgeblich über die Ganggenauigkeit der Uhr entscheidet.

Scope

Namensraum von Variablen und Funktionen; also der Bereich, in welchem Variablen bekannt und damit deren Wert abrufbar und gegebenenfalls veränderbar ist sowie Funktionen aufrufbar sind.

Shebang

Die erste Zeile in einem Script-Programm, die angibt, welcher Interpreter für die Ausführung des Scripts zuständig ist. In unixoiden Betriebssystemen gibt diese Zeile an, wo der Interpreter zu finden ist. Er wird mit dem Namen der Scriptdatei als Parameter aufgerufen und führt das Programm aus. Auf Windows-basierten Systemen hat diese Zeile keine Wirkung.

Slicing

Slicing (in Scheiben schneiden) bezeichnet ein Verfahren zum Aufteilen oder Heraustrennen von Bestandteilen eines Strings. Der gewünschte Bereich wird durch Angabe der Indices von Start und Ende+1 der Scheibe in eckigen Klammern durch ein Kolon ( : ) getrennt notiert.

Beispiel:

>>> a="MicroPython ist toll!"

>>> a[5:11]

'Python'

Sockets

"Portale", die es erlauben, zwischen Netzwerkgeräten Informationen auszutauschen; eine Seite arbeitet als Server und wartet auf Verbindungsanfragen, die andere Seite als Client, initiiert solche Verbindungen; steht die Verbindung, können Daten ausgetauscht werden

Station-Interface

Netzwerkschnittstelle eines ESP32/ESP8622, welche die Verbindung zu einem WLAN-Accesspoint bereitstellt. Über diese Schnittstelle kann man das ESP-Modul vom lokalen Netzwerk aus über den Accesspoint erreichen und mit ihm Daten austauschen. Das Station-Interface ist nicht direkt, z. B. von einem Handy aus erreichbar. Siehe dazu auch Accesspoint-Interface

Suffix

Nachgestellte Zeichen oder Zeichengruppen zur Unterscheidung oder näheren Zuordnung des vorangehenden Begriffs

Syntax

Vorschrift oder Regel betreffend die Schreibweise von Schlüsselworten oder Befehlssequenzen

Tupel

Diese Datenstruktur in CPython und MicroPython, ist eine unveränderliche Liste und kann wie eine normale Liste Elemente verschiedenen Typs enthalten. Wohl kann man dem Namen eines Tupels ein anderes Tupel zuweisen aber es ist nicht möglich, den Elementen eines Tupels nach dessen Erzeugung andere Werte zuzuweisen. Die folgenden Beispiele verdeutlichen das.

 

>>> t=(1,2,3)

>>> t=(3,4,5)

>>> t[2]=7

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

TypeError: 'tuple' object doesn't support item assignment

>>> a=5

>>> t=(1,a,3)

>>> t[1]

5

>>> t[1]=9

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

TypeError: 'tuple' object doesn't support item assignment

>>> a=12

>>> t[1]

5

 

Undieren

Der Vorgang, bei dem zwei Bytes oder die Wahrheitswerte logischer Ausdrücke durch "und (zugleich)" verknüpft werden.

Die Verknüpfung von Wahrheitswerten durch und ergibt nur dann wahr, wenn beide Ausdrücke wahr sind.

Beispiel:

(1 <= 3 und 5<4 und 23 > 17) ist falsch, weil
 5<4 falsch ist. ("a"<"b" und 7>3) ist wahr, weil beide Teilausdrücke wahr sind.

 

Die zweite Variante ist das bitweise oder arithmetische und. Hier werden die einzelnen Bits zweier Zahlenwerte mit und gemäß folgender Wahrheitstabelle verknüpft.

 

und

0

1

0

0

0

1

0

1

 

Das Kürzel für das bitweise und ist das Ampersand, "&".

 

Beispiel: 1 0 0 1 1 0 1 0  &  1 0 1 0 1 1 0 1

 

 

1 0 0 1 1 0 1 0

und

1 0 1 0 1 1 0 1

 

1 0 0 0 1 0 0 0

 

Für die Verknüpfung logischer Ausdrücke durch "und (zugleich)" sind folgende Schreibweisen gebräuchlich:

 

a<0 ^ b>=17

a<b and b>=17

a<b && b>=17

 

Diese logischen Ausdrücke sind als inhaltlich gleich anzusehen. In MicroPython gilt die fett dargestellte Schreibweise.

 

In MicroPython gelten als wahr:

True, Zahlen <> 0, nicht leere Strings

Als falsch gelten:

False, 0, "", None