My original idea for the microprocessor components of FOMOphobia were a centralized system. From my original proposal:
The current plan calls for a central internet-connected microprocessor to connect to each of the social media sites to get counts and content. This central master unit would connect to slave processors that would increment the counters, display the media contents, and ring bells.
I was trying to image how that master would communicate with its slaves. Serial? USB? Ethernet? Something else? I don’t know nearly enough about serial communications to build some protocol between the individual components. Ignorance about the underlying protocols of the networks I rely on has always been my secret shame. How does serial work? What is the receiver isn’t listening in the moment when the sender is sending? How does the sender know that the receiver received the data before it offers the next byte? Is there some kind of latching mechanism? Some kind of return receipt acknowledgement?
I was trying to work this out, talking to a fellow artist, lamenting that if I could just use ethernet protocols, I could do this easily (being a former sysadmin, after all). If only I could create a little private ether-network of these little microprocessors, then they could use any number of familiar protocols to talk to each other. Heck, I joked, I could even have the little buggers email each other.
What if each module accessed the internet independently? As long as there was wifi access and DHCP that would give each Raspberry Pi an IP address. That way, there’d be no need for a central master. Down with masters! No more slaves! That also means that each module would have only a single cord — no networking cables. Therefore, the modules could be located anywhere in relation to the others.
The same code base could be distributed to all the modules. A twiddle within the config file tells each module which social network it is supposed to monitor. Even the printer gets hung off of its own Rasberry Pi.
Taking that to the next level, I could have a cloud server that would do the majority of the processing with my social networks. That way, the Pis would only have to query this server with simple queries for data.