I am trying to format data from several Arduino-based systems so my Rpi3 can display it as a web page. But the Rpi3 seems to only work as an I2C master, and the Arduinos have little memory in which to store data.
The sensors include weather and a solar panel sun tracker. Arduino has no problem sending out the data to other Arduinos. The only device on my I2C bus with the memory to do the data logging is the Rpi3.
It looks like the alternative is to do some kind of polling but then I am faced with the question of how often to poll each device, etc. And the Arduinos then would have to spend much more time looking for the requests. My Arduino programs utilize specific delay() times (like when they are moving the solar panels) so interrupts would be a problem in maintaining proper timing.
If there is a solution whereby I can have the Rpi3 waiting for data to come in, then I can handle the programming to do the rest.
So my question is: Is there a good way to set up the Rpi3 to wait for the data and process it as it comes in?