Affichage des articles dont le libellé est c#. Afficher tous les articles
Affichage des articles dont le libellé est c#. Afficher tous les articles

dimanche 22 juillet 2012

Karotz Kmd - exemple en C#

Suite aux nombreuses demandes, voici donc la procédure simplifiée pour écrire des .exe pour piloter le Karotz en mode local.

Nul besoin d'installer l'environnement msVisual Studio ou C#, on utilisera le notepad++ et le compilateur .NET en ligne de commande...

Rappel : Envoyer en direct des ordres simples au Karotz sans passer par la procédure normale de développement et d'installation d'applications (appz) sur le store Violet. Un simple .exe qui s'exécute en mode console (ms-dos) et permet ainsi d'exécuter des tâches automatisées et/ou de lancer des batches (.bat)

Pré-requis : .NET v3.5 au minimum
voir http://wizz-cc.blogspot.fr/2012/06/karotz-kmd-kommand-line-interface.html

Source_full.zip

  • Récupérer les bibliothèques Google.ProtocolBuffers : (inclues dans le .zip). Pour info cf Google proto buf.
  • Récupérer les sources en C# du client Karotz : (inclus dans le .zip). Pour info se reporter au post de Richard Lavoie pour quelques notions complémentaires très intéressantes.
  • Coder son premier exemple : voir le fichier kz.cs dans le .zip. Ne pas oublier de changer l'ip de votre karotz dans le source... Toutes les fonctions utilisables sont définies dans le fichier KarotzClient.cs.
  • Compiler (pour .NET v3.5)
sous dos : penser à indiquer le chemin du compilateur dans la varaible %path%; en fonction de la version .NET choisie. Ici : set path=%path%;C:\WINDOWS\Microsoft.NET\Framework\v3.5
csc.exe /out:kz.exe /target:exe /reference:v3.5/google.protocolbuffers.dll /reference:v3.5/google.protocolbuffers.serialization.dll /warn:2 /debug- kz.cs KarotzClient.cs VoosMsgCallback.cs VoosMessage.cs
  • Exécuter : sous dos, taper kz.exe (ou double-cliquer sur l'exe) et... le karotz exécute !
  • Distribuer : le fichier Google.ProtocolBuffers.dll doit être fourni avec l'exe


Conclusion :

Voilà, il n'y a plus qu'à dérouler en C#... Une fois l'environnement mis en place, c'est relativement simple. On se demande vraiment pourquoi Violet a (encore) passé ça sous silence...

samedi 2 juin 2012

Karotz Kmd - Kommand Line Interface


Objectif : Envoyer en direct des ordres simples au Karotz sans passer par la procédure normale de développement et d'installation d'applications (appz) sur le store Violet. Aussi simple que d'imprimer !

Un simple .exe qui s'exécute en mode console (ms-dos) et permet ainsi d'exécuter des tâches automatisées et/ou de lancer des batches (.bat)

Télécharger le Zip - version compilée pour .NET v3.5
Pour la version .NET v4.0 c'est celui-ci

Plateforme : Windows avec .NET v 3.5 installé. Pour vérifier la version du .NET installé sur votre PC, allez dans le répertoire C:\Windows\Microsoft.NET\Framework et vous devriez y découvrir (un ou) plusieurs dossiers nommés v1.0.x v1.1.x v2.0.x v3.0 v3.5 v4.0.x. Le mieux est quand même d'avoir la version v3.5 au minimum. Dans le cas contraire, se rendre sur le site de MS pour télécharger le .NET

  • Installation : Télécharger le zip puis extraire les 4 fichiers (kzkmd.exe + kzkmd.ini + kzkmd.txt + google.protocolbuffers.dll) dans un dossier (nommé ici KzKmd pour le tuto).
  • Configuration
KzKmd.ini à éditer (avec un notepad)
# Karotz Kommander Conf file
# http://Wizz.cc
#
# Find your ip on your Kz account manager.
# Go to http://www.karotz.com

Host=192.168.1.4
# Default Port : always set to 9123
Port=9123
#
Modifier la ligne host avec l'adresse ip lcoale de votre Karotz. Vous pouvez la trouver sur votre compte Karotz. Ensuite cliquer sur le picto réprésentant votre Kz pour y décourvir son IP, Adresse MAC et Pseudo. Le port de communication est toujours le (tcp) 9123.

KzKmd.txt contient les commandes à envoyer au Karotz.
# Commentaire
led 0000ff
play http://mp3.live.tv-radio.com/fip/all/fip-32k.mp3
#
pause 10
#
  • Utilisation 
En ligne de commandes ou en batch.

kzkmd.exe [-conf=file.ini] [-file=kmd.txt] [-host=192....] [-port=9123] [-debug]

Par défaut le fichier de configuration est kzkmd.ini et le fichier de commandes kzkmd.txt

Les paramètres -host et -port passés en ligne de commandes sont alors prioritaires sur ceux définis dans le fichier .ini

Ex: kzkmd.exe -debug -host=192.168.1.110

L'InteractiveId obtenu lors de la connexion au Karotz est sauvegardé dans le fichier KzKmd.pid

Vous pouvez ainsi le récupérer avec un autre programme externe du même genre pour communiquer avec la session active.

On pouvait penser aussi à fermer cette session par l'url fournie par l'Api Violet dans sa section Dév http://api.karotz.com/api/karotz/interactivemode?action=stop&interactiveid=3e910454-xxx mais non trop beau !..