I am a student in our school’s robotics team and I was asked to make a small auto aiming system as a demonstration example of limelight usage. However, I was not able to find a way to send data from roborio(limelight) to Arduino board. Is there a specific way to make this happen?
You likely could do something similar with a raspberry pi running the python Network tables to receive the data and use the gpio to control something. But I’d say it’s likely easier to just use an actual roborio
Limelight has built-in support for Networktables, which has an object-based (or less recommended handle-based) API that supports C++. I highly reccomend readingthis WPIlib doc page about networktables to get a better understanding of how that works. You can also access Limelight’s networktables API to see how to integrate that into your system.
All in all though, this will all be much easier with a roboRIO because it constantly runs it’s own little Networktables hub all the time, so any connected devices can pull data from other systems. Besides that, I’d also recommend using WPIlib for programming your prototypes because that’s how you will be doing so in competition.
Look at the DigitalCommunication and I2CCommunication example projects, they show how to communicate with an arduino from the roborio. You can find them in the project creator by choosing “example” rather than “template”.
However, as others have already said: whatever functionality you’re programming, it’ll be easier on a roborio.
Arduinos don’t have much networking ability. You might use a different board that has networking and uses the Arduino environment. Some Teensy boards, for example, have the ability to add Ethernet.
I’m not sure, but it might be very difficult to do image processing on an Arduino because of its little processing power and memory.
Note that the rules require servos and motors to be controlled from the roboRio. Do you have more details of what you want to do?
Purely a thought… NT4 client for Arduino might be a fun summer project.
To OP: Limelight does have a serial port which outputs basic target data which could be useful? This would be a direct connection from LL to Arduino, skipping the roboRIO.