Skip to content
This repository was archived by the owner on Feb 22, 2024. It is now read-only.

Installation

Ian Auty edited this page Feb 1, 2018 · 22 revisions

Installation

MMALSharp has support for Mono 4.x, and experimental support for .NET Standard 2.0.

Mono

Please visit the mono website for instructions on how to install the latest version on your Raspberry Pi.

For ARM6 version of the Pi (A models, B models, Zero), there are some extra steps we must take. Firstly, we need to add a reference to a repository made by Raspberry Pi member "Plugwash" which will give us Mono version 4.0.2:

Please open a console window and follow the below steps:

Run sudo nano /etc/apt/sources.list On a new line, enter deb http://plugwash.raspbian.org/mono4 wheezy-mono4 main Run sudo apt-get update && sudo apt-get upgrade Run sudo apt-get install mono-complete

Following install, if you run mono --version at the terminal, you should see version 4.0.2 returned.

Now we've done this, follow the instructions on Mono's website to add the new repository to the latest Mono version. If you have problems relating to packages being held back, please try running sudo apt-get dist-upgrade and see if this resolves the problem.

Continued

Once Mono is installed, you can either build the source code yourself (see the Building from Source section below), or grab the latest pre-release build from Myget.

.NET Core

.NET Core is currently available on the Raspberry Pi 2 & 3 boards.

Please note: The install instructions for .NET Core have changed since support was added and are subject to change in the future. The instructions below are up to date as of 11/07/2017. If you're having any issues running MMALSharp on .NET Core, please raise an issue and I'll look into it for you.

Installation

  1. Follow the instructions here on how to create a self-contained application for use on your Raspberry Pi.

  2. In the root of your newly created application, create a NuGet.config file as seen below:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <solution>
    <add key="disableSourceControlIntegration" value="true" />
  </solution>
  <packageSources>
    <!--To inherit the global NuGet package sources remove the <clear/> line below -->
    <clear />

    <add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" />
    <add key="mmalsharp" value="https://www.myget.org/F/mmalsharp/api/v3/index.json" />
  </packageSources>
</configuration>
  1. Open your application's .csproj file and add the following (add another reference for MMALSharp.FFmpeg if you require this functionality). Change the version numbers to the latest found in the MyGet gallery for MMALSharp:
<ItemGroup>    
    <PackageReference Include="Nito.AsyncEx" Version="5.0.0-pre-02" />    	
    <PackageReference Include="MMALSharp" Version="0.3.0.87" />	
</ItemGroup> 
  1. In CMD run dotnet restore at the application root to import the MMALSharp NuGet package
  2. Apply one of the examples to your Program.cs file in your new .NET Core app, adding any namespaces as required.
  3. In CMD run dotnet build to build the application
  4. Run dotnet publish -r linux-arm - this will create a new directory called publish within the debug directory of your new application.
  5. Copy the contents of that folder over to your Raspberry Pi
  6. You should now have a self-contained application that can be ran on your Raspberry Pi. You will probably need to run sudo chmod +x ./APPLICATIONNAME to make it an executable file.

Building from Source

If you wish to build from source, follow the below steps:

  1. Clone the repository by running git clone https://github.com/techyian/MMALSharp.git
  2. Open the solution in Visual Studio
  3. Restore NuGet packages & build the solution. If you have the .NET Core SDK installed you can also make use of the dotnet restore and dotnet build commands to build the solution.
Clone this wiki locally