Forum: Projekte & Code Simples USB Thermometer mit Linux Treiber und Java App


von Torsten R. (dode)


Lesenswert?

Ein einfaches USB Thermometer basierend auf einem AVR Mikrocontroller 
und V-USB mit passendem Linux Kernelmodul und einfacher Java App, und 
einem KiCad Projekt mit Schaltplan und Platinenlayout.

Wirklich nichts außergewöhnliches aber vielleicht für jemand mit eher 
weniger Erfahrung wie ich ganz nett. Mir ging es in erster Linie darum, 
Linux Kernelmodule besser zu verstehen.

Beschreibung: http://luniks.net/usbtherm.php
Code: https://github.com/gitdode/usbtherm

Torsten

von Stefan F. (Gast)


Lesenswert?

Schön dokumentiert. Für jemand, der die Programmierung lernen möchte, 
ist das offensichtlich ein gutes Einstiegsprojekt.

Ich fände zusätzlichen Windows Support hilfreich.

von Torsten R. (dode)


Lesenswert?

Danke!

Ich schau mal ob ich ein einfaches Beispiel für einen Windows 
USB-Treiber finde und umbauen kann, libusb wäre auch eine Möglichkeit.

von Jay (Gast)


Lesenswert?

Torsten R. schrieb:
> Mir ging es in erster Linie darum,
> Linux Kernelmodule besser zu verstehen.

Es ist ja auch ganz lustig mal im Maschinenraum Hand anzulegen.

Torsten R. schrieb:
> Ich schau mal ob ich ein einfaches Beispiel für einen Windows
> USB-Treiber finde und umbauen kann, libusb wäre auch eine Möglichkeit.

Es würde sich anbieten sowohl für Linux als auch Windows libusb zu 
nehmen.  libusb statt Kerneltreiber ist auf Linux seit einiger Zeit das 
Mittel der Wahl, weil es mit den Kerneltreibern für 
nicht-standardisierte Geräte einfach überhand nahm.

von Torsten R. (dode)


Lesenswert?

Jay schrieb:
> Es ist ja auch ganz lustig mal im Maschinenraum Hand anzulegen.

Auf jeden Fall!

> libusb statt Kerneltreiber ist auf Linux seit einiger Zeit das Mittel der Wahl

Na prima... infiziert wurde ich als ich an einem Treiber für eine NE2000 
PCI in einem alten Linux 2.0 Kernel herumgefummelt habe (aus 
nostalgischen Gründen), bin wegen der doch wesentlich einfacheren 
Konnektivität bei USB gelandet und jetzt bringt libusb mich wieder weg 
vom Kernel ;-)

Ich mach dann mal eine Lösung für Linux und Windows mit libusb.

von Philipp_K (Gast)


Lesenswert?

Passt das ganze in einen Attiny85?
In Windows wäre ein Trayicon für die App nicht schlecht.

von Torsten R. (dode)


Lesenswert?

Ja, der Attiny85 ist wohl sehr gut geeignet, die Voraussetzungen von 
V-USB sind alle erfüllt:

"Runs on any AVR microcontroller with at least 2 kB of Flash memory, 128 
bytes RAM and a clock rate of at least 12 MHz."

Die Firmware ist im Moment völlig unoptimiert knapp 3,7 k groß, passt 
also auch leicht auf den Attiny85. Das eigentlich unnötige USART Modul 
könnte man auf jeden Fall schon mal weglassen.

Es sind übrigens auch andere Taktraten als 12 MHz möglich, sogar mit dem 
internen Oszillator sollte es laufen, das ist interessant wenn man das 
Thermometer möglichst klein bauen will.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.