Skip to content

rofra/karotz

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Python client for Karotz

The Karotz (formerly named Nabaztag) is a programmable device in the shape of a white rabbit.

What is different from other clients?

Instead of using the Rest API which depends on the servers provided by the company selling the Karotz this Python client communicates with the Karotz directly via TCP. Therefore the Karotz can be controlled without any Internet connectivity (i.e. inside a local network) and without relying on the availability of any external servers.

How does it work?

The interface of the Karotz over TCP is only sparsely documented. Basically it uses messages exchanged over a TCP connection on port 9123. The message format is specified in a ProtoBuf file (see src/karotz/Voos-message.proto). Each of the messages is prefixed with a 4 byte long header containing the byte length of the message.

What commands are supported?

  • set the LED color and fade / pulse over time
  • rotate the ears
  • text-to-speech
  • getting notified on button events
  • getting notified for detected RFID tags

More commands should be easy to integrate.

How to run the demo?

Call the demo script with the IP address of the Karotz:

./scripts/karotz_demo.py 192.168.1.23  # replace the example IP

The Karotz will perform a sequence of actions to show all supported commands. While the demo runs events for pushing the button or holding RFID tags (called Flatnanoz) in front of the Karotz are indicated on the console.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors