Gibt es einen großen Sprung zwischen dem Prototyping auf einem Pi und der Verwendung eines Mikrocontrollers?

25

In dieser Frage wird unter anderem gefragt, ob zwischen der Verwendung von Python auf einem Himbeer-Pi zum Prototypen eines Endpunkts und der Verwendung eines Mikrocontrollers ein großer Lernaufwand besteht.

Es ist klar, dass sich der Stromverbrauch erheblich verbessert (auf Kosten des verringerten Prozessordurchsatzes). Es gibt also gute Gründe, den MCU-Ansatz für ein Produkt zu wählen, das batteriebetrieben werden muss.

Einer der möglichen Gründe, an einem Einplatinencomputer mit Linux festzuhalten, ist, dass keine neue Software (über Python oder ähnliches) erlernt werden muss, vorausgesetzt, die Anwendung kann in einer höheren Sprache geschrieben werden (wo es genügend Standard geben sollte) Bibliotheken).

Auf einer Embedded-Entwicklungsplattform stehen wahrscheinlich C ++ (mbed oder arduino) oder Micropython zur Auswahl. Mein Eindruck ist, dass diese nicht wesentlich anders oder komplexer sind als das Schreiben von Code unter Linux - obwohl die Plattformen individuelle Vorteile haben. Habe ich etwas übersehen, was für einen Softwareentwickler relevant ist?

Insbesondere frage ich nach IoT-Endpunkten - daher ist es nicht unbedingt erforderlich, über die vollständigen Ressourcen eines Linux-Systems für die Anwendungen zu verfügen, die mich hier interessieren. Hervorzuheben ist auch, dass die mcu-Implementierung aufgrund von Überlegungen zu Leistung und Latenz bei dieser Art von Anwendung eine harte Anforderung darstellt.

Sean Houlihane
quelle

Antworten:

12

Hinzufügen zu Georges umfassender Antwort und Punkt 2) Hardware-Unterstützung. Selbst wenn die gewünschte Hardware (z. B. Ethernet, WiFi, SD-Karte) über Shields oder ähnliche Erweiterungskarten zum Mikrocontroller / Arduino hinzugefügt wird, belasten die zu bedienenden Bibliotheken den kleinen Speicher (z. B. ATMEGA328 (ein typischer Arduino-Controller)) erheblich. hat 32Kb FLASH und 2Kb RAM). Insbesondere bei der Kombination mehrerer Funktionen (Netzwerk, Display, SD-Karte) kann dies eine schwerwiegende Einschränkung darstellen.

Einige Beispiele aus der Arduino-Welt:

Unterstützung einer SD-Karte und eines einfachen Dateisystems (FAT):

  • SD-Karten (Codegröße unbekannt, aber wahrscheinlich kein so großes Problem, wenn Hardware-SPI verwendet wird), mindestens 512 Byte RAM-Puffer
  • Petit FAT FS benötigt ~ 2..4 kB FLASH und ~ 44 Bytes RAM

Verwenden einer Matrixanzeige:

Ethernet mit TCP / IP-Protokollstapel:

  • uIP : RAM-Anforderungen im Bereich einer typischen Paketgröße (> 1 kB). Single-Chip-Ethernet-Controller verfügen jedoch normalerweise über einen integrierten Puffer, der einige Ethernet-Frames mit maximaler Größe aufnehmen kann.

    Es ist möglich, die UIP-Implementierung mit nur 200 Byte RAM auszuführen. Eine solche Konfiguration bietet jedoch einen äußerst geringen Durchsatz und ermöglicht nur eine geringe Anzahl gleichzeitiger Verbindungen. ( Quelle. )

  • IP-Stack mit TCP- und UDP-Protokollen für Arduino : Mindestens 128 kB externer Speicher

  • IP über serielle Schnittstelle: SerialIP ~ 9 kB FLASH und "genug" RAM

Alles in allem erfordert die Programmierung mit diesen Einschränkungen einen ganz anderen Ansatz und erfordert eine Optimierung in Bezug auf Programmspeicher und Codegröße (FLASH), Laufzeitdaten (RAM) und Ausführungsgeschwindigkeit. Diese Antwort hat es schön ausgearbeitet.

