A lot of communication needs to happen in this project, obviously; otherwise it won’t be a connected project.
The main communication will be between the Arduino Mega and the Raspberry Pi. The Mega would request data from the Pi through its USB Serial connection to a Java program on the Pi, which responds with the appropriate data. The Pi would never send data to the Mega without notice, though the Mega might periodically request for any new notifications.
The Java program on the Pi would then in turn communicate with servers on the Internet to get the exact current time and weather information, or any other relevant information. This is where I’m struggling: I can’t seem to find a working Java weather forecast API, or at least one that works for me. I’m sure I can find one eventually.