A native application to manage and control the Wemo devices. This project is developed using native C/C++ language so that it can be ported to any environment.
Wemo is an IoT platform for smart lighting solutions, entertainment, security, temperature and more smart services.
wemodevicecpp is licensed under the MIT license; see LICENSE in the source distribution for details.
Before building, you'll need to install following dependencies
On Debian-based Linux distributions such as Ubuntu, these dependencies can be satisfied with the following command:
sudo apt-get install cmake libcurl4-gnutls-dev libpugixml-dev
wemodevicecpp should work with any Linux distribution and added cross compilation support.
Tested on:
x86_64
Arm
To check out the wemodevicecpp repository:
git clone https://github.com/srisham/wemodevicecpp.git
Use cmake tools to build the wemodevicecpp. Run the following commands to build the app:
mkdir build
cd build
cmake ..
make
In order to cross compile this module, use the cmake-tookchains file available in the toolchain directory. Update the arm_toolchain.cmake file with your toolchain details. Refer the sample version in this example. To cross-compile, run the following commands:
mkdir build_arm
cd build_arm
cmake -DCMAKE_TOOLCHAIN_FILE=<path_to_toolchain_cmake_file>/arm_toolchain.cmake ..
make
wemodevicecpp supports both interactive and cli methods.
If only 'command' passed as input parameter, it will enable the app in interactive mode. User can enter the command specific inputs to customize the bulb.
$ wemodevicecpp on
In cli mode, user can all pass necessary 'options' as arguments in one go.
$ wemodevicecpp getdeviceinfo --ip 192.168.20.105
To know the list of 'options' required for each command, run the 'help' option in the following way:
$ wemodevicecpp off --help
Following features are supported now:
On/Off device
Get Status
Get Device Info
Windows Support