Da sich die Frage speziell nach der mbed-Plattform richtet, ist es natürlich bemerkenswert, dass sie Funktionen umfasst, die für das IoT am relevantesten sind, nämlich Konnektivität zusammen mit Verschlüsselung, Authentifizierung und Autorisierung. Es bietet angeblich Hardware-Unterstützung für Bluetooth Low Energy und IPv6 über ein drahtloses Personal Area Network mit geringem Stromverbrauch. Diese Konnektivitätsfunktionen sind jedoch nur auf den aufgelisteten Entwicklungsplatinen mit normalerweise> = 128 kB FLASH und> = 16 kB RAM verfügbar . Zu den kleineren Entwicklungsplatinen gehören dagegen Systeme mit so kleinen Mikrocontrollern wie der ARM Cortex-M0 + Core mit 16 KB Flash und 4 KB RAM (dh nicht viel mehr als mittelgroße Arduinos) ohne dedizierte Konnektivität.

Ghanima
quelle
Ressourcenknappheit war die größte Lücke in meinen Annahmen - leicht zu vergessen, dass sich die meisten Menschen die meiste Zeit ohne diese Probleme entwickeln.
Sean Houlihane
20

Es hängt davon ab, was Sie versuchen.

  1. Die größte Lücke besteht darin, dass ein von Ihnen genannter Mikrocontroller (wie Arduino) kein Multitasking-Betriebssystem wie Linux ausführt. Dies bedeutet, wenn Ihre Anwendung von Multitasking oder Multithreading abhängt, ist dies möglicherweise viel schwieriger oder sogar unmöglich, auf Arduino ausgeführt zu werden.

  2. Die zweite Lücke ist die Hardware-Unterstützung. Zum Beispiel unterstützt Raspberry Pi Kameras, USB-Audio, Ethernet und WiFi. Nichts davon wird direkt von Arduino unterstützt, und obwohl Sie verschiedene Shields (wie USB Host, Ethernet oder WiFi) verwenden können, ist deren Verwendung nicht so einfach wie die Verwendung von Netzwerken auf Raspberry Pi.

  3. Die dritte Lücke sind die verfügbaren Ressourcen. Die meisten Mikrocontroller kommen nicht einmal an die Ressourcen heran, die Raspberry Pi bietet. Zum Beispiel bot bereits der erste Raspberry Pi eine CPU mit 700 MHz und 256 MB RAM und konnte mit 32 GB Speicher verwendet werden. Ein typischer Arduino Uno, der auf ATMEGA328 basiert, läuft mit 16 MHz und verfügt über 32 KB Speicher und 2 KB RAM.

Die Verwendung von Raspberry Pi ist für Entwickler, die vom PC kommen, auf jeden Fall viel einfacher. Die Hauptvorteile des Einsatzes von Mikrocontrollern sind:

  • Kosten (ein chinesischer Klon von Arduino Nano kostet weniger als $ 2 pro Stück mit Versand)
  • Stromverbrauch (Mikrocontroller können sehr gut für einen geringen Stromverbrauch optimiert werden - wichtig, wenn Sie mit Batterien arbeiten müssen);
  • Echtzeitverfügbarkeit, dh Fähigkeit, auf Signaländerungen in Echtzeit zu reagieren;
  • Größe (Arduino Mini ist zweimal schmaler als Raspberry Pi Zero, und wenn Sie nicht so viele Stifte benötigen, ist ATTINY85 kleiner als ein Cent und funktioniert ohne Kristall).

Wenn keines davon wichtig ist, ist die Verwendung von Raspberry Pi definitiv sinnvoller.

George Y.
quelle
3
Akkuleistung und kein großer Ressourcenbedarf sind die Treiber für die Verwendung eines mcu - daher gehe ich davon aus, dass ein 10-100-MHz-Prozessor ausreicht. Gültiger Punkt zur Verwendung von Peripheriegeräten, obwohl SPI wahrscheinlich das mcu-Äquivalent von USB ist.
Sean Houlihane
2
Nur einen Bus zu haben ist nicht genug. Erwägen Sie die Verwendung von WiFi unter Linux, für Ihre App sind keine speziellen Kenntnisse erforderlich. Derselbe Code, der mit Ethernet funktioniert, funktioniert auch mit der WiFi-Schnittstelle. Dies ist bei Mikrocontrollern nicht der Fall. Sie müssen verschiedene Bibliotheken verwenden, deren Verwendung erlernen und den Code ändern.
George Y.
1
OK, wusste nicht, dass die Verwendung einer anderen Bibliothek ein großes Hindernis darstellen würde.
Sean Houlihane
2
Wenn Sie nicht viele Stifte benötigen, können Sie ein ATtiny4 erhalten, das die Größe eines Reiskorns hat: P
Nick T
1
es ist anscheinend nicht viel kleiner als Attiny85 :) aber du hast recht, wenn wir nicht-DIP denken, ist sogar 85 eine Fingerspitze.
George Y.
9

