FreeRemote
System Software
Score 59%
Description:

Freeremote

The system was developed to provide remote management of Linux on the means of IR-remote controls, mobile devices (mobile phones) and other sources (eg network). In terms of the object interacting with a source of commands is called a controller. The controller is waiting for commands (pressing the button on the remote device) and sends a signal to its customers on the bus DBus.

The system consists of two parts: server and client.

Server
Server (daemon), which tracks click on the buttons and controllers notify their customers of the event. Server provides its service to DBus.
The work with each type of controller is a special module that loads the server. So, to work with IR-remote control (LIRC), using the module controller-lirc.so, and for mobile devices - controller-serial.so.
Server expandable, ie you can write modules for other teams.
Mobile devices can connect via:
* USB or Serial cable (using a device /dev/ttySx or /dev/ttyACMx);
* Bluetooth on the protocol RFCOMM (using device /dev/rfcommx);
* IR-port.
The main thing is that the mobile device provides the ability to track events click on the button.

TODOs:
* Redesign the architecture iolib (on paper, all ready).

Client
Client is an application which has been (was) writen by using Qt4, which during launching connects to server and performs actions which were provided by user according to held buttons.
The actions specified in the scripting language ECMAScript (ECMA-262) or simply JAVAScript. Functional script language extensible. You can write plugins, as in C + +, and in java.
To run external programs in the script put the function runCommand, and access to services DBus class DBusInterface.
Examples of writing script extensions made two modules to manage through the DBus system kmix mixer and player amarok.

TODOs:
* Group action.
* Disconnecting the controller is not required.
* Syntax JAVA scripts in the editor.
* Completion code in the script (control structure, the current expansion).
* Assistant for DBus-interface with the ability to insert code in the script.

pascal79

7 years ago

