Andreas Schmidt Cassini Consulting

Welche Aspekte sind bei der Softwareentwicklung wichtig? Aus meiner Sicht gehört neben der Verfügbarkeit von Hardware auch die Verfügbarkeit von Software, Tutorials und einer Community dazu.

Der ein oder andere hat vielleicht schon die ersten Schritte mit Maker Boards wie einem Arduino gemacht und erfolgreich erste Projekte umgesetzt. Für die ersten Schritte im Internet der Dinge reichen Maker-Hardware und -Software ebenfalls aus. Dann kommt aber schnell die Frage auf, wie es weitergehen kann. Wo und wie wird eigentlich Code für Mikroprozessoren kompiliert? Kann man dann Unit-Tests erstellen oder die eigene Firmware auf einem CI-Server bauen lassen? Ist der Code auf andere Embedded Boards oder Frameworks transportierbar, braucht man ein Embedded-Betriebssystem? Diesen und anderen Fragen wollen wir in der Artikelserie nachgehen und fangen hier mit den Grundlagen rund um den Technologiestack an.

Arduino genießt in der Maker-Community ein hohes Ansehen, u. a. wegen der guten und leicht einsetzbaren Kombination aus Entwickler-Boards und den dazu passenden Werkzeugen. Dabei muss man sich als Entwickler fast keine Details zur verwendeten Elektronik anschauen – sowohl das Framework als auch der Beispielcode lassen sich mit den Werkzeugen wie der Arduino IDE direkt einsetzen. Was aber geschieht in der Werkzeugkette „hinter den Kulissen“?

Die Embedded-Hardware ist fast immer über sogenannte Developer-Boards zugänglich. Diese bestehen aus einem Mikrocontroller (MCU) mit integriertem oder zusätzlichem externen Speicher auf dem Board, Ein-/Ausgabe-Pin für den Anschluss von Sensorik bzw. Aktorik und einer Schnittstelle zum Anschluss an und zur Kommunikation mit dem PC, in aller Regel USB. Hierüber wird das Board direkt mit Strom versorgt (5 V über USB) und je nach Board auf eine niedrigere Spannung heruntergeregelt. Damit man die Mikrocontroller über eine serielle Schnittstelle ansprechen kann, bekommen die Boards einen Interfacechip mit, z. B. von FTDI oder Silicon Labs.

Wo liegen die großen Unterschiede zwischen den verfügbaren Optionen? Da sind erst einmal die verwendeten MCUs zu nennen. Sie reichen von 8-Bit-MCUs beispielsweise beim Arduino Uno über 16-Bit-MCUs, wie einem MSP430 von Texas Instruments bis zu 32-Bit-MCUs, z. B. aus der Reihe ARM Cortex-M. Das Ganze ist mit einer Taktfrequenz gepaart, die vom einstelligen MHz-Bereich bis zu mehreren hundert MHz reichen kann. Ein Mehr an Geschwindigkeit und Rechenleistung der MCU erlaubt schnellere oder leistungsintensivere Anwendungen (wie moderne Verschlüsselung), bedingt aber auch einen höheren Energiebedarf.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Entwickler Magazin 2.18 - "Einstieg in Go"

Alle Infos zum Heft
579828468IoT für Webentwickler – Was folgt auf die Basics?
X
- Gib Deinen Standort ein -
- or -