JA, es ist ein großer Sprung von der Programmierung in Python zur Programmierung mit den typischen C-basierten Sprachtools auf Mikrocontrollern. Tatsächlich müssen Sie in vielen Fällen möglicherweise einige, wenn nicht sogar alle Ihrer Anwendungen in Assemblersprache schreiben.

Wie bereits in den anderen Antworten erwähnt, sind Mikrocontroller sehr ressourcenintensiv, sodass Sie alle Annehmlichkeiten eines Linux-Betriebssystems und alle Tools, die Sie lokal ausführen können, verlieren. Das Iterieren mit der Arduino IDE ist im Vergleich zum Ausführen lokaler Skripte sehr langsam.

Obwohl ich viel Berufserfahrung mit Mikrocontrollern und Mikroprozessoren habe, ziehe ich es vor, meine persönlichen Projekte mit RPi-Hardware mit einigen Arduinos für kritische Echtzeitaufgaben auszuführen. Ich habe mich auch mit Beagle Bone Black beschäftigt und in mancher Hinsicht ist es praktischer als die Verwendung eines RPi mit einem oder mehreren Arduinos.

CyberFonic
quelle
9

Ja, großer Unterschied

Der Unterschied ist Tag und Nacht, sowohl in Bezug auf Hardware als auch auf Software. Kein gültiger Vergleich.

Wann soll man welche verwenden?

Verwenden Sie ein Arduino, wenn ...

  • Platzbeschränkungen machen einen Pi unmöglich.
  • Der Stromverbrauch eines Pi wäre zu hoch.
  • Geld ist ein Problem (insbesondere, wenn Sie mehrere oder viele einzelne Controller in Ihrem Projekt benötigen, von denen jeder nur eine sehr einfache Logik ausführt).
  • Du willst immer besser werden und auf einer viel niedrigeren Ebene arbeiten, um Spaß zu haben oder um Wissen zu erlangen.
  • Sie brauchen extreme Einfachheit und / oder 100% definiertes Echtzeitverhalten und keine Chance, dass etwas außerhalb Ihrer Kontrolle Ihr Programm tötet.
  • Sie benötigen kein Ethernet, keine schwierige USB-Host-Funktionalität (dh Zugriff auf Festplatten; die Verwendung auf der Clientseite, z. B. als HID-Gerät, ist in Ordnung) und so weiter. Die meisten davon können in ein Arduino eingebaut werden (sehr langsam), jedoch zu einem hohen Preis in Bezug auf RAM / EPROM und auch Funktionalität. Da es kein präventives Multitasking gibt, wird das Entsperren von Aufgaben sehr schnell sehr kompliziert.
  • Sie sind mit der simplen Arduino-Entwicklungs-IDE einverstanden, oder Sie können viel tiefer gehen (dh Sie erstellen die Programme selbst) und - wenn Sie kein USB-Upload-Gerät wie das Pro Micro bevorzugen - ein gekauftes oder selbst erstelltes Entwicklungs-Kit /Brenner.

In allen anderen Fällen ist ein Pi wesentlich benutzerfreundlicher. Der Pi ist einfach ein anderer (langsamer) Computer.

Versteh mich nicht falsch. Ich besitze einen Pi und benutze ihn für mehrere Linux-Dienste in meinem Netzwerk. Ich programmiere auch häufig Arduinos (meistens Pro Micros). Beide sind toll, ich mag sie gleich, aber sie haben sehr unterschiedliche Nutzungsszenarien.

Auf Ihre Frage nach dem Schwierigkeitsgrad - es ist relativ. Das einzige Mal, dass das Arduino für mich schwierig wurde, war es schwer, Timing-Probleme zu beheben, insbesondere wenn es mit fragwürdiger Elektronik kombiniert wurde (dh EM-Störungen, zu lange Kabel usw.). Wenn Sie fest in der Sprache Ihrer Wahl sind (dh C für die Arduino IDE), sollten Sie in der Lage sein, alle Bibliotheken, die Sie einsetzen, zu hacken. Trotzdem wird es immer komplexer als ein Pi, bei dem Sie beispielsweise eine Skriptsprache Ihrer Wahl für zeitunkritische Dinge verwenden können - diese sind immer einfacher zu entwickeln und zu debuggen.

