Git Product home page Git Product logo

dashlink's Introduction

DashLink

Version 0.1 (This project is a work-in-progress.)

A DIY hardware interface which allows you to program responses and actions to various inputs through an Arduino on a Windows machine.

Disclaimer: This project is part of a non-examination assessment.

Features

  • Spotify integration - Program your inputs to control Spotify remotely on any device*.
  • Commands - Create your own commands.
  • User Interface - Easy to set up.
  • Communications protocol - Use an Arduino via USB, or combine it with an ESP8266 or similar device for a portable and remote WiFi interface.
  • Expandable integration - Write your own libraries to use with DashLink!

* Spotify integration requires you to have a Spotify Premium account.

DIY Guide

For the full DIY guide, visit (INSERT GUIDE LINK HERE).

Installation

There are two steps in order to get DashLink running:

  1. Install DashLink for Windows
  2. Build and upload the code to your Arduino

Option 1: Installing

The easiest option is to install DashLink to your Windows system. This will also optionally enable the DashLink Service, which allows you to connect to your Arduino at log-on.

You can download and install it at (INSERT DOWNLOAD LINK HERE).

Option 2: Portable Installation

You can also run DashLink as a portable application. Note that you will not be able to use DashLink as a startup service. Simply download the binaries from (INSERT DOWNLOAD LINK HERE).

Option 3: Build DashLink

Alternatively, you can clone this repo and build DashLink yourself. Building requires .NET Framework 4.7.2 with WPF installed.

To build the service application, you will also need Windows Communication Foundation to be installed. Other packages must be downloaded using NuGet.

Compiling ArduinoDashLink

To compile, it is recommended that you have the latest release of the Arduino IDE installed. It is available from the Arduino website. You are also welcome to write your own code for the Arduino or make changes to the source code provided.

With ESP8266 or other supported chip

You will need the ESP8266 Arduino libraries and board information. To set up the Arduino IDE for ESP8266, you should follow this guide.

To program the ESP8266, you can use the Arduino to program via its serial pins or another UART programmer.

After this, you should follow the steps in the Section Below.

Arduino only

The main program for the Arduino is titled ArduinoDashLink and can be configured to be built with or without support for ESP8266. Regardless, the Arduino will always work via USB Serial Port.

NOTE: If you are using a different board, a different circuit or different components, you should make these changes to the main source code file! You should always check the options which can be found in the configuration.h file.

Help! My libraries are missing!

If you have errors while compiling, you can get the required libraries from the Arduino Library Manager. To add a library:

Tools → Library Manager → Search for library

To add an additional board manager (for ESP8266):

File → Preferences → Additional Boards Manager URLs

If your IDE supports multiple library paths, or you are compiling manually, you can use the libraries in the libraries folder of this repo.

How do I connect to the device?

If you are using the DashLink UI, opening it for the first time will present you with the option to create your first profile and then connect to the device. You will be given the option to scan for devices on the network, or connect via Serial. Select the option which works best for you.

If you are using the console test application, you will be presented with similar choices. Both the console application and the UI application will share their configuration with the DashLink Service if it is installed and running.

Known Issues/Missing Features

  • UI WIP
  • Service Management
  • Network WIP

Contributing

This project is open to contributions. Use separate branches before merging with the main branch. Issues should be submitted using the issue template (TODO).

Spotify User Agreement

When using Spotify with this software, you agree to their end-user agreement. This software is not endorsed nor created for or by Spotify, nor does it offer any warranty or take liability for the actions of you, the user, of the linked Spotify account.

This software will never collect any of your Spotify data, and any data the software requires is only kept for the duration the software is running. Spotify grants developers access to their Web API under the Spotify Developer Terms of Service. For more information, see https://developer.spotify.com/terms/.

dashlink's People

Contributors

bosswashere 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.