Giter Club home page Giter Club logo

aerocli's Introduction

Aquaeronix: Tools for Accessing the Aquaero5(R) USB Device

Build Status

© 2012 lynix [email protected],

© 2013 JinTu [email protected] lynix [email protected],

© 2014 barracks510 [email protected],

© 2015 barracks510 [email protected]

SUMMARY

Aquaeronix aims at providing a C interface for accessing the Aquaero5(R) USB device by 'Aqua Computer' (http://www.aqua-computer.de).

It consists of a set of functions for data access and conversion, and a command-line tool using these functions as an example implementation.

REQUIREMENTS

Unlike its predecessor, aerotools, which targets the Aquaero(R) 4.00), Aquaeronix currently uses the USB HIDDEV interface provided by the Linux kernel via the /dev/usb/hiddev? device nodes, so no dependencies for this.

BUILDING

To build the main components of the project simply issue ./configure && make in the project root. Compiled binaries will reside in the subdirectory the were originated in. This software may be permanantly installed and uninstalled using the commands make install and make uninstall respectively.

You may also use the precompiled RPMs located at my repositories. Additional addons may be found under the Aquaeronix github page.

SETUP

To be able to query the Aquaero5(R) device you have to set appropriate access rights for the device node.

You can either do this manually by identifying the device node using lsusb (looking for the Vendor- and Product-ID), or just install a udev rule like this one:

ATTRS{idVendor}=="0c70", ATTRS{idProduct}=="f001", GROUP="aquaero", MODE="0640"

This will give all members of the aquaero group read access to the device.

As the Aquaero5(R) identifies itself as multiple devices (USB keyboard, mouse and the actual device we want to query) you have to examine which device node represents the data source.

In my case, there is /dev/usb/hiddev[0-2] which all match the udev rule provided above. The correct one for me is /dev/usb/hiddev0, but I don't know whether it is always the first one. Just try as stated under USAGE - if you choose the wrong one there will simply be no output at all.

USAGE: aerocli

aerocli, as stated above, is the example implementation of a command-line tool that uses the provided query - and format conversion functions provided by Aquaeronix.

  • To query the first device found (via autodiscovery), simply issue aerocli.

  • To query a specific device (if you have more than one attached to your system) simply issue aerocli -d /dev/usb/hiddevX (see SETUP for the meaning of X).

  • To get a more script-friendly output in the form of KEY=VALUE pairs just add -o export. For more comprehensive output in both default and export modes, use -a, e.g. -a -o default or -a -o export.

  • To set software sensor values use -s SENSOR:VALUE i.e. -s 1:30.00 or -s 1:11.11 -s 2:22.22 -s 3:33.33.

Note: Multiple software sensor values must be sent at once. If aerocli is run again and any sensor value is set, all other unspecified sensors are set to default (disconnected).

  • To synchronize the Aquaero5(R) time with your system time use -T.

  • To set a device/sensor name use -n REFERENCE:INDEX:VALUE i.e. -n "sensors:1:Sensor 1".

  • To get a list of the device/sensor name references and all default names, simply omit the argument to -n.

BUGS / CONTACT

Feel free to report any bugs you find using the 'issues' function on GitHub. If you wish to contact the authors, you can drop them an email. You may contact barracks510 at [email protected]. For lynix, you might wish to use his GPG key, #4804CCA9 on keys.gnupg.net

LICENSE

This program is published under the terms of the GNU General Public License, version 3. See the file 'LICENSE' for more information.

aerocli's People

Contributors

barracks510 avatar cguzmanceti avatar fariouche avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

aerocli's Issues

Don't know if something has changed, but...

but some of my last Linux updates broke aerocli. I only get:
Unsupported firmware 0 (structure version 0) failed to poll: (null) (Bad file descriptor)
I'm running the aquaero5 with firmware 2009.

Trying to git pull aerocli, I discovered that I cannot compile it anymore. Doing autoreconf, I get:

configure.ac:7: error: required file './ltmain.sh' not found autoreconf: automake failed with exit status: 1

(No idea if anyone still read here, but worth a shot).

Thanks!

Aquaero 5 LT - latest Firmware

