Windows Server for IoT, Eclipse Zenoh und Ärger mit dem Feldbus-Kernelmodul

Die Software spielt eine immer wichtigere Rolle im Leben des Embedded-Entwicklers. Für .net-Entwickler im Embeddedbereich gibt es sowohl am Server als auch am Client Updates. Die Eclipse Foundation lanciert eine MQTT-Alternative für das Internet der Dinge, während das Feldbus-Kernelmodul aus dem Linux-Kernel ausgelistet wird.

Eclipse Zenoh: MQTT „auf Speed“.

Nach der „Wefzung“ zwischen AMQP und MQTT konnte man als Beobachter davon ausgehen, dass im Bereich der Embeddedprotokolle „Ruhe im Karton“ sei.
Eine vor wenigen Tagen ausgesendete Pressemitteilung der Eclipse Foundation zeigt nun, dass dieser Eindruck trübt:

1
Eclipse Zenoh 1.0.0 enthält neue Funktionen wie Shared Memory, ZeroCopyUnterstützung, EndtoEndProtectionFunktionen, HighPerformanceZugriffskontrolle sowie spezielle Verbesserungen für Robotik und AutomotiveProtokolle. Außerdem gibt es für das 1.0.0Release und Updates Abwärtskompatibilität und langfristigen Support.

Wer die unter der URL https://zenoh.io/docs/getting-started/first-app/ bereitstehende Getting Started-Seite des Programms besucht, wird mit Python, Rust und C-Beispielcode konfrontiert.
Anhand des folgenden Snippets lässt sich feststellen, dass Zenoh eine Abart von MQTT darstellt:

1
import zenoh, random, time

2

3
random.seed()

4

5
def read_temp():

6
return random.randint(15, 30)

7

8
if __name__ == “__main__”:

9
session = zenoh.open(zenoh.Config())

10
key = myhome/kitchen/temp

11
pub = session.declare_publisher(key)

12
while True:

13
t = read_temp()

14
buf = f“{t}”

15
print(f“Putting Data (‘{key}’: ‘{buf}’)…”)

16
pub.put(buf)

17
time.sleep(1)

Dieser Eindruck setzt sich auch im Empfänger fort:

1
import zenoh, time

2

3
def listener(sample):

4
print(f“Received {sample.kind} (‘{sample.key_expr}’: ‘{sample.payload.deserialize(str)}’)”)

5

6
if __name__ == “__main__”:

7
session = zenoh.open(zenoh.Config())

8
sub = session.declare_subscriber(myhome/kitchen/temp, listener)

9
time.sleep(60)

Der nach Ansicht des Autors „wichtigste“ Unterschied zu MQTT ist das stärker formalisierte Datenmodell. Unter der URL https://zenoh.io/docs/manual/abstractions/ findet sich beispielsweise die in der Abbildung gezeigte Definition des Formats der Payload.

Bildquelle: https://zenoh.io/docs/manual/abstractions/

Linux-Kernel: Entfernung des Feldbus-Subsystems ante Portas

Der Linux-Kernel wurde im Jahr 2019 – eine „Historie“ findet sich bei Phoronix unter https://www.phoronix.com/search/Fieldbus – mit einem offiziellen Subsystem für die Interaktion mit aller Herrenfeldbus ausgestattet. Nun geht es dem System aufgrund von mangelnden Maintainer-Interesse an den Kragen.

Bildquelle: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit/?h=staging-next&id=8898f64f7ae4e60d48065812965a75d627bb9e55

Meadow-Runtime: Version 1.15 unterstützt TensorFlow Lite

Bryan Costanichs .net-Ausführungsumgebung Meadow war auf mikrocontroller net in der Vergangenheit immer wieder Thema.
Vor wenigen Tagen wurde eine Erweiterung der Plattform angekündigt, die – unter anderem – Unterstützung für die Ausführung von AI-Payloads auf Basis von TensorFlow Lite mitbringt:

1
Meadow.OS

2

3
Fixed a critical issue that was affecting the reliability of Meadow Sleep/Wake

4
Added support for the Quectel EG21 modem

5
Minor improvements to edgecase network reliability

6

7
Meadow.Core

8

9
OtA download progress reporting fix

