Ein Angebot von

Thema: Einbindung von Sensoren und Aktoren mit Industrial-IO in Linux

erstellt am: 20.02.2018 19:48

Antworten: 2

Diskussion zum Artikel



Einbindung von Sensoren und Aktoren mit Industrial-IO in Linux


Für das Industrial-Input-Output-Subsystem IIO im Linux-Kernel gibt es mittlerweile an die 250 Treiber für Sensoren und Aktoren. Wie Sie eine solche Applikation schnell und richtig realisieren, zeigt der Autor am Beispiel einer Bienenwaage.

zum Artikel


bearbeiten

Antworten

nicht registrierter User


Kommentar zu: Einbindung von Sensoren und Aktoren mit Industrial-IO in Linux
20.02.2018 19:48

Hilfreiche Ergänzungen:

Die hrtimer Trigger werden durch das iio-trig-hrtimer Kernelmodul zur Verfügung gestellt. Dieses kann entweder manuell per sudo modprobe iio-trig-hrtimer geladen werden, oder bei jedem Systemstart durch sudo sh -c echo iio-trig-hrtimer /etc/modprobe.d/50-local-iio.conf

Die Aussage: Dementsprechend sind die registrierten Devices in Unterverzeichnissen von /sys/bus/iio/devices auffindbar. ist zwar prinzipiell korrekt, erklärt aber nicht, /wie/ diese dort registriert werden.

Da I2C- und SPI-Geräte, im Gegensatz zu USB oder PCI(e) Geräten nicht automatisch erkannt werden, müssen diese irgendwo aufgelistet werden:
- ACPI-Tabellen (z.B. Sensoren auf Mainboards)
- Devicetree (typisch ARM Single Board Computer)
- Devicetree-Overlays (bislang nicht portabel, da nicht Teil des Mainline-Kernels)
- Manuell, bzw. durch äquivalente Skripte

Letzteres erfolgt für den BME280 mit folgendem Befehl:
sudo sh -c echo echo bme280 0x77 /sys/bus/i2c/devices/i2c-2/new_device
bme280 ist der Treibername, 0x77 die I2C-Adresse, i2c-2 der 2. I2C-Bus. Dies ist den jeweiligen Bedürnissen anzupassen.


bearbeiten

Antworten

nicht registrierter User


RE: Einbindung von Sensoren und Aktoren mit Industrial-IO in Linux
07.07.2018 11:57

Angesichts der Existenz des lang bewährten IIO-Subsystems (aber auch des ähnlichen Comedi) müssen sich diverse Hersteller von DAQ-Hardware - wie zB. National Instruments - die Frage gefallen lassen, warum sie diese nicht nutzen, stattdessen aber die (nicht zu knapp!) zahlende Kundschaft ihren miserabel gepflegten, gigantisch großen und üblicherweise nicht funktionierenden proprietären Treiber-Stack aufnötigen wollen.

Die Entwicklung von IIO- oder Comedi-Treibern ist nun wahrlich nicht aufwändig. Wie bei Linux so üblich, müssen sich die Treiber hier eigentlich nur um die tatsächlich hardware-spezifischen Dinge kümmern - generische Aufgaben, wie zB. Buffer-Management, Channel-Decoding, uvm. erledigt das Subsystem schon selbst.

Evtl. könnten wir ja ergänzend zu diesem Artikel mal einen weiteren zum Thema IIO-Treiberprogrammierung schreiben.


Gruß
Enrico Weigelt, metux IT consult
info@metux.net


bearbeiten

Antworten

Antwort schreiben

Titel:


Nachricht:

 



Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.

Thema abonnieren:

Email:
*Ich bin mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung einverstanden.
Antwort abschicken