AnoE
quelle
Ich frage nicht, welche Entwicklungsplattform die beste ist - für meinen Anwendungsfall ist eine mcu erforderlich , vor allem aus Gründen der Leistungsbeschränkung. Ich sehe jedoch, dass die Frage in diesem Punkt nicht zu klar war.
Sean Houlihane
Also gut, dann würde der erste Teil der Antwort ausreichen. Ich werde den Rest als "Nachtrag" stehen lassen, wenn Sie möchten.
2.
7

Ich glaube, es gibt einige Punkte, die noch nicht explizit spezifiziert wurden.

Die Entwicklungsumgebung ist völlig anders. Sie können die Pi-Software tatsächlich auf dem Pi entwickeln - Sie können sogar eine GUI verwenden, wenn Sie möchten. Es gibt fortschrittliche Debugging-Tools, die ebenfalls integriert sind - und eine Menge von dem, was für jedes Computersystem verfügbar ist.

Die Controller müssen auf einem separaten Computer entwickelt / emuliert und dann zum endgültigen Testen an den Controller gesendet werden.

Der Pi kann praktisch jede Sprache ausführen, mit der Sie ihn programmieren möchten. Mikrocontroller haben normalerweise eine oder zwei.

Auf dem Pi können eine ganze Reihe von Betriebssystemen ausgeführt werden (einschließlich Windows IoT und einer Reihe von Spezialsystemen). Auf eingebetteten Controllern wird in der Regel überhaupt kein "Betriebssystem" ausgeführt.

Auch was die Laufzeit / das Betriebssystem angeht - der Pi benötigt einige Sekunden zum Booten -, wenn Sie in den ersten Sekunden tatsächlich etwas tun möchten, funktioniert der Pi nicht für Sie. Auch wenn Sie keine extremen Maßnahmen ergriffen haben, um ein Beschreiben des Speichers zu verhindern, sollten Sie nicht einfach die Stromversorgung unterbrechen, sondern einen "Shutdown" ausführen und ein wenig warten. Dies kann auch einige Verwendungszwecke einschränken.

Ein anderer Post-Deployment-Punkt, den ich nicht erwähnt habe. Ich bin mir nicht sicher, wie ich absolut sicher sein kann, dass ich einen Pi richtig gesichert habe - dass keine Agentur irgendwo ein kleines Stück Code geklebt hat, das unter bestimmten Umständen unbefugten Zugriff ermöglicht -, ohne es aus allen Netzwerken zu entfernen und alle drahtlosen Zugriffsmechanismen zu deaktivieren . Mikrocontroller sind relativ einfach zu sichern, da Sie fast den gesamten Code schreiben, der auf dem Gerät ausgeführt wird.

Natürlich könnten Sie jederzeit ein eigenes Pi-Image ohne echtes Betriebssystem entwickeln und die gesamte Platine / CPU übernehmen, was es quasi zu einem leistungsstarken / teuren Mikrocontroller mit allen damit verbundenen Vor- und Nachteilen machen würde. Jemand hat das wahrscheinlich sogar schon getan, aber ich habe in letzter Zeit nicht danach gesucht.

Bill K
quelle
WRT deinen letzten Absatz, ja, das nennt sich Bare-Metal und nur wenige Leute tun es, aber technisch ist es möglich ... Willkommen auf der Seite!
Ghanima
3

Der Unterschied zwischen dem Entwickeln einer Anwendung mit einem Pi kann aufgrund von Hardware- und Softwareentwicklungs-Toolchain-Unterschieden sehr unterschiedlich oder ähnlich zum Entwickeln einer Anwendung mit einem Mikrocontroller sein.

Es gibt eine breite Palette von verfügbaren Mikrocontrollern, die zwischen 8-Bit- und 64-Bit-Prozessoren und zwischen einigen K RAM und einigen Gigabyte RAM liegen. Leistungsfähigere Mikrocontroller bieten eine Pi-ähnliche Erfahrung. Weniger leistungsfähige Mikrocontroller nicht.

Und selbst mit dem Pi gibt es große Unterschiede zwischen der Entwicklung für das Windows 10 IoT-Betriebssystem und der Entwicklung für Raspian, Mate oder andere Linux-basierte Betriebssysteme. Für Windows 10 IoT ist ein Entwicklungs-PC erforderlich, der eine Visual Studio-Toolchain mit einem Remote-Debugger verwendet, der auf die Universal Windows Program (UWP) -Umgebung abzielt. Die Entwicklung für Raspian oder Mate kann tatsächlich auf einem Pi mit den auf dem Pi verfügbaren Tools durchgeführt werden.

