[vz-users] Perl entwickeln für USB-Temperatursensor
Paul Muster
paul at muster.dyndns.info
Thu Jan 24 07:16:52 CET 2013
On 23.01.2013 11:57, Christian Voigt wrote:
> alles klar. ich schau mal, wie viel zeit ich hab. ohne es zu testen is immer ein wenig doof was zu programmieren.
Naja, du kannst ja durchaus testen. Schau, als welches Device dein
Thermometer in /dev/ auftaucht. Dieses Device soll der Software als
Parameter mitgegeben werden.
> also, der code von github erkennt 1 sensor problemfrei?
Das weiß ich nicht. Wie mir später noch einfiel (siehe zweite E-Mail)
ist für den Code von "edorfaus" die HIDAPI-Bibliothek nötig, die ich
nicht auch nicht kompilieren und installieren wollte.
Ich nutze derzeit den C-Code von http://www.isp-sl.com/pcsensor-1.0.0.tgz
> was tut er bei 2-4 bei dir?
Der Code von isp-sl.com zeigt (und soweit ich den C-Code verstehe, ist
das auch so geplant) die Temperatur des ersten gefundenen Sensors an:
usb_dev_handle *find_lvr_winusb() {
struct usb_bus *bus;
struct usb_device *dev;
for (bus = usb_busses; bus; bus = bus->next) {
for (dev = bus->devices; dev; dev = dev->next) {
if (dev->descriptor.idVendor == VENDOR_ID &&
dev->descriptor.idProduct == PRODUCT_ID ) {
usb_dev_handle *handle;
Da wird einfach durchgegangen, alle USB-Geräte auf allen Bussen
angeschaut, ob Vendor- und Product-ID passen, und der erste Treffer
weiterverarbeitet.
> wie man die hidraw devices mit libusb anspricht weiß ich nicht. was
> ich denke, was machbar ist, ist so ein parameter aus sys oder nach
> der anmeldungsreihnfolge der devices - regelt das snippet über
> handles, das wäre der einstiegspunkt.
(Ich rede weiter von dem C-Code von isp-sl.com:)
Meiner Einschätzung nach muss man vor Zeile 73 ansetzen. In Z.73 wird
der oben zitierte Block angesteuert, der dann wie gesagt das erste
Device sucht. Hier muss stattdessen dann das Device aus dem
Kommandozeilenparameter genommen werden.
Viele Grüße
Paul
More information about the volkszaehler-users
mailing list