mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Pyboard D-Serie verfügbar


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Christoph B. (birki2k)
Datum:
Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert

Mit der D-Serie sind nun weitere Varianten des Pyboards verfügbar. Erstmals findet sich auch ein integriertes Funkmodul auf den kleinen Platinen. Neben den neuen Modulen wurde ebenfalls ein Ökosystem bestehend aus Adapterplatinen und Erweiterungen vorgestellt.

Pyboards sind auf MicroPython zugeschnittene Mikrocontrollermodule. Bei MicroPython handelt es sich um eine Python-3-Implementierung, die einen Teil der Python-Standardbibliothek für Mikrocontroller bereitstellt. Dies kann etwa den Einstieg in die Mikrocontrollerwelt erleichtern oder die Übernahme von bestehendem Quellcode ermöglichen.

Auf den neuen Pyboards kommt dazu je nach Variante ein auf dem mit 216 MHz getakteten ARM-Cortex-M7 basierender STM32F722, STM32F722 oder STM32F767-Mikrocontroller zum Einsatz. Somit stehen durch den Controller zwischen 256 kB und 512 kB RAM sowie 512 kB bis 2 MB Flash zur Verfügung. Ergänzt wird der Speicher durch einen 2 MB großen extern über QSPI angebundenen Flashspeicher.

Im Gegensatz zu bisherigen Pyboards findet nun auch ein WLAN- und Bluetooth-4.1-Modul Platz auf der Platine. Hier kann wahlweise die integrierte Antenne verwendet oder eine externe Antenne über U.FL angebunden werden. Ergänzt wird der Funktionsumfang durch einen microSD-Kartenslot, eine RTC, drei 12-Bit-ADCs und zwei 12-Bit-DACs. Für die Verwendung zusätzlicher Peripherie stehen 46 frei nutzbare GPIOs zur Verfügung, wobei eine CAN- zwei I2C-, vier UART- und drei SPI-Schnittstellen genutzt werden können.

Abgerundet wird das Konzept durch ein Stecksystem, welches die modulare Kombination verschiedener Module erlaubt. So können etwa 4 GB eMMC, zusätzliche Sensoren oder ein LED-Array angebunden werden.

Preislich liegen die Pyboards der D-Serie zwischen 43,80 und 69,60 britischen Pfund, was einem Preis von etwa 50 bis 80 Euro entspricht. Bezogen werden können die Module neben den Erweiterungen im Shop des Herstellers.


Autor: Retro N. (retronerd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wozu braucht man pyBoards und worin liegt der Vorteil gegenüber 
etablierten und breit unterstützen Platformen?

Ein ESP8266 Board https://www.mikrocontroller.net/articles/ESP8266 bzw. 
der Nachfolger ESP8285 kostet ca. 3-5 EUR und läßt sich mit lua, C und 
bei Bedarf auch mit µPython programmieren.

Und wer einen ARM-SoC braucht und richtiges Python programmieren will, 
nimmt einen RPi. Wenn's kleiner sein soll auch einen Zero W.

: Bearbeitet durch User
Autor: Base64 U. (6964fcd710b8d77)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Retro N. schrieb:
> Wozu braucht man pyBoards und worin liegt der Vorteil gegenüber
> etablierten und breit unterstützen Platformen?

Die PyBoards sind an-sich die reference Hardware für microPython (da 
gabs am 35?c3 einen Vortrag von denen).
Die sine dementsprechend von der Hardware und die Hersteller bauen auch 
ein kleines Ökosystem mit sensor-tiles und interfacing Platine (PyBoard 
zu mehreren sensor-tiles) auf

Dementsprechend kann man auch das Use-Case sehen auf das sie vermutlich 
ab zielen. Schnelles getting started sowie Prototyping in einem 
Ökosystem, Evaluierung von microPython. Vielelicht Klassenräumen.

Retro N. schrieb:
> Und wer einen ARM-SoC braucht und richtiges Python programmieren will,
> nimmt einen RPi. Wenn's kleiner sein soll auch einen Zero W.

Wer ein Projekt mit Hirn starten will schaut sich erst mal die 
Anforderungen an und wählt dementsprechend die geeigneetesten 
Komponenten :)

Autor: Kritiker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Base64 U.

Dein Beitrag liest sich wie die Plumpe Reklame des TOs.