Das Constrained Application Protocol wird für kleine, eingeschränkte Geräte verwendet, die mit der Internet of Things-Umgebung verwendet werden. Auf dieser Seite der Implementierung des CoAP-Protokolls erhalten Sie einen Überblick über die Vielfalt der Hardware und Software für Mikrocontroller . Es erwähnt das Contiki-Betriebssystem, von dem ich vage gehört habe, zusammen mit bekannteren Betriebssystemen wie iOS, OSX und Android. Die genannten Programmiersprachen sind Java, JavaScript, C, C #, Ruby, Go, Erlang, Rust und Python.

Die für die Entwicklung mit Mikrocontrollern verwendete Toolkette variiert je nach Hersteller sowie je nach Art der Ressourcen, die von Entwicklungsgemeinschaften und Open Source-Initiativen zur Verfügung gestellt werden. In einigen Fällen erhalten Sie einen Cross-Assembler, in anderen Fällen einen C-Cross-Compiler und in anderen Fällen eine nützliche Toolkette mit allen wichtigen Funktionen und Emulatoren, die der Visual Studio-Toolkette für Windows 10 IoT ähneln.

Die eigentliche Entwicklungsumgebung für einen Mikrocontroller umfasst möglicherweise die Verwendung eines EEPROM- Programmiergeräts und der Softwaretools zum Erstellen eines neuen Abbilds und zum Übertragen auf das Gerät, oder das Gerät verfügt möglicherweise über die erforderliche Konnektivität, um das Herunterladen eines neuen Abbilds über eine serielle Verbindung oder über eine serielle Verbindung zu ermöglichen eine Netzwerkverbindung.

Mein Eindruck ist, dass die meisten Mikrocontroller einen C-Cross-Compiler haben, obwohl der Compiler möglicherweise nur ältere Standards wie K & R oder C98 unterstützt. C-Cross-Compiler verfügen häufig über nicht standardmäßige Schlüsselwörter für mikroprozessorspezifische Funktionen, z. B. farund nearSchlüsselwörter für Zeiger bei den alten 8080- und 8086-Prozessoren mit segmentiertem Speicher.

Es gibt auch Spezialsprachen, die auf Mikrocontroller wie die Programmiersprache FORTH abzielen . Diese Sprachen haben häufig ein Laufzeitdesign, das auf das Bare-Metal-System abzielt, sodass es kein anderes Betriebssystem als die Laufzeit der Sprache gibt.

Das Betriebssystem kann von praktisch nicht existierendem bis hin zu einfachem Linux bis hin zu einem speziellen Betriebssystem wie freeRTOS oder Windows Embedded oder einem vollständigen Linux oder Microsoft Windows reichen . Sehen Sie dieses SourceForge-Projekt MINIBIAN für Raspberry Pi . Siehe auch dieses eBook, Baking Pi: Operating Systems Development, das die Entwicklung eines rudimentären Betriebssystems für Raspberry Pi in Assembler beschreibt.

Dieser Artikel aus dem Visual Studio Magazine, Programmieren des Internets der Dinge mit Visual Studio , bietet einen Überblick über die vielen verschiedenen verfügbaren Geräte, gefolgt von einem Überblick über die Verwendung der Visual Studio-IDE für die Entwicklung unter Linux sowie unter Windows.

Es gibt ein riesiges und wachsendes Universum an programmierbaren, netzwerkfähigen Standard-Mikrocontrollern. Auf einem sehr niedrigen Niveau haben Sie eine Vielzahl einfacher 16- und 32-Bit-Geräte von einer Vielzahl traditioneller Chiphersteller wie Texas Instruments. (Ich habe ein bisschen mit dem SensorTag-Entwicklungskit gespielt und es macht viel Spaß. Ich denke, dass das Watch DevPack auch ein großartiges Lern-Toolset sein könnte.)

Einige bekanntere Mikrocontroller-Geräte umfassen Arduino, BeagleBoard und Raspberry Pi. Diese Umgebungen verfügen alle über umfangreiche Community-Unterstützung und können an eine Vielzahl von vorgefertigten externen Sensoren, Motoren, Servos und was auch immer Sie sich vorstellen können, angeschlossen werden. Adafruit, der von Limor "Ladyada" Fried gegründete Elektronik-Lern-Superstore, bietet alle möglichen Peripheriegeräte für diese Boards sowie eine eigene Reihe leichter Feather-Entwicklungsboards.

