BlinkStick über Powershell ansprechen

Hier möchte ich zeigen wie ich mein BlinkStick über Powershell anspreche.

Zunächst sollte man sich die entsprechenden .dlls kompilieren. Die Quellen hierzu findet man unter https://github.com/arvydas/BlinkStickDotNet . Ich habe diese dann einfach mit VisualStudio geöffnet und kompiliert.

Die Magie entsteht dann mit nachfolgendem Powershell Code:

param(
	$color = "green",
	$off = $false,
	$flash = $false
)
Add-Type -Path "BlinkStickDotNet.dll"
Add-type -Path "HidSharp.dll"
$stick = New-Object BlinkStickDotNet.BlinkStick
$stick.OpenDevice()
$stick.SetMode(3)

$chars = "0123456789ABCDEF".ToCharArray()

if ($off -eq $true)
{
	$stick.TurnOff()
	exit 0
}

if ($flash -eq $true)
{
    for($i=1; $i -le 20;$i++){
        $stick.Morph(("#"+ -join($chars | Get-Random -Count 6)))
        
    }
}
$stick.SetColor("$color")
$stick.CloseDevice()

Mit diesem Code ist es möglich das Script mit einigen Parametern (param Sektion) zu starten. Hier einige Anwendungsbeispiele:

Hier wird die Farbe eures BlinkSticks auf Grün gesetzt (Verwende ich für die Steuerung als BusyLight zusammen mit meiner CTI-Software):

BlinkStick.ps1 -color green

Hiermit lasst ihr das Licht in willkürlichen Farben leuchten (Fade)

BlinkStick.ps1 -flash

Hiermit könnt ihr den BlinkStick ausschalten

BlinkStick.ps1 -off