Autor: Lars R. (lrs)
Datum:

Bewertung
3 lesenswert
nicht lesenswert
Micropython wurde und wird von einer Hand voll Leute rund um die 
pyboards entwickelt. Wenn diese fünf Personen keinen Bock mehr haben, 
ist das Projekt erst mal (schein-)tod. Vielleicht reicht es schon, wenn 
Damien hinschmeißt.

Adafruit hat geforkt mit eigenen Interessen. Espressif könnte das auch 
machen, usw.

Es gibt einige Anwendungsfälle, für die die pyboards ideal sind. Wenn 
man keinen solchen Fall hat, dann ist das halt so. Es steht doch genug 
in der Produktbeschreibung (pyboards und STM32), das die pyboards von 
ESP* und Raspberry unterscheidet.

Anderswo kann man direkt Spenden, aber man muss nicht. Da kann man den 
SpendenButton kritisieren: "Warum ist da ein SpendenButton? Ich spende 
doch nichts"... "Warum werden diese Boards angeboten, obwohl ich die 
gar nicht brauche?"

Autor: F. F. (foldi)
Datum:

Bewertung
3 lesenswert
nicht lesenswert
Sieht ja ein bisschen aus wie Arduino, dieses  MicroPython.
Kann mal jemand kurz beschreiben, in wenigen Worten, wofür Python 
überhaupt, Vorteile gegenüber C auf µC.
Wofür wird Python überhaupt eingesetzt?
Klar, ich kann das sicher über viele Seiten im Internet selbst heraus 
finden, aber hier liest sicher jemand, der das mit wenigen Worten gut 
zusammen fassen kann.
Danke schon mal im Voraus!

