- Main project is quite hard to read, I'm trying to clean it a little bit so it can be extended !
- Robots using main project are updated each time a commit is done in the repo. Robots that use this project will be updated based on stable releases.
- Pull request are not very welcome in the main project. Feel free to contribute here :)
Release names are composed like: X.Y.Z
- X: Updated when there is a protocol change. Update to this release is mandatory.
- Y: Updated when there is a major change in the project. Update to this release is optionnal.
- Z: Updated when there is a minor change in the project. Update to this release is optionnal.
- Follow steps of the main project
- Override with ssh files in
/usr/local/vigiclient
with the last release of this project - Update your robot config:
- Edit your robot Configuration matérielle
- Use Config effective tab
- Switch editor mode to Code
- Add/Edit the PLUGINS section with an array of your needed plugins. Eg:
"PLUGINS": [ "Safety", "VideoDiffusion", "AudioDiffusion" ]
- Use new files:
cd /usr/local/vigiclient
- Install new dependencies:
npm install
- Restart client:
systemctl restart vigiclient
Plugin name | Description |
---|---|
Safety | Mandatory, it manage the safety of your robot: it will cut the motors if some lag appear |
VideoDiffusion | Mandatory, it allow to display the video of the robot |
AudioDiffusion | If you have a microphone on your robot, it can stream its audio feed |
TextToSpeech | Allow your robot to speak when the user type something in the chat |
SerialSlave | Allow to forward communication to a slave throw serial communication. Useful if you use an arduino paired with the Raspberry Pi. |
More to come, feel free to contribute !!! |
- Create a plugin in the plugins folder. (Look at SerialSlave.js as exemple)
- Your plugin class need to extend [AbstractPlugin] (https://github.com/pirquessa/vigiclient/blob/master/utils/AbstractPlugin.js)
- Override the method you need
- Declare your plugin in the Configuration matérielle of your robot, see installation instructions
- Restart the client process (Can be done from the UI with icon: )