Skip to content
This repository has been archived by the owner on Jan 3, 2020. It is now read-only.

Latest commit

 

History

History
129 lines (80 loc) · 5.07 KB

installation.md

File metadata and controls

129 lines (80 loc) · 5.07 KB

Installation

There are three ways to add the Windows Remote Arduino library to your solution, in order from easiest to most difficult.

  1. Install the NuGet package
  2. Manually add the Windows Remote Arduino project files to your solution

Of these options, installing the NuGet package is by far the easiest.

Option 1: Install the NuGet package

NuGet is a quick and easy way to automatically install the packages and setup dependencies. Within Visual Studio simply open the Package Management Console and select the target project, then issue the following command:

Install-Package Windows-Remote-Arduino

Option 2: Add the Windows Remote Arduino projects to your solution

Step 1: Create a new project!

  1. File -> New Project

New Project

  1. Select your language of choice. Windows Remote Arduino is a WinRT component, meaning it is compatable with C++, C#, or JavaScript.

  2. You'll see I have chosen C# by expanding the "Visual C#" menu. Select the "Windows" option and choose "Blank App (Windows Universal)" or "Blank App (Windows 8.1 Universal)" if you are building for Windows 8.1.

Windows Universal

Step 2: Add Windows Remote Arduino projects to your solution

  1. Clone the Windows Remote Arduino GitHub repository.

  2. Right-click on your solution in the Solution Explorer and select Add -> Existing Project

Add existing project

  1. Navigate to your local copy of the repository. You'll see here that I've cloned it to C:\git\remote-wiring, but you can choose a different directory. Then, open the appropriate solution folder for your build environment (either Windows 10 or Windows 8.1).

Open the solution directory

  1. Let's start with the Serial project (Microsoft.Maker.Serial). Open this directory.

Serial directory

  1. Select the .vcxproj file. (If you are targeting Windows 8.1, you will first have to choose between Windows and Windows Phone platform directories. You do not have to do this for Windows 10, as it is Universal to all platforms!)

Select vcxproj

  1. Right-click on "References" in your project. Select Add Reference

Add Reference

  1. Under the "Projects" tab, select all three of the Microsoft.Maker projects

Project References

  1. Rebuild your solution by selecting Build -> Rebuild All

Rebuild All

  1. Verify you have added the necessary Device Capabilities to your project manifest!

Step 3: Have fun!!

You can now use the three projects directly in your source code! You will notice I have constructed a BluetoothSerial object and attached it to my RemoteDevice object, so I have included the two appropriate namespaces at the top of my .cs file.

Have Fun!

Device Capabilities

Each Windows project will contain a manifest file that must be configured to allow certain permissions, such as Bluetooth and USB connectivity. Fortunately, it is fairly easy to configure these.

You will need to open the package.appxmanifest file of your project by right-clicking and selecting the "View Code" option. Then find the tag and paste one or both of the following tag blocks as a child node.

Note:

For Windows 8.1, you will need to add the following namespace to the top of the XML file, inside the <Package> tag.

xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest"

Enabling Bluetooth Capabilities

You will need to add one of the following XML blocks to your manifest file, inside the tag, in order to invoke the Bluetooth/USB capabilities of a WinRT application, depending on which OS version you are targetting.

Windows 10

<DeviceCapability Name="bluetooth.rfcomm">
  <Device Id="any">
    <Function Type="name:serialPort"/>
  </Device>
</DeviceCapability>

Windows 8.1

<m2:DeviceCapability Name="bluetooth.rfcomm">
  <m2:Device Id="any">
    <m2:Function Type="name:serialPort"/>
  </m2:Device>
</m2:DeviceCapability>

Enabling Network Capabilities

You will need to add one of the following XML blocks to your manifest file, inside the tag, in order to invoke the network socket capabilities of a WinRT application.

Windows 10 and Windows 8.1

<Capability Name="privateNetworkClientServer"/>
<Capability Name="internetClientServer"/>

Enabling USB Capabilities

You will need to add one of the following XML blocks to your manifest file in order to invoke the USB capabilities of a WinRT application, depending on which OS version you are targetting.

Windows 10

<DeviceCapability Name="serialcommunication">
  <Device Id="any">
    <Function Type="name:serialPort"/>
  </Device>
</DeviceCapability>

Windows 8.1

Unfortunately, this library does not support USB on Windows 8.1.