I am currently working on a project with UCONN and we are trying to control FarmBot using voice commands collected by an Amazon Alexa and processed with VoiceFlow. VoiceFlow uses JavaScript would which would execute on a certain voice command. My idea is that you would say something like “Farmbot, run watering sequence”, “Farmbot, unmount watering tool”, “Farmbot, move the X-axis 1000mm” which would execute the JavaScript code which would send a command to the message broker which would carry out the said command. If anyone has any advice or previous experience doing such a task or even using JavaScript to control FarmBot or has any other ideas on how to make something like this work, that would be great. I am new to software development so any and all help is appreciated. Thanks
3 Likes
Welcome, @nsatta21 !
Your architecture sounds feasible. Running commands off-device is a great way to go. Since you are a Javascript developer, I recommend:
- Use FarmBotJS to control the device. This will help you avoid writing raw CeleryScript. You will need a good understanding of promises.
- Use an HTTP library like Axios to access resources (like sequence names and such)
Here are some resources to get you started:
- FarmBot Developer Docs This is a guide that you should read from start-to-finish (rather than a reference).
- An example of controlling FarmBot remotely from NodeJS.
-
Example of every HTTP endpoint supported by the API. It’s a large document, so I recommend using “CRTL+F” to search for keywords like “
sequence
”.
I don’t have any experience with the voice control / Alexa APIs, but am happy to answer any questions you have about FarmBot APIs.
2 Likes
Thank you for the advice, I will check it out and keep you updated with the progress.
2 Likes