Skip to content

srisham/wemodevicecpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wemodevicecpp

Project Overview

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.

About Wemo

Wemo is an IoT platform for smart lighting solutions, entertainment, security, temperature and more smart services.

License

wemodevicecpp is licensed under the MIT license; see LICENSE in the source distribution for details.

Prerequisites

Before building, you'll need to install following dependencies

Installing prerequisites on Linux

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

Building

wemodevicecpp should work with any Linux distribution and added cross compilation support.

Tested on:
    x86_64
    Arm

Checking out the wemodevicecpp

To check out the wemodevicecpp repository:

git clone https://github.com/srisham/wemodevicecpp.git

Build

Use cmake tools to build the wemodevicecpp. Run the following commands to build the app:

mkdir build
cd build
cmake ..
make

Cross Compilation

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

Usage

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

Supported Features

Following features are supported now:

On/Off device
Get Status
Get Device Info

Future Improvements

Windows Support