ayrel / karotz
api karotz
Requires
- symfony/process: dev-master
This package is auto-updated.
Last update: 2025-03-20 00:58:28 UTC
README
Bonjour tout le monde, je suis GilDev, et voici la documentation de ma classe PHP qui vous permet de contrôler votre OpenKarotz facilement. Elle utilise l'API HTTP officielle d'OpenKarotz. Vous aurez besoin de PHP 5.4+ ainsi que la bibliothèque cURL pour utiliser cette classe.
J'ai essayé de documenter du mieux que j'ai pu, notamment en essayant de me rapprocher au maximum de la syntaxe des synopsis des fonctions de la documentation PHP officielle.
Par exemple, voici le synopsis de la fonction pulse()
:
$out = $karotz->pulse($primaryColor [, $secondaryColor = '000000' [, $speed = 700]]);
Cet exemple appelle la fonction pulse()
sur l'objet $karotz
. Le paramètre $primaryColor
est indispensable, cependant, les paramètres $secondaryColor
et $speed
sont optionnels (entre crochets) et ont par défaut les valeurs respectives '000000'
et 700
s'ils ne sont pas renseignés.
Si aucun exemple de retour n'est présent pour une fonction, c'est que la fonction retourne uniquement :
Array
(
[return] => 0
)
S'il y a une erreur dans un appel de fonction, l'index return
vaudra 1
et l'index msg
contiendra le message d'erreur.
Pour toute question, me contacter sur Twitter ou par mail.
Sommaire des fonctions
Créer un nouveau object OpenKarotz
Pour commencer, crééz un nouvel objet OpenKarotz comme ceci :
require 'OpenKarotz.class.php';
try {
$karotz = new OpenKarotz('x.x.x.x');
} catch (Exception $e) {
echo 'Erreur : ' . $e->getMessage();
die();
}
Remplacez "x.x.x.x" par l'adresse IP de votre OpenKarotz.
Toutes les fonctions de la classe retournent un tableau associatif. En cas d'erreur, l'index "retour" du tableau sera égal à 1 et l'index "msg" contiendra le message d'erreur.
S'il n'y a pas d'erreur, le tableau associatif sera le retour de l'API officielle (qui est au format JSON), décodé grâce à la fonction json_decode()
.
Fonctions
Informations
getStatus()
Vous retourne le status du lapin.
$out = $karotz->getStatus();
Exemple de retour :
Array
(
[version] => 200
[ears_disabled] => 0
[sleep] => 0
[sleep_time] => 0
[led_color] => 00FF00
[led_pulse] => 1
[tts_cache_size] => 2
[usb_free_space] => -1
[karotz_free_space] => 147.3M
[eth_mac] => 00:00:00:00:00:00
[wlan_mac] => 00:0E:8E:2C:D4:98
[nb_tags] => 1
[nb_moods] => 305
[nb_sounds] => 14
[nb_stories] => 0
[karotz_percent_used_space] => 37
[usb_percent_used_space] =>
[data_dir] => /usr/openkarotz
)
getStorage()
Vous retourne l'espace utilisé sur la mémoire interne du lapin et la mémoire USB.
$out = $karotz->getStorage();
Exemple de retour :
Array
(
[karotz_percent_used_space] => 37
[usb_percent_used_space] => -1
)
getList()
Vous retourne la liste de données spécifié.
$out = $karotz->getList($categorie);
La catégorie peut être "rfid", "rfidInfos" (contient une version lisible des valeurs type
et color
, voir l'exemple de retour, équivalent de /cgi-bin/rfid_infos_ext
de l'API officielle), sound", "voice", "moods", "snapshot", "stories" ou "radio".
Exemple de retour :
Array
(
[tags] => Array
(
[0] => Array
(
[id] => D0021A053B4A21CB
[name] =>
[type] => KAROTZ
[type_name] => KEYRING
[color] => 4
[color_name] => YELLOW
)
)
[return] => 0
)
État
wakeUp()
Réveille le Karotz.
$out = $karotz->wakeUp([$silent = false]);
Si $silent
vaut true
, le Karotz se réveillera silencieusement.
Exemple de retour :
Array
(
[return] => 0
[silent] => 1
)
sleep()
Endors le Karotz.
$out = $karotz->sleep();
Leds
led()
Change la couleur de la led du Karotz.
$out = $karotz->led([$color = '000000']);
La couleur doit être spécifié sous forme d'une chaîne hexadécimale.
Exemple de retour :
Array
(
[color] => FF0066
[secondary_color] => 000000
[pulse] => 0
[no_memory] => 0
[speed] =>
[return] => 0
)
pulse()
Fait clignoter la led du Karotz.
$out = $karotz->pulse($primaryColor [, $secondaryColor = '000000' [, $speed = 700]]);
Les couleurs doivent être spécifiés sous forme d'une chaîne hexadécimale. La vitesse doit être comprise entre 0 et 2000.
Exemple de retour :
Array
(
[color] => FF0066
[secondary_color] => 00FF00
[pulse] => 1
[no_memory] => 0
[speed] => 1000
[return] => 0
)
Oreilles
earsMode()
Active ou désactive le mouvement des oreilles du Karotz.
$out = $karotz->earsMode([$disable = false]);
Exemple de retour :
Array
(
[return] => 0
[disabled] => 1
)
ears()
Modifie la position des oreilles du Karotz.
$out = $karotz->ears([$left = 0 [, $right = 0 [, $reset = false]]]);
Les positions $left ou $right vont de 0 à 16, vous pouvez cependant dépasser ou mettre une valeur négative si vous souhaitez faire plusieurs tours ou changer le sens de rotation par exemple.
Si $reset
vaut true
, les oreilles se mettront d'abord en position initiale avant de se positionner.
Exemple de retour :
Array
(
[left] => 13
[right] => 18
[return] => 0
)
earsReset()
Réinitialise la position des oreilles.
$out = $karotz->earsReset();
earsRandom()
Positionne les oreilles de manière aléatoire.
$out = $karotz->earsRandom([$reset = false]);
Si $reset
vaut true
, les oreilles se mettrong d'abord en position initiale avant de se positionner.
RFID
rfidStartRecord()
Lance l'enregistrement des tags RFID.
$out = $karotz->rfidStartRecord();
Attention : Cette fonction ne retourne actuellement rien !
rfidStopRecord()
Stoppe l'enregistrement des tags RFID.
$out = $karotz->rfidStopRecord();
rfidDelete()
Supprime un tag RFID enregistré.
$out = $karotz->rfidDelete($id);
Exemple de retour :
Array
(
[return] => 0
[tag] => D0021A053B4A21CB
)
rfidUnassign()
Supprime l'action associée au tag RFID.
$out = $karotz->rfidUnassign($id);
Exemple de retour :
Array
(
[return] => 0
[tag] => D0021A053B4A21CB
)
rfidAssignURL()
Assigne le tag RFID à un appel d'URL.
$out = $karotz->rfidAssignUrl($id, $url, $name)
TTS (Text To Speech = Synthèse vocale)
getCache()
Récupère le cache TTS du Karotz.
$out = $karotz->getCache();
Exemple de retour :
Array
(
[cache] => Array
(
[0] => Array
(
[id] => 4d509419511635e0fce55a929629fbbb
[text] => Bonjour tout le monde !
[voice] => claire
)
)
[return] => 0
)
clearCache()
Efface le cache TTS du Karotz.
$out = $karotz->clearCache();
Exemple de retour :
Array
(
[return] => 0
[msg] => Cache cleared
)
say()
Fait parler le Karotz.
$out = $karotz->say($text [, $voice='claire' [, nocache = false]]);
$voice peut être alice
(FR), claire
(FR), julie
(FR), margaux
(FR), antoine
(FR), bruno
(FR), louise
(CA), justine
(BE), heater
(US), ryan
(US), lucy
(UK), graham
(UK), andreas
(DE), julia
(DE), chiara
(IT) ou Vittorio
(IT).
Si $nocache
vaut true
, le fichier audio ne sera pas sauvegardé dans le cache.
Exemple de retour :
Array
(
[id] => cfcb12bf12e8bccffe7e48c791e0b870
[played] => 1
[cache] => 0
[return] => 0
[voice] => alice
[mute] => 0
)
Photos
clearSnapshots()
Efface toutes les photos enregistrées.
$out = $karotz->clearSnapshots();
takeSnapshot()
Prends une photo depuis le Karotz.
$out = $karotz->takeSnapshot([$silent = true [, $ftp = false, $server, $user, $password, $remoteDirectory]]);
Si $silent
vaut false
, le lapin fera du bruit lors de la prise de photo.
Si $ftp
vaut true
, les paramètres $server
, $user
, $password
et $remoteDirectory
doivent absolument être renseignés. Ces champs ne vérifient pas la connexion ni la validité des données, faites donc bien attention aux valeurs que vous entrez !
$server
est l'adresse du serveur FTP, $user
l'identifiant, $password
le mot de passe et $remoteDirectory
le répertoire de sauvegarde de l'image.
Sons
play()
Joue un fichier audio enregistré sur le Karotz (vous pouvez obtenir la liste des fichiers audio enregistrés via la commande getList('sound')
).
$out = play($id);
Note : $id
est une chaîne de caractère, à savoir le nom du fichier audio, et non un entier !
playStream()
Joue un fichier audio ou un flux audio depuis internet.
$out = $karotz->playStream($url);
pause()
Met en pause le fichier ou flux audio en cours de lecture, ou continue le morceau s'il est déjà en pause.
$out = $karotz->pause();
Exemple de retour :
Array
(
[return] => 0
[cmd] => pause
)
Note : Pour le moment, la valeur de l'index cmd
retourné sera toujours sur pause
, on ne peut pas savoir si le morceau est déjà en pause.
stop()
Quitte la lecture du fichier ou flux audio.
$out = $karotz->stop();
Exemple de retour :
Array
(
[return] => 0
[cmd] => quit
)
squeezeboxStart()
Lance la Squeezebox.
$out = $karotz->squeezeboxStart();
squeezeboxStop()
Stoppe la Squeezebox.
$out = $karotz->squeezeboxStop();
Applications
playMood()
Joue une humeur sur le Karotz.
$out = $karotz->playMood([$id = NULL]);
Si $id
n'est pas renseigné, une humeur aléatoire sera jouée.
Exemple de retour :
Array
(
[moods] => 279
[return] => 0
)
playClock()
Joue une heure sur le Karotz.
$out = $karotz->playClock([$hour = NULL]);
Si $hour
n'est pas renseigné, l'heure actuelle sera jouée.
Exemple de retour :
Array
(
[return] => 0
[hour] => 20
)