Hi, I'm trying to compile under Slackware 13. It has kde 4.2.4 (so no irkick), is it compatible?
When I try to compile the server I get:
pascal@Toothy:~/freeremote/freeremoted-0.1.4$ ./build.bash
Usage:
build.bash <build_dir> [project_dir] [configuration] [arguments...]
pascal@Toothy:~/freeremote/freeremoted-0.1.4$ cmake .
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Boost version: 1.38.0
-- Found the following Boost libraries:
-- filesystem
-- program_options
-- signals
-- thread
-- Could NOT find TINYXML (missing: TINYXML_LIBRARY TINYXML_INCLUDE_DIR)
-- Could NOT find DBUSPP (missing: DBUSPP_LIBRARY DBUSPP_INCLUDE_DIR)
---------------------------------------------------------------------------------
Install bin: /home/pascal/freeremote/bin
Install config: /home/pascal/freeremote/etc/freeremoted
Install module: /home/pascal/freeremote/lib/freeremoted
Log file: /home/pascal/freeremote/freeremoted.log
---------------------------------------------------------------------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pascal/freeremote/freeremoted-0.1.4
pascal@Toothy:~/freeremote/freeremoted-0.1.4$ ls
AUTHORS CMakeLists.txt Doxyfile Makefile build.bash* cmake.local/ config.h module/
CMakeCache.txt COPYING INSTALL-en README build.debug* cmake_install.cmake config.h.in server/
CMakeFiles/ ChangeLog INSTALL-ru TODO build.release* config/ iolib/ templates/
pascal@Toothy:~/freeremote/freeremoted-0.1.4$ make
Scanning dependencies of target io
[ 4%] Building CXX object iolib/CMakeFiles/io.dir/fddevice.cpp.o
[ 9%] Building CXX object iolib/CMakeFiles/io.dir/fdnamedevice.cpp.o
[ 14%] Building CXX object iolib/CMakeFiles/io.dir/iodevice.cpp.o
[ 19%] Building CXX object iolib/CMakeFiles/io.dir/iolib.cpp.o
[ 23%] Building CXX object iolib/CMakeFiles/io.dir/serialdevice.cpp.o
[ 28%] Building CXX object iolib/CMakeFiles/io.dir/socketdevice.cpp.o
[ 33%] Building CXX object iolib/CMakeFiles/io.dir/socketnotifier.cpp.o
[ 38%] Building CXX object iolib/CMakeFiles/io.dir/timer.cpp.o
Linking CXX static library libio.a
/usr/bin/ar cr libio.a CMakeFiles/io.dir/fddevice.cpp.o CMakeFiles/io.dir/fdnamedevice.cpp.o CMakeFiles/io.dir/iodevice.cpp.o CMakeFiles/io.dir/iolib.cpp.o CMakeFiles/io.dir/serialdevice.cpp.o CMakeFiles/io.dir/socketdevice.cpp.o CMakeFiles/io.dir/socketnotifier.cpp.o CMakeFiles/io.dir/timer.cpp.o
/usr/bin/ranlib libio.a
[ 38%] Built target io
Scanning dependencies of target freeremoted
[ 42%] Building CXX object server/CMakeFiles/freeremoted.dir/application.cpp.o
In file included from /home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:25:
/home/pascal/freeremote/freeremoted-0.1.4/server/manager.h:23:29: error: dbus++/object.hpp: No such file or directory
In file included from /home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:30:
/home/pascal/freeremote/freeremoted-0.1.4/server/dbus.h:27:29: error: dbus++/dbus++.hpp: No such file or directory
/home/pascal/freeremote/freeremoted-0.1.4/server/dbus.h:28:38: error: dbus++/interface_proxy.hpp: No such file or directory
/home/pascal/freeremote/freeremoted-0.1.4/server/dbus.h:29:41: error: dbus++/basic_object_proxy.hpp: No such file or directory
/home/pascal/freeremote/freeremoted-0.1.4/server/dbus.h:30:35: error: dbus++/basic_struct.hpp: No such file or directory
/home/pascal/freeremote/freeremoted-0.1.4/server/dbus.h:31:30: error: dbus++/variant.hpp: No such file or directory
/home/pascal/freeremote/freeremoted-0.1.4/server/dbus.h:32:34: error: dbus++/fixed_array.hpp: No such file or directory
/home/pascal/freeremote/freeremoted-0.1.4/server/dbus.h:33:47: error: dbus++/standard_interface_proxy.hpp: No such file or directory
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:35:27: error: dbus++/dbus.hpp: No such file or directory
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:36:38: error: dbus++/mainloop_object.hpp: No such file or directory
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:37:32: error: dbus++/exception.hpp: No such file or directory
In file included from /home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:25:
/home/pascal/freeremote/freeremoted-0.1.4/server/manager.h:39: error: ‘dbuspp’ has not been declared
/home/pascal/freeremote/freeremoted-0.1.4/server/manager.h:39: error: expected `{' before ‘object’
/home/pascal/freeremote/freeremoted-0.1.4/server/manager.h:39: error: function definition does not declare parameters
In file included from /home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:30:
/home/pascal/freeremote/freeremoted-0.1.4/server/dbus.h:35: error: expected constructor, destructor, or type conversion before ‘(’ token
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp: In constructor ‘freeremote::Application::Application()’:
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:67: error: ‘MODULEFILE_PATH’ was not declared in this scope
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp: In member function ‘void freeremote::Application::parseCommandLine(int, char**)’:
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:101: error: ‘cout’ is not a member of ‘std’
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:107: error: ‘cout’ is not a member of ‘std’
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:107: error: ‘VERSION’ was not declared in this scope
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:139: error: ‘cout’ is not a member of ‘std’
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:140: error: ‘cout’ is not a member of ‘std’
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp: In member function ‘void freeremote::Application::isRunning() const’:
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:152: error: ‘dbuspp’ has not been declared
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:152: error: expected `;' before ‘dbus’
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:153: error: ‘dbuspp’ has not been declared
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:153: error: expected `;' before ‘service’
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:155: error: ‘root’ was not declared in this scope
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:155: error: expected `;' before ‘dbusRoot’
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:156: error: ‘dbusRoot’ was not declared in this scope
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:156: error: ‘service’ was not declared in this scope
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp: In member function ‘void freeremote::Application::daemonize()’:
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:174: error: ‘LOGFILE’ was not declared in this scope
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp: In member function ‘void freeremote::Application::checkCfgFile()’:
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:199: error: ‘CONFIGFILE_PATH’ was not declared in this scope
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp: In member function ‘void freeremote::Application::exec()’:
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:226: error: ‘dbuspp’ has not been declared
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:226: error: expected `;' before ‘dbus’
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:227: error: ‘dbuspp’ has not been declared
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:227: error: expected `;' before ‘service’
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:229: error: ‘dbuspp’ has not been declared
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:229: error: expected `;' before ‘mainLoop’
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:230: error: ‘mainLoop’ was not declared in this scope
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:230: error: ‘service’ was not declared in this scope
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:232: error: aggregate ‘freeremote::Manager manager’ has incomplete type and cannot be defined
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:239: error: ‘dbus’ was not declared in this scope
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:243: error: ISO C++ forbids declaration of ‘dbuspp’ with no type
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:243: error: expected `)' before ‘::’ token
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:243: error: expected `{' before ‘::’ token
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:243: error: ‘::dbus_exception’ has not been declared
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:243: error: ‘x’ was not declared in this scope
/home/pascal/freeremote/freeremoted-0.1.4/server/application.cpp:243: error: expected `;' before ‘)’ token
make[2]: *** [server/CMakeFiles/freeremoted.dir/application.cpp.o] Error 1
make[1]: *** [server/CMakeFiles/freeremoted.dir/all] Error 2
make: *** [all] Error 2

Report

C

BRE

7 years ago

You need to install the missing libraries:
libdbus + + (http://sourceforge.net/projects/libdbuspp/)
tinyxml (http://sourceforge.net/projects/tinyxml/)

Report

mxttie

8 years ago

is this somehow related to the kde4 port of irkick or is this a whole new project?

Report

C

BRE

8 years ago

This is a new project.
Wants to create a common service (daemon) which will be able to work different carefull (KDE, Gnome, console).

Report

C

BRE

8 years ago

carefull == clients :)

Report

mxttie

8 years ago

in any case, it's an interesting project :) keep going ;)

Report

C

BRE

8 years ago

Thank you for your kind words. :)

Report

C

BRE

8 years ago

Add archive contains two archives: the source server and client

Report

product-maker 6 11

File (click to download) Version Description Filetype Packagetype License Downloads Date Filesize OCS-Install DL
Details
version
0.1.0
updated Feb 12 2009
added Feb 12 2009
downloads today
0
page views today 0