10
Improved reporting of deadlock conditions

11
Improved network compatibility

12

13
Meadow.Foundation

14

15
Added TensorFlowLite for Microcontrollers support for Meadow F7

16
Renamed PCanBasic assembly to prevent OEM assembly name conflict

17
Added ADS1263 Driver

18
Added ChromaTek WS2812 momentary and latching button drivers

19
Improved WS2812 driver

20
via https://developer.wildernesslabs.co/Meadow/Release_Notes/v1/

Neben dem als Quelle genannten Changelog empfiehlt sich auch ein Besuch von https://developer.wildernesslabs.co/Meadow/Meadow.OS/AI/, wo es weitere Informationen zum Aufbau der AI-API gibt.

Windows Server 2025 for IoT verfügbar

Microsoft bietet seit Windows Server 2019 auch eine vor IoT-Variante des Diensts an.
Vor wenigen Stunden wurde – siehe https://techcommunity.microsoft.com/blog/iotblog/announcing-the-general-availability-of-windows-server-iot-2025/4286803 – die Version 2025 des Servers für die allgemeine Verwendung freigegeben.
Im Rahmen der Ankündigung betonte Microsoft Steigerungen im Bereich der VM-Fähigkeiten als auch im Bereich der Performance, die aus verfügbarer Hardware extrahiert werden kann:

1
HyperV, AI, and Machine Learning: With builtin support for GPU partitioning and the ability to process large data sets across distributed environments, Windows Server IoT 2025 offers a highperformance platform for both traditional applications and advanced AI workloads with Live Migration and High Availability.

2

3
NVMe Storage Performance: Windows Server IoT 2025 delivers up to 70% more storage IOPs performance compared to Windows Server IoT 2022 on identical systems.

4

5
. . .

6

7
Maximum memory per VM: 240 Terabytes* (10x previous)

8

9
Maximum virtual processors per VM: 2048 VPs* (~8.5x previous)

10

11
*Requires Generation 2 VMs

Interessant ist, dass Microsoft den Windows Server bzw. seine IoT-Variante als „ausschließlich“ für die Nutzung in Fixfunktions-Appliances vorsieht.
Der Windows-Lizenzierungsspezialist Arrow bietet unter der URL https://www.arrow.com/ais/msembedded/wp-content/uploads/sites/3/2022/11/Microsoft-Windows-Server-Licensing-Guide_Oct-20.pdf ein Dokument an, das auf die Besonderheiten der Lizenzierung eingeht – die Abbildung zeigt das „Grundkonzept“.

Bildquelle: Arrow

Bei der „Lizenzierung“ von Windows für Embedded-Anwendungen gilt im Allgemeinen, dass die Interaktion mit einem gewöhnlichen Microsoft-Lizenzexperten wenig zielführend ist. Der IoT- und der allgemeine Vertrieb sind zwei komplett unterschiedliche Aufgaben – der Autor hat in der Vergangenheit in der Zusammenarbeit mit Arrow gute Erfahrungen gemacht.
Es ist dabei allerdings empfehlenswert, die „Lizenz-Beschaffung“ in eine eigene Kapitalgesellschaft auszulagern, da man sich im Rahmen der Errichtung der Lizenzverträge mit Microsoft verschiedene Einschränkungen einhandelt, die die Nutzung von Microsoftsoftware in anderen Teilen des Unternehmens erheblich verteuern.

Billig-Chipdesign-Serie präsentiert webbasiertes Tapeout-Werkzeug

Die von ElectronicDesign vorangetriebene Serie zum Entwurf von Chips mit minimalem Investment wurde unter der URL https://www.electronicdesign.com/blogs/nonlinearities/article/55240373/electronic-design-dirt-cheap-asic-design-for-dummies-part-3-nmos-pmos-silicon-design-using-a-web-browser? fortgesetzt.
Besonders interessant ist in dieser Ausgabe das in der Abbildung gezeigte Werkzeug SiliWiz – ein im Browser lebendes Werkzeug, dass das Tapeout von Chips erleichtert und bei Bedarf auch Spice-Simulationsausgaben generiert.

Bildquelle: https://app.siliwiz.com/

