Giter Site home page Giter Site logo

srisham / wemodevicecpp Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 194 KB

A cpp application to manage Wemo Smart devices

Home Page: https://github.com/srisham/wemodevicecpp

License: MIT License

C++ 99.72% CMake 0.28%
cpp wemo wemo-plug assistant belkin belkin-wemo cli embedded home-assistant iot

wemodevicecpp's Introduction

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

wemodevicecpp's People

Contributors

srisham avatar

Watchers

 avatar

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.