...

Das interessanteste Universum an Geräten für Entwickler, die mit Microsoft .NET Framework und Visual Studio vertraut sind, sind möglicherweise Windows 10 IoT Core-kompatible Umgebungen. Hierbei handelt es sich um x86- und ARM-Geräte, die UWP-Apps (Universal Windows Platform) unterstützen, die in einer Vielzahl von Sprachen geschrieben wurden, darunter C #, Visual Basic, Python und Node.js / JavaScript. Windows 10 IoT Core unterstützt Geräte wie Raspberry Pi, Arrow DragonBoard 410C, Intel Joule und Compute Stick sowie MinnowBoard. Es gibt auch interessante Produktplattformen, wie das Askey TurboMate E1 Wearable.

Ein spezielles Beispiel für eine Mikrocontroller-Anwendung

Dies ist ein Bild einer Mikrocontroller-Platine von einer automatischen Kaffeemaschine. Dies scheint eine Standardkomponente für in China hergestellte Kaffeemaschinen zu sein. Die Website des Herstellers ist auf der Leiterplatte aufgedruckt.

Das Bild besteht aus zwei Ansichten. Die Ansicht auf der linken Seite ist die Rückseite der Platine, die den Mikrocontroller und die unterstützende Schaltung enthält. Die Ansicht auf der rechten Seite ist die Vorderseite der Platine mit dem LCD-Bildschirm und einer Reihe von Tasten, mit denen die aktuelle Uhrzeit eingestellt und Aktionen wie das Programmieren einer Startzeit usw. ausgeführt werden.

Die Ansicht rechts passt in einen Träger, der dann in eine Öffnung an der Vorderseite der Kaffeemaschine passt. Die Schalter auf der unteren Leiterplatte werden mit Kippschaltern betätigt. Das LCD-Display, das als Sonderzweck erscheint, dient zur Anzeige der aktuellen Uhrzeit und des aktuellen Status sowie zur Anzeige der Benutzeroberfläche, wenn die Einstellungen der Kaffeemaschine geändert werden. Die rote LED wird verwendet, um anzuzeigen, wann die Kaffeemaschine tatsächlich Kaffee kocht, und um anzuzeigen, wann der Vorgang abgeschlossen ist, indem die Beleuchtung wieder ausgeschaltet wird.

Bildbeschreibung hier eingeben

Der Mikrocontroller ist ein ELAN Microelectronics Corp EM78P447NAM (Datenblatt), bei dem es sich um einen 8-Bit-Mikrocontroller handelt. Einige der grundlegenden Statistiken zeigen, was für ein kleines und minimales Gerät dies ist, aber es funktioniert gut für den beabsichtigten Zweck. Die Absicht ist, Software zu entwickeln, die dann als Teil der Herstellung in das einmal beschreibbare ROM heruntergeladen wird.

• Energieeffizient:

* Less then 2.2 mA at 5V/4MHz

* Typically 35 µA, at 3V/32KHz

* Typically 2 µA, during sleep mode

• 4K × 13 Bits im Chip-ROM

• Drei Schutzbits, um das Eindringen von OTP-Speichercodes zu verhindern

• Ein Konfigurationsregister, um den Anforderungen des Benutzers gerecht zu werden

• 148 × 8 Bits auf Chip-Registern (SRAM, Allzweckregister)

Richard Chambers
quelle
2
Ich denke nicht, dass dies die Frage anspricht. Sicher, einige Produkte sind nicht gut verpackt, aber das gilt auch für einen SBC.
Sean Houlihane
1
@ SeanHoulihane Was ich mit dieser Antwort versucht habe, ist, einen Mikrocontroller-Standpunkt zu der Frage zu liefern, insbesondere, dass es eine breite Palette von Geräten gibt, die das Mikrocontroller-Label erfüllen. Die Betriebssystemlandschaft ist mehr als Linux und die Programmiersprache mehr als Python oder C.
Richard Chambers
1
Sie sagen mir nur, dass die MCU-Welt ein Chaos ist. Was ich für irreführend halte.
Sean Houlihane
1
@ SeanHoulihane Es tut mir leid, dass Ihr Eindruck von meinem Beitrag ist, dass die MCU-Welt ein Chaos ist. Eine andere Interpretation ist, dass die MCU-Welt eine von vielen wunderbaren Alternativen und Möglichkeiten ist, aber der Leser bringt seine eigenen Vorurteile und Vorurteile in jede Erzählung ein.
Richard Chambers