It builds now but still some strange output with the latest firmware
./aerocli
WARNING: unsupported firmware version
----------- System -----------
Time: 2014-01-05 01:07:00
Uptime: 00d 00:07:00
CPU Temp: -99.00 °C
---- Temperature Sensors -----
Sensor 6: 25.52 °C
Sensor 15: 50.00 °C
Sensor 16: 50.00 °C
------------ Fans ------------
Fan 1: 1193rpm @ 0% 35 °C
Fan 2: 353rpm @ 35% 35 °C
-------- Flow Sensors --------
Flow 1: 3277 l/h
Flow 2: 3277 l/h
Flow 3: 3277 l/h
Flow 4: 3277 l/h
Flow 5: 3277 l/h
Flow 6: 3277 l/h
Flow 7: 3277 l/h
Flow 8: 3277 l/h
Flow 9: 3277 l/h
Flow 10: 3277 l/h
Flow 11: 3277 l/h
Flow 12: 3277 l/h
Flow 13: 6554 l/h
Flow 14: 3277 l/h
------- Liquid Levels --------
Level 1: 328%
Level 2: 328%
Level 3: 328%
Level 4: 328%

Firmware 2004 not working

Aquacomputer released Firmware 2004 for the Aquaero.
I only get unsupported firmware now with aquaeronix.

Bad File descriptor with Firmware 2003

:~/aerocli-stable$ ./bin/aerocli
failed to open '/dev/usb/hiddev0', skipping
failed to poll: failed to find an Aquaero 5 device (Bad file descriptor)

with Firmware 2003

downgrade possible but to Firmware "2", then with Aquasuite 14 "Upgrade" is deactivated...

Cannot Build

Iḿ getting Errors during building and the "werror"-Flag is set.:

erocli.c: In Funktion »print_system«: aerocli.c:256:4: Fehler: this »if« clause does not guard... [-Werror=misleading-indentation] if (aq_data->cpu_temp[n] != AQ5_FLOAT_UNDEF) ^~ aerocli.c:259:5: Anmerkung: ...this statement, but the latter is misleadingly indented as if it is guarded by the »if« putchar(' '); ^~~~~~~ aerocli.c: In Funktion »print_export«: aerocli.c:776:3: Fehler: this »if« clause does not guard... [-Werror=misleading-indentation] if (aq_data->cpu_temp[n] != AQ5_FLOAT_UNDEF) ^~ aerocli.c:778:4: Anmerkung: ...this statement, but the latter is misleadingly indented as if it is guarded by the »if« printf("SYS_TEMP_CPU%d_NAME='%s'\n", n+1, libaquaero5_get_name(NAME_CPU, n)); ^~~~~~ aerocli.c:817:3: Fehler: this »if« clause does not guard... [-Werror=misleading-indentation] if (aq_data->flow[n] != AQ5_FLOAT_UNDEF) ^~ aerocli.c:819:4: Anmerkung: ...this statement, but the latter is misleadingly indented as if it is guarded by the »if« printf("FLOW%d=%.1f\n", n+1, aq_data->flow[n]); ^~~~~~ cc1: Alle Warnungen werden als Fehler behandelt

Aquaeronix Error with FW 1036 (Aquaero 6 Pro)

After todays clone and make, I got following error when I try to run aerocli as user or root:

WARNING: unsupported firmware version
failed to get names: Failed to find enough matching report pages! (Bad file descriptor)

On previous Version, i got normal output.

Time synchronization with Firmware 2003

Hello!

I've just compiled latest source without any warnings and errors. I'm also receiving correct values (at least temperatures). But there's an issue with time synchronisation I can't solve on my own. Does anybody else receiving this error with firmware 20xx?

./aerocli -T

Failed to HIDIOCGUCODE for report 5
failed to set time: libaquaero5_set_time() failed! (Invalid argument)

Thanks!

missing file for compile

Hello,

I see there is no ./configure file. I tried with automake, but gives me lots of errors

cant build

gcc -Wall -ansi -std=gnu99 -pedantic -I /usr/include -O2 -o obj/aerocli.o -c src/aerocli.c
Assembler messages:
Fatal error: can't create obj/aerocli.o: No such file or directory
Makefile:53: recipe for target 'obj/aerocli.o' failed
make: *** [obj/aerocli.o] Error 1

cant build it ....

incompatible with firmware 2009

Hi all,
I think the latest firmware for the Aquaero5 is 2009. I just acquired such device and would certainly like to use it with linux.
So, if there's any interest in updating aerocli to support firmware 2009, I'd be happy to beta-test.

Hangs often without any echo

Works fine one out of four times. If not it simply hangs without any message and has to be killed.
Uncommented Debug in the Makefile but can't see any changes, neither when it works or not.
Firmware 2003

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.