Hallo,
ich bin auf Ebay auf ein paar Boards gestoßen die recht interessant für die Eine oder Andere meiner Anwendungen erscheinen, weil sie alle Komponenten die ich brauche "onboard" enthalten.
Leider sind die Boards aber alle auf Basis des STM32, der, wenn ich die Artikel die ich im Web gefunden habe noch zutreffend sind, nicht (oder nur über Hürden) mit der Arduino IDE programmierbar sind.
Auch der Code selbst soll schwieriger zu erstellen sein und ich fürchte dass er meine Programmierfähigkeit deutlich übersteigt...
Was mir auch gut gefällt ist dieses: https://www.ebay.de/itm/164589835831?
Wenn ich das allerdings richtg verstehe, muss es in MiniPython programiert werden...
Ist das so weit richtig? Oder lassen sich diese Boards inzwischen doch mit er Arduino IDE "bespielen"? Was ich dazu gefunden habe war alles schon ein paar Jahre alt.
Kennt Ihr eventuell alternative Boards mit ähnlicher Ausstattung (Micro SD Slot, Echtzeituhr, viele Analogpins) die besser zu Arduino kompatibel sind?
Du musst dann eben die Boardunterstützung für diese Boards in der IDE installieren. Dann sind die genauso mit der Arduino IDE programmierbar wie z.B. auch die ESP-Boards. Etwas unübersichtlich wird es leider dadurch, dass es inzwischen 2 verschiedene Cores für die STM32 Boards gibt. Zum einen den schon älteren von Roger Clark, zum anderen inzwischen einen von STM selbst. Leider sind diese Cores nicht kompatibel. Solange man aber nur die 'Standard' Funktionalitäten nutzt dürfte das egal sein.
Eigene Erfahrung habe ich nur mit dem Core von Roger Clark, der aber hauptsächlich den STM32F1 unterstüzt. Die Unterstützung der STM32F4 Boards ist nur eingeschränkt. Der Core von STM unterstützt eine Vielzahl von STM32 Boards.
Beide Cores lassen sich über den Board-Verwalter installieren ( auch parallel ) wenn man die entsprechende URL in den Voreistellungen einträgt.
Für den Core von Roger Clark: http://dan.drown.org/stm32duino/package_STM32duino_index.json
Für den Core von STM: https://github.com/stm32duino/BoardManagerFiles/raw/master/package_stmicroelectronics_index.json
Ein Unterschied ist auch noch, dass diese Boards in der Regel keinen Arduino Bootloader drauf haben. Die STM32F4 haben einen USB-Bootloader im ROM, der von dem STM Core unterstützt wird. Der muss aber vor dem Hochladen immer manuell über Taster auf dem Board aktiviert werden.
Die STM32F1 haben einen Bootloader, für den ähnliches gilt, der aber nur über die serielle Schnittstelle funktioniert. Da braucht man noch einen seriell-USB Umsetzer. Der Core von Roger Clark hat aber eigene F1-Arduino Bootloader, die man aufspielen kann. Dann funktioniert es da automatisch wie mit den AVR Bootloadern.
Ansonsten kann man auch eine StLink verwenden, damit geht es komfortabler. Ich benutze meist einen Clone des StLink V2 z.B. den ( keine Händlerempfehlung!). Die sind recht günstig, und es hat bisher immer gut funktioniert. Es gibt inzwischen auch eine Version 3, die ich aber nicht kenne und noch nicht eingesetzt habe.
Danke
die beiden Boards die ich oben verlinkt hatte sind STM32F4, - oder?
Dann sollte ich wohl den Core von STM verwenden.
Ist der zu schreibende Code, - z.B. um Messwerte zu speichern, sehr viel anders als der für die Arduinos? Ich habe ein Beispiel für den "Blink Sketch" gesehen, das war schon deutlich...
Wie ist der Stromverbrauch solcher Boards im Vergleich zu einem Mega mit zusätzlichem Uhr und Speichermodul?
ja, das sind STM32F4 Boards. Die STM32F407V.. Serie wird sogar von beiden cores unterstützt. Ich selbst habe damit allerdings noch nichts gemacht.
Wie und wo willst Du den Messwerte speichern? Also grundsätzlich ist der Code nicht wesentlich anders, solange Du die 'Standard' Arduino Funktionen benutzt. Die Libraries 'SPI' und 'wire' gibt es z.B. auch. Allerdings haben die STM32 Boards kein EEPROM. Das wird z.Teil mit dem Flash nachgebildet. Das hat aber den Nachteil, dass man das Flash nicht so oft überschreiben kann wie das EEPROM.
Ansonsten werden viele Libs, die man zusätzlich installieren kann, auf dem STM32 nicht laufen, da die HW schon sehr anders ist. Und wenn eine Lib direkt auf die HW zugreift, muss sie schon explizit auch für die STM32 geschrieben sein. Der Core von Roger Clark bringt viele Libs selbst mit, aber nur für den STM32F1. Alles in allem ist da die Unterstützung mMn ( noch?) deutlich besser als bei den F4 Boards. Der STM-Core bringt selbst deutlich weniger Libs mit, die dann aber auch auf allen STM32 laufen dürften.
Das kannst Du letztendlich nur im konkreten Fall feststellen was da geht und was nicht. Etwas herausfordernder als mit den AVR 'Feld Wald und Wiesen' Boards ist es auf jeden Fall schon.
P.S. Wie schon geschrieben, kannst Du problemos beide Cores parallel installieren, und dann ausprobieren, was mit dem einen oder anderen Core besser funktoniert.
P.P.S. Bei diesen günstigen Boards ist es oft schwierig genauere technische Daten zu bekommen. Dann kann es etwas herausfordernd sein, festzustellen, wie die auf dem Board befindliche Zusatz-Hardware überhaupt angesprochen wird.