Libinklevel is a library to check the ink level of ink jet printers connected via USB. Canon BJNP network printers are supported too. It works on Linux and FreeBSD.