IP over Spaghetti (2019)
github.com
github.com
Also, if you find plain spaghetti too bland then bites 12 through 15 give you the sauce address.
https://upload.wikimedia.org/wikipedia/commons/6/60/IPv4_Pac...
"Uno spaghetto" (one), "due spaghetti" (two) and so on...
or at least not to my knowledge! I'm not Italian
https://www.google.com/maps/place/Campana+d'Oro/@46.064371,1...
or strand?
I had a chuckle when I read the plural “spaghetties”.
Reading the Arduino firmware suggests a data rate of 40 bits/s on the actual spaghetti strand.
Allowing for a start and stop bit, that's 4 bytes/second. Given a typical ping packet length of 56 bytes, and a negligble SLIP encapsulation overhead, I'd expect the outbound ping request would take 14 seconds to transmit, and the ping reply would take another 14 seconds after that, making 28 seconds in total (plus the processing latency, which should be negligible). The only way I can see it taking twice that time would be if the ping packets had truly unfortunate content of bytes that SLIP would need to escape into byte pairs, which seems unlikely.
I'm surprised the author didn't go for direct transmission of a 9600 baud signal; it wouldn't be too hard to use a DIY voice coil actuator to drive sound waves down the spaghetti at that frequency, and not too much DSP processing to amplify and clean up the measured movement at the optical sensor into a clean digital signal.
"Channel Capacity of Short-Range Ultrasonic Communications in Air" https://ieeexplore.ieee.org/document/8089735
This is one of these rare instances where you can have hardware recursion.
I didn't read beyond the README and I thought it's using the sphagetti as a fiber optic cable with an LED on one side and a photoresistor on the other
Was SLIP chosen for its simplicity here? Genuinely curious.
The spaghetti is just a stick. At one end a relay[1] wiggles the strand of spaghetti to transmit information. At the other end an optical sensor[2] sees the tip of the strand of spaghetti wiggling and receives that information. There's such a setup going in each direction[3] so that each side can receive and transmit.
[1]: https://github.com/peterheinrich/InternetOverSpaghetti/blob/... (the strand of spaghetti that stick going off the screen to the right)
[2]: https://github.com/peterheinrich/InternetOverSpaghetti/blob/...
[3]: https://github.com/peterheinrich/InternetOverSpaghetti/blob/...
* Is it electrical? No, impossible, dry spaghetti is not a good conductor
* Is it optical? It could make sense, maybe spaghetti behaves like an optic fiber, trapping the reflections inside?
* Oh my god, it's mechanical!
So what happens here is, there's a relay (electromechanical device) modified to be able to poke a metal rod when a signal is applied.
This rod pokes the spaghetti.
The receiving end watches the end of the spaghetti for movement - with an optical sensor. When it moves back, more light will get through the sensor, than when spaghetti is in the way. So the bits are represented by physical movement back and forth of the spaghetti noodle (is noodle a correct term here?).