Simples USB Thermometer mit Linux Treiber und Java App

OP #4633262
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
Gast
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.
Gast
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.
OP
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.
OP
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.