: Bearbeitet durch User
Autor: Operator S. (smkr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
F. F. schrieb:
> Wofür wird Python überhaupt eingesetzt?

Wofür Python überhaupt sprengt wohl den Rahmen, aber warum Python auf 
einem uC: Prototyping oder sehr geringe Anforderungen, oder stark 
wechselnde Anforderungen.

Wenn bei Einzelstücken reine I2C Devices von der Logik nicht reichen, 
sondern ein klein bisschen Intelligenz drauf muss, ist es perfekt. Bei 
uns programmiert niemand Mikrocontroller, das heisst die gesamte 
Installation und der Unterhalt der Toolchain etc entfällt.
Einfach an USB anschliessen, das Textfile darauf editieren, schliessen 
und es läuft.
Anwendungsfälle bei uns wären:
Spannungsüberwachung, um einen Schaltungsteil auszuschalten
Einen Grundzustand der Platine bei Powerup sicherzustellen
Stand-Alone Tests für Inbetriebnahme neu bestückter Platinen

Meistens sind die Programme so 20 - 50 Zeilen lang, ohne Kommunikation 
zu anderen ICs und nichts zeitkritisches.

Autor: F. F. (foldi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke erstmal!
Wie ist es dann mit der Geschwindigkeit und dem Platzbedarf, vielleicht 
verglichen mit Arduino?
Ich nehme extra Arduino als Beispiel, weil das auch ein relativ 
einfaches System ist.
Grundsätzlich bin ich immer für einfach. Die Vertreter hier, die immer 
meinen man müsse jedes Register schon einmal mit Handschlag begrüßt 
haben, zu den gehöre ich nicht. Möchte mal wissen wie viele von denen 
ihr Auto nur fahren ohne es ganz genau zu kennen .

Autor: Operator S. (smkr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wir haben dieses hier im Einsatz: https://www.adafruit.com/product/3727
Ist schön klein, mit 2MB mehr als genug Platz für das kleine Script und 
für ~10€ bei mouser zu haben.
Es gibt auch eine Version mit einem Cortex-M4, aber uns reicht die Power 
des M0.
Ich editiere das Skriptfile mit VSCode, aber da ist man frei was man 
nehmen möchte. Habe aber auch schon einige Zeit nichts mehr damit 
gemacht, darum weiss ich nicht mehr alle Details. Ist halt nicht unser 
Hauptgeschäft.
Schnell ist er nicht, wenn man sich C gewohnt ist. Ich weiss noch dass 
eine while Schlaufe mit nur einer Zeile darin, die ein Ausgang getoggelt 
hat, mich etwas enttäuschte und der Jitter auch nicht ohne war. Aber 
wenns nicht um Schnelligkeit, sondern Flexibilität geht, finde ich ihn 
unschlagbar.

Es gibt auch ein solches Board mit JavaScript, falls das jemandem mehr 
zusagen sollte als Python.

Autor: Vincent H. (vinci)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
F. F. schrieb:
> Danke erstmal!
> Wie ist es dann mit der Geschwindigkeit und dem Platzbedarf, vielleicht
> verglichen mit Arduino?
> Ich nehme extra Arduino als Beispiel, weil das auch ein relativ
> einfaches System ist.
> Grundsätzlich bin ich immer für einfach. Die Vertreter hier, die immer
> meinen man müsse jedes Register schon einmal mit Handschlag begrüßt
> haben, zu den gehöre ich nicht. Möchte mal wissen wie viele von denen
> ihr Auto nur fahren ohne es ganz genau zu kennen .

Ziemlich sinnlose Frage. Arduino ist compiliertes C++. Zwischem 
optimierten C++ Code und Micropython liegt je nach Anwendung ein Faktor 
von 60-200 und das is auch ok.

Man darf halt nicht auf die Fanatiker hören die in irgendwelchen 
konstruierten Schleifen via inline Assembly Pins togglen. Das is einfach 
bescheuert und in meinen Augen "false advertisement". Zum IO togglen 
brauch ich kein MicroPython (von mir aus in der Lehre/Schule/etc.). Wenn 
ich Micropython nehm, dann will ich in 3 Zeilen einen HTTP-Request 
aussenden, ein JSON File parsen und Daten daraus auf einem Webserver 
abbilden. Dafür lässt sich MicroPython sinnvoll einsetzen.

Bezüglich Platzbedarf war ich vor kurzem selbst überrascht. Ein stripped 
down MicroPython passt in etwa 40kB. Stripped heißt in dem Fall OHNE 
irgendwelche Bibliotheken und OHNE Interpreter ausschließlich die VM. 
Das heißt in so einem Fall kann nur vorcompilierter Bytecode von 
irgendeinem Speicher ausgeführt werden. Sinnvoll nutzbar mit Interpreter 
und Co wirds dann bei etwa ~100kB.


/edit
Zum Größenvergleich. Lua ohne Bibliotheken passt auch in etwa 40kB, 
allerdings mit Interpreter.

: Bearbeitet durch User
Autor: F. F. (foldi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Operator S. (smkr)!

Fand es liest sich gut, dieses Python.
Die Boards sind auch schön klein.
Wenn ich ehrlich bin, das was ich meistens brauche, macht ein ATTiny10 
bei mir hervorragend. In C und auf einem Nano zum testen. Danach ändere 
ich die wenigen nötigen Sachen für den ATTiny10 und programmiere den 
Tiny damit. Danach nur noch auf die Platine löten. Muss es geändert 
werden (warum auch immer), löte ich einen neuen Tiny drauf. So ein Tiny 
hat mir keine 30 Cent gekostet und die, die ich hier habe, reichen 
sicher weit über meine Lebensende hinaus.

Autor: Atemis H. (at0)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vincent H. schrieb:
> Wenn
> ich Micropython nehm, dann will ich in 3 Zeilen einen HTTP-Request
> aussenden, ein JSON File parsen und Daten daraus auf einem Webserver
> abbilden. Dafür lässt sich MicroPython sinnvoll einsetzen.

Womit im Grunde kurz und bündig der Vorteil von Python insgesamt erklärt 
wäre. Man kann mit Python schneller zum Ziel kommen. Wenn die damit 
verbundenen möglichen Nachteile die Anforderungen nicht stören ist 
Python eine sehr gute Wahl.

Autor: Operator S. (smkr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vincent H. schrieb:
> Das heißt in so einem Fall kann nur vorcompilierter Bytecode von
> irgendeinem Speicher ausgeführt werden.

Wenn man sich darauf einlässt, würde ich aber nicht mehr Python nehmen, 
bzw. wäre für mich der grösste Vorteil von Python auf einem uC weg.
Dann würde ich auf eine andere Sprache setzen, die zum Beispiel noch 
Typisierung mit sich bringt, oder eben die schnellere Ausführzeit und 
kleinere Platzbedarf.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.