Pełny opis API dostępny na nowej stronie z dokumentacją:
Aplikacja na bramce udostępnia REST-owe API na porcie 8122
Metoda GET
/
jeżeli zrobimy GET-a na tym porcie to dostaniemy opis bramki, GET możemy wywołać z dowolnej przeglądarki:
Metoda POST
do POST-a możemy użyć konsolowego programu curl albo jakiegoś klienta graficznego, np. Insomnia
/text_to_speech
na adresie /text_to_speech możemy wysyłać do bramki tekst do przeczytania:
za pomocą curl:
curl -v --header "Content-Type: application/json" \
--request POST \
--data '{"text":"Cześć Jolka"}' \
http://192.168.6.220:8122/text_to_speech
na głośniku podłączonym do bramki usłyszymy tekst czytany przez Jolkę a efekt w konsoli będzie taki:
$ curl -v --header "Content-Type: application/json" \
> --request POST \
> --data '{"text":"Hejka Jolka"}' \
> http://192.168.6.220:8122/text_to_speech
Note: Unnecessary use of -X or --request, POST is already inferred.
* Trying 192.168.6.220...
* TCP_NODELAY set
* Connected to 192.168.6.220 (192.168.6.220) port 8122 (#0)
> POST /text_to_speech HTTP/1.1
> Host: 192.168.6.220:8122
> User-Agent: curl/7.58.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 22
>
* upload completely sent off: 22 out of 22 bytes
< HTTP/1.1 200 OK
< Connection: Keep-Alive
< Content-Length: 2
< Content-Type: text/html; charset=utf-8
<
* Connection #0 to host 192.168.6.220 left intact
lub za pomocą klienta:
/command
Na adresie /command możemy wysłać komendę do wykonania, przykładowe komendy to:
- setVolume
curl -v --header "Content-Type: application/json" \
--request POST \
--data '{"setVolume": 70}' \
http://192.168.6.220:8122/command
- playAudio
curl -v --header "Content-Type: application/json" \
--request POST \
--data '{"playAudio": "http://stream3.polskieradio.pl:8080/"}' \
http://192.168.6.220:8122/command
To API pozwala na wysyłanie do bramki komend z innych systemów.
Wraz z wydaniem wersji 0.106 na kanale stabilnym opublikujemy w dokumentacji, pełny opis REST API dostępnego na bramce. Jedną z komend która dojdzie w wersji 0.106 będzie możliwość włączenia mikrofonu za pomocą API.
curl -v --header "Content-Type: application/json" \
--request POST \
--data '{"micOn": true}' \
http://192.168.6.220:8122/command
Będzie można podłączyć do USB mikrofon typu PlayStation Eye i wywołać jego uruchomienie i nasłuchiwanie komendy po wystąpieniu zdarzenia na bramce (wykrycie obecności, wciśnięcie jakiegoś przycisku itd…)