ST AIoT Craft – AI-Generatorsystem für ST-MEMS-Sensoren

Dass die Franco-Italiener in ihren MEMS-Accelerometern verschiedenste Funktionen der künstlichen Intelligenz unterbringen, ist per se nicht neu. Bisher galt allerdings, dass die Programmierung vor allem manuelle Aufgabe war.
Mit einem als ST AIoT Craft bezeichneten Dienst möchte STMicroelectronics die Lernkurve abschwächen:

1
Der MLC, ein Alleinstellungsmerkmal des MEMSPortfolios von ST, ermöglicht die Verarbeitung lernender EntscheidungsbaumModelle direkt im Sensor. Der MLC kann autonom und ohne Einwirkung des Hostsystems arbeiten. Er bürgt für geringe Latenz und einen niedrigen Stromverbrauch und kann auf effiziente Weise Aufgaben wie etwa Klassierungs und MustererkennungsRoutinen verarbeiten, die nach AIFähigkeiten verlangen.

2
ST AIoT Craft integriert ferner sämtliche Arbeitsschritte zur Entwicklung und Bereitstellung von IoTProjekten, die den Sensor für sensorinterne AIFunktionen nutzen, und bietet hierfür ein ebenso sicheres wie benutzerfreundliches Konzept.

Wer den unter der URL https://staiotcraft.st.com/index.html bereitstehenden Dienst aufruft, wird – wie in der Abbildung gezeigt – mit einem Assistenten konfiguriert, der auch zur Verbindungsaufnahme mit realer Hardware befähigt ist.

Bildquelle: STMicroelectronics

Cartotype-Update mit Veränderungen der API-Struktur

Wer einen von Amazon, Apple, Google und Co. unabhängigen Kartendienst sucht, wird seit Jahr und Tag vom britischen Unternehmen Cartotype bedient. Die vor wenigen Tagen angekündigte neue Version 8.12 des Diensts bringt Änderungen an den API-Namen mit:

1
Declarations in the iOS API are now all prefixed with Ct to avoid naming conflicts with other APIs. The former prefix, CartoType, which was applied incompletely, was too long for easy use, but compatibility aliases have been added using CartoType, so that you can continue to use CartoTypeFramework as well as the new CtFramework.

2
via https://cartotype.substack.com/p/cartotype-812

Amphenol SV: RF-Steckverbinder mit mechanischer Befestigung

Dass SMD-Steckverbinder und SMD-Induktoren gerne mal AWOL gehen, ist bekannt – im Fall der Steckverbinder ist interessanterweise oft auf das Gewicht der angeschlossenen Kabel zurückzuführen sein.
Im Bereich der RF-Steckverbinder plant SV Microwave nun eine ganze Flotte von Steckverbindern, die mit zusätzlicher Befestigungstechnologie ausgestattet sind.

Bildquelle: https://www.svmicrowave.com/pcb-mounting-hardware

Microchip Adaptec® Series maxCache 4.0 – SSD-Beschleuniger für Datacenter

Microsofts ReadyBoost-Technologie ermöglichte Nutzern von Systemen mit wenig RAM die Einbindung eines USB-Sticks, der danach zu einer zusätzlichen Beschleunigung führte. Ob des Preisverfalls von SSDs hat Microsoft diese Technologie vor einiger Zeit aus Windows 11 entfernt.
Interessant ist, dass MicroChip – das Unternehmen ist seit langer Zeit nicht mehr nur Chiphersteller, sondern bietet Value Added Services an – diese im Datacenter nach wie vor anbietet.
Spezifischerweise handelt es sich dabei um eine PCIe-Karte, die – wie in der Abbildung gezeigt – zusätzliches Caching hinter einem Festplattenverbund implementiert.

Bildquelle: https://www.microchip.com/en-us/about/media-center/blog/2024/application-tuned-high-density-servers-data-centers-cloud-computing

KDAB: Tutorial zur Verarbeitung von PCM-Audiodaten.

Wer „rohe“ PCM-Daten und ihre Verarbeitung verstehen möchte, findet unter https://www.kdab.com/implementing-an-audio-mixer-part-2/ ein kompaktes, aber doch lesenswertes Tutorial zur Thematik.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More