Seidenstrasse
Description | A pneumatic tube system built from non-perforated (airtight) drainage pipe and vacuum cleaners. Being an Open Artwork, Seidenstrasse is a revision of the OCTO installation by the artist group Telekommunisten (http://telekommunisten.net/octo/, 2013). New features are: A decentralized mesh-style, push-preferred network with endpoints (no vacuum cleaners) and nodes (push-forward / pull on request). A new feature is the option to have onion routing to allow for anonymous transportation in the network. |
---|---|
Has website | |
Persons working on | Baruch, Bongo, Gonium, Hax404, Ker, Larsm, Mey, Spky, Tec, Wonko |
Other projects... |
Seidenstraße ist ein Rohrpostsystem aus Drainagerohren und Staubsaugern, basierend auf der Installation OCTO der Künstlergruppe Telekommunisten (http://telekommunisten.net/octo/, 2013).
A pneumatic tube system built from non-perforated (airtight) drainage pipe and vacuum cleaners. Being an Open Artwork, Seidenstrasse is a revision of the OCTO installation by the artist group Telekommunisten (http://telekommunisten.net/octo/, 2013). New features are: A decentralized mesh-style, push-preferred network with endpoints (no vacuum cleaners) and nodes (push-forward / pull on request). A new feature is the option to have onion routing to allow for anonymous transportation in the network.
- Mailing List: http://lists.chaos-inkl.de/cgi-bin/mailman/listinfo/seidenstrasse
- Who helps: Seidenstrasse attendance
- TODO: Seidenstrasse todo
- (IRC channel: #seidenstrasse on the hackint network Note: not everyone is on irc, please make sure all relevant information of interest for everyone goes over the mailing list / the wiki.)
Contents
- 1 WHO is involved ?
- 2 Basic Architecture:
- 3 Example network graph with adress scheme illustration
- 3.1 Basic sending options (to be implemented at 30C3):
- 3.2 Advanced routing options:
- 3.3 Planning the Network
- 3.3.1 Net plan
- 3.3.2 Stations
- 3.3.2.1 0.H (Hall H, "Halle H")
- 3.3.2.2 0.E (Ground Floor Foyer, "Erdgeschossfoyer/EGF")
- 3.3.2.3 0.3 (Room 3, "Saal 3/S03")
- 3.3.2.4 0.0 (Entrance Hall, "Eingangshalle/EGH")
- 3.3.2.5 1.1 (Room 1 Garderobe Foyer, "Saal 1 Garderobenfoyer/S01GF")
- 3.3.2.6 1.11 (Room 11-15, "Saal 11-15,S11-S15")
- 3.3.2.7 1.2 (Room 2 Garderobe Foyer, "Saal 2 Garderobenfoyer/S02GF")
- 3.3.2.8 1.7.1 (Elevator Foyer, "Fahrstuhlfoyer")
- 3.3.2.9 1.7 (Room 7-8 Foyer, "Saal 7-8 Foyer")
- 3.3.2.10 2.0 (Foyer D-G)
- 3.3.2.11 2.1 (Room 1 Main Foyer, "Saal 1 Hauptfoyer, S01HF")
- 3.3.2.12 2.2 (Room 2 Main Foyer, "Saal 2 Hauptfoyer/S02HF")
- 3.3.2.13 4.1 (Room 1 Top Foyer, "Saal 1 Rangfoyer/S01RF")
- 3.3.2.14 4.2 (Room 2 Top Foyer, "Saal 2 Rangfoyer/S02RF")
- 3.4 Mounting the tube at CCH
- 3.5 What you need to be a switching node:
- 4 How to make your own capsule
- 5 Known Exploits
- 6 Experimental Results
- 7 Concept for Onion Routing
- 8 TODO
- 9 Ideas for the next time
WHO is involved ?
Nickname | Hackerspace | working on | Project link |
---|---|---|---|
tec | Raumfahrtagentur.org | Trac.raumfahrtagentur.org | |
balu | CCC-FFM | [1] | |
You? | ?? | Link |
Basic Architecture:
There are two types of nodes: switching nodes and endpoints.
Switching nodes are points where multiple pipes arrive and where people feel like performing the switching / routing functions. The switching nodes are preferably located at places where there are people around, such as POC, NOC, Assemblies, Heaven etc. If the switching nodes are using vacuum cleaners, noise is an important consideration. The node might be placed outside the door or so, to limit noise exposure.
Endpoints can be at any place in the building. What you need to be an endpoint: Just register at the nearest node to get your individual adress and lay a pipe between you and the node. Make sure the tube doesn't bend too much, so that your post will not get stuck. Put a padded laundry basket or similar at the tube end to collect the incoming capsules.
Adressing scheme:
Each endpoint is adressed by its switching node designation plus its pipe number. Each switching node handles its pipe numbering as it sees fit. Re-numbering is strongly discouraged, if pipes fail or are shut down, just leave its number dormant.
Endstation naming convention:
The basic adressing scheme consists of the Switch Node Number followed by a : and the Endpoint Pipe Number at this node. e.g. 23: 42 (meaning: switching node No. 23, Endpoint No. 42). A barcode representation of the basic adressing scheme should be developed. Additionally, memorable naming is allowed, at least if the switching node is operated by humans. The adress then contains the name of the switching node, followed by the endpoint pipe, e.g. POC:5. Switching nodes are designated by their number or name with a following zero, e.g. POC:0
Example network graph with adress scheme illustration
X - switching node O - endpoint
[POC:0] [NOC] [8:1] [ 8:0 ] [6:0] [6:1] O–-–––––––––––––X–––––––––––––––––X–––––––––––––––O | | | O [6:2] / / | | [Hackcenter] [Heaven]X––––––X [ 4:0 ] [3:0] /| / | / | / | / | O O [4:1] [4:2]
Basic sending options (to be implemented at 30C3):
First, write the receiving address on the capsule (optional: return address) Then either a) bring the capsule to the nearest switching node to send it b) borrow a vacuum cleaner and push the capsule to the next node (may cause collisions). c) call your switching node on the DECT / VoIP or via the inband audio communication (talk through the tube) and convince them to pull the capsule by vacuuming your endpoint pipe where you placed the capsule.
Future sending options (to be implemented at 31C3 / next camp):
Automated switching nodes pull (suck) on each endpoint pipe in sequential order and keep vacuuming if there is resistance (from a capsule being in the pipe). If there is no resistance (measurably due to lower power consumption), it goes on to vacuum the next pipe round robin.
Advanced routing options:
How to send a capsule with onion routing Look up the route to the receiving address in the routing file. Write down the nodes on masking tape. Attach the masking tape layerwise onto the capsule, starting with the receiving address, then the last node, and so on. Make sure to have at least 3 nodes between you and the recipient. How to forward a capsule with onion routing: Peel off the first layer of the masking tape and forward the capsule to the address stated.
Planning the Network
Net plan
In this plan you see four of five levels in the CCH. So we jump through level 3. In every level there are several rooms shown as group boxes. In these boxes you can see the stations within this room.
Stations
0.H (Hall H, "Halle H")
Hall H can be reached through a fire damper from the outside. Within Hall H the tube shall be hung at the traverses of the party setup. So we have to work together with the party installation team.
Second port is with manual switching in direction of 0.E.
A station could be placed near the doors of 0.E to provide manual routing.
Nice to have: The DJs wish to have an own station.
0.E (Ground Floor Foyer, "Erdgeschossfoyer/EGF")
The Ground Floor Foyer is surrounded by fire doors. So every switching to another tube must be made by hand or alternative fire door traverse.
In this room there might be a possibility to build a test track where rougher setups can be tested before they damage the whole network.
The Infodesk and NOC Helpdesk are place inside this room and can be reached here.
A stations for the test track might be anywhere in this room. If we like to setup a tube inside the Ground Floor Foyer it will be short because it won't leave the room :/
The pillars in this room are covered in glas. So we might need some kind of preasure distribution to prevent any damage.
Nice to have: We also might use an advanced version of the fire door traversal bot which could use two or three separated lines to switch between the ports and the fire doors right into the surrounding rooms!
0.3 (Room 3, "Saal 3/S03")
Room 3 is the largest assembly space. Between Room 3 and 0.E are fire doors that require manual or alternative switching.
To switch into 1.1 we ordered a break through. From the floor of Room 3 the tube have to go up onto the balcony an then through the window into a room called "Alte Regie". From there the tube have to cross the break through into 1.1. The pillar where the tube can be fixed is covered by plaster boards which require a preasure distribution!
Inside Room 3 the Assemblies will get tube material for experimenting with tubes on the floor. We might have to stay aware of escape routes - if this is possible in this room at all! Another way might be to use the balcony to connect all four corners.
0.0 (Entrance Hall, "Eingangshalle/EGH")
The entrance hall contains a central switching station under the stairs which leads to 1.1 and near the door to 0.E.
From the station we reach 1.1 directly between the stairs. To manage this we build a lying "V" to form a curve which goes up.
Another tube is fixed at the numerous pillars parallel to the cash desk to the stairs that lead up to 1.2. The fixture will also be a lying "V" and a curve that turns up.
The third direction uses the "stairway to heaven" behind the elevators which lead to POC and Heaven. The installtion of the tube might get tricky. The handrails of the stairs give some points to attach some clamps where a rope can be fixed.
The fourth tube can move along the pillars to the side entrance where we want to go outside. To do this we have to cross emergency exit doors which we leave open a bit for the tube and isolate the gap with textiles which must easily break of in case of emergency.
1.1 (Room 1 Garderobe Foyer, "Saal 1 Garderobenfoyer/S01GF")
Some Assemblies are placed inside this room. Especially Tim's Podcast corner will be at the right side of the automatic stairs and he likes to have a more qiet space for his recordings. A possible station should be place central or near the stairs to the ground floor. Maybe it's not neccessary to have a station here?
If wanted the Assemblies inside this room might build there own internal tubes.
1.11 (Room 11-15, "Saal 11-15,S11-S15")
From the floor in front of the rooms 11 to 15 we can reach 1.2 through a break through in the wall. A station can be placed anywhere at the floor but possibly near the break though.
1.2 (Room 2 Garderobe Foyer, "Saal 2 Garderobenfoyer/S02GF")
Like in the other garderobe foyer assemblies are placed within this room. One tube comes up from downstairs (0.0) and one goes through the wall into the floor of rooms 11-15.
Assemblies might build there own internal routing here - if wished.
1.7.1 (Elevator Foyer, "Fahrstuhlfoyer")
This room is right in front of the main entrance to Heaven. We reach it through the stairs behind te elevators coming from the ground floor.
The station might be placed near Heaven and the elevators.
1.7 (Room 7-8 Foyer, "Saal 7-8 Foyer")
The angels get there connection through the POC station by hand switching.
2.0 (Foyer D-G)
This part of the building can be reached in two ways. One is to have a station in 2.1 at the large fire door and then continue by hand. Another possibility is to use the emergency exit doors of 2.1 and Foyer D-G. Like in 0.0 the doors have to be closed with textiles for isolation.
2.1 (Room 1 Main Foyer, "Saal 1 Hauptfoyer, S01HF")
One way out of this room is upstairs to the chill lounge at the top floor (4.1). The pillars are hard to use to go up but the handrail of the stairs might be the easiest solution.
A second way leads at the right side through a fire damper into the backstage area and immediate through a similar fire damper into 2.2.
The third way is explained in 2.0.
The fourth connection leads to the party and runs through a double break through to the outside balcony and to the fire dampers of 0.H.
The station could be anywhere in the room.
2.2 (Room 2 Main Foyer, "Saal 2 Hauptfoyer/S02HF")
This floor is connected through the stairs (handrails,pillars) to 4.2, and to 2.1 (see description of 2.1).
4.1 (Room 1 Top Foyer, "Saal 1 Rangfoyer/S01RF")
Dead end to the chill lounge. Station might be best in te back where the chilling people won't be disturbed too much.
4.2 (Room 2 Top Foyer, "Saal 2 Rangfoyer/S02RF")
The only inside connection to the coffeenerds comes from 2.2 through the stairs.
A second connections starts outside at the balcony with the CCH logo and runs outside down to the side entrance of 0.0.
Mounting the tube at CCH
The basic mounting option at CCH will be to put a lashing strap (Spanngurt) around a column and stretch a rope between two columns (that each have a lashing strap around them). The rope will be tied tightly in regular intervalls around the tube a couple of times, so forces are distributed around the circumference of the tube and deformation is avoided. Other options at points with no columns will use architectural elements to tie the rope with lashing straps or rope to them. As last resort, some gallery rails that are usually used to mount wall frames or lights might be used, but this is the last resort.
What you need to be a switching node:
Preparation:
Bring a vacuum cleaner with blower function (see list below). Bring a connector that fits the blower nozzle and the pipe (see 3D model below). Connectors between pipe and standard (38-40mm) vacuum cleaner tube will be provided. If your vacuum cleaner is non-standard, bring a connector to tube ("DN 100"), or pipe ("KG", 110 / 50 or smaller). Bring some laundry baskets or similar for the incoming capsules.
Optional: Buy some drainage pipe and make test runs. Make your own capsules (see dimensions below). All capsules must have lighting!
At the Congress:
Lay pipes between you and the nearest nodes. Make sure that the tube is mounted correctly, and does not make any sharp bends. Note that the tube is not very sturdy. Think of ways to distribute the forces at fixing points over a wider surface area, like with a piece of cloth, a pipe with larger diameter, gaffa-tape constructions or similar. Just hanging the tube on one round of string will deform it within a day.
Update the routing file with your name and the connections leading to you.
When you receive a capsule, look up the address in the routing file and push (blow) the capsule to the next node in the route (or the endpoint, in case there is a direct connection).
When a new endpoint registers, make sure to update the routing file. Optional: Connect the vacuuming nozzle to 'pull' capsules sent from the endpoints at regular intervals.
In order to ensure reliable deliveries, a node should be (wo)manned permanently.
How to make your own capsule
Everyone who wants to participate should build their own capsules. Please post your pictures, drawings, instructions and experiences here as inspiration for others.
Important: Capsules without light will not be allowed in the system! Attach at least one LED to each capsule, so stuck capsules are visible. No exceptions!
Tube dimensions (verified by measurement): Outside diameter: 100 mm Inside diameter (the tube is corrugated): 90-92mm
Capsule properties (verified by experiment):
min | max | optimal? | comment | |
---|---|---|---|---|
Diameter | 75mm | 90mm | 85mm | also depends on capsule's sides, if soft, thicker may be better |
Length | 100mm | 220mm | 180mm | too short might cause it to turn and get stuck, too long will not get around corners. (rounded and narrowed ends can be longer) |
Weight | -10t | 550g | 250g | large weights need to be tested more on long tubes going up |
The ends of the capsule should be round or narrowed, so it can easily glide around bends. Take a look at how commercial capsules look like for inspiration: http://commons.wikimedia.org/wiki/File:Rohrpostbuechse.jpg
A capsule made by cutting a ring out of a 85mm 1.5l PET water bottle and putting the ends back together worked really well in experiments (see picture below).
At the largest diameter a ring of felt or the soft side of velcro should be applied to ease the gliding through the pipes and provide a better airtight seal between tube wall and capsule.
Capsule Ideas: Multicolor glowing capsules, capsules with e-paper displays, encrypted capsules (with puzzles or locks). A very good test capsule is a 500ml can of beer. It also has a 500g payload, good for testing inclines. Make sure you have something soft at the end to catch the beer, or else the can is likely to be damaged, requiring cleanup operations.
3D Files
Pressure Sources
Suitable vacuum cleaners ("ShopVac" with Blower function) http://www.karcher.com/int/Products/Home__Garden/Vacuums/Wet_and_dry_vacuum_cleaners/16296000.htm http://www.shop-vac.eu/shop-vac-super-1300-inox_pid49.html?products_id=49&language=en
Electric leaf blowers are strong but noisy.
"Seitenkanalverdichter" are weak and noisy, so not a good choice.
Please don't forget to build some kind of noise isolation for the sake of your friendly neighbours.
Tubes
2 km of yellow drainage pipe, DN100 have been ordered, including connectors.
Known Exploits
Man in the Middle (untested)
Toolkit
All you need might be at least one vacuum cleaner and a tool to cut the tube as noiseless as possible.
HowTo
Search for an unsurveiled and reachable part of the seidenstraße network. Try to find out witch nodes are connected by the part you have chosen. You'll later have to act as the opposite expected node so be sure to know as much as possible. You might be able to log communications by hearing the operators talking through the tube. Log the traffic for at least one hour to get a feeling for the activity-level. Then choose the right moment to cut the tube. From now on you have full access to the communication via tube and all the capsules.
Penetration by Mate
Toolkit
5 vacuum cleaners, a bottle of mate and a sharp corner.
Result
Experimental Results
We did some experiments at Raumfahrtagentur in Berlin. The main results are:
1. Fire safety
We tried to burn the tube and it turned out to be burn retardant. Test with a lighter revealed that the flame extinguishes itself when you remove the flame. This means that we can have connections between fire zones over the balconies and can route around the fire doors.
2. Performance
We tested two connected 10m pipe segments 3 floors high with more than one segment (10m) going directly up vertically. Our capsules traveled problem free through this test pipe.
3. Capsule construction and dimensions
A cylindrical capsule made from poster tube (180mm x 85mm) worked ok. Longer cylindrical capsules had problems on tight bends. Capsules made from 85mm PET bottles worked really well, as they have round edges / the narrow part of the bottle to guide it around bends.
4. Light
Lighting the capsules is not an option but mandatory, as this really helps locating stuck capsules and watching performance and behaviour in the tube. Always have at least one bright LED on every capsule.
5. Noise
The vacuum cleaner is really noisy. We will evaluate other options like industrial blow / vacuum systems.
6. Connection to the tube
The connection to the tube is solved. We improvised something with a PET bottle and Gaffa, but that was not suitable for heavy use. A proper solution: We bought some rainpipe connectors and adaptors for Raumfahrtagentur, and sawed off a bit of the vacuum cleaner pipe. Items are called: "DN 110 / DN 50 45˚ Abzweigung", "Reduktion DN 50 DN 40", "Übergang Drän auf KG DN 100", "Drainagerohr-Verschlußstopfen".
Test run at Raumfahrtagentur: https://vimeo.com/79443700
Concept for Onion Routing
This is a draft, open for discussions.
Every end- and switching-node may operate as a onion-node.
Every onion-node has to
- generate a public-/private-key pair
- leave its public key in this wiki (and has to promote the fingerprint ;)
- document their key, fingerprint and status as available in the table above.
- ensure that capsules will be handled in appropriate time (or mark its status as "out of order")
Every sender
- selects a random route of three onion-nodes of the table above.
- collects the public-keys of these onion-nodes.
- generates for the third onion-node an encrypted message containing the final destination.
- generates for the second onion-node an encrypted message with the name of the third destination and the encrypted message for the third node
- generates for the first onion-node an encrypted message with the name of the second destination and the encrypted message for the second node.
- declares the first onion-node on the capsule.
- stores the first messages within the capsule.
The usage of USB data-drives is prefered.
Plus-points
- Collecting common gpg command-ine examples here.
- Write scripts?
- Every capsule look (more or less) the same.
- Onion-nodes oversee the spreading of the fingerprints of their public-keys.
- Ideally all onion-nodes and the sender will declare the next destination in the same way as the others, so that one can't be identified by handwriting, used pen or tape. (Suggestion: A shared, printed list of destinations, same sellotape.)
TODO
NEW TODO LIST: https://events.ccc.de/congress/2013/wiki/Projects:Seidenstrasse_todo
- Get positive answers from potential nodes e.g. POC, NOC, Engel, …
- Make (longer-term) mounting tests because of known deformation problem
- solve noise problem (try out an electric leave-blower on a low setting)
- make capsule counters for network traffic analysis
- find out if we can use compressors or central vacuum cleaner units that can be placed in noise isolated rooms, at least for some nodes like the info-desk. (e.g. http://www.ebay.de/itm/Zentralstaubsauger-1-9-Schalldampfer-Filter-Beutel/281192395771)
Done:
- Find a text-only solution for the routing file (ASCII art?)
- make test runs
- (Raumfahrtagentur has ordered a vacuum cleaner and some tube) --> See above, Experimental results.
- entropia has tube + push vaccum cleaner
- get building plans from CCH which include *emergency fire doors* etc.
- find out about fire safety regulations at CCH e.g. *emergency fire doors* etc.
- Make a preliminary routing file
- Publish a 3D model for a nozzle connector (solved by using standard tubing elements, all ordered)
- plan routes (strategic planing has been done, see network graph)
Camera in capsule: http://vimeo.com/58703548
Emergency fire doors
Experimental verification suggests that the tube is flame retardant. This means that we can route around the fire doors over the balconies.
Emergency fire door traversal by robot
Chaos inKL. is currently experimenting with a simple line-following robot that can semi-automatically transport a capsule through the fire door.
Our plan is to convert this little machine into a simple line-following robot. It loads a capsule at the start and follows a line through the fire door. At the destination it delivers the capsule and returns to the start. It will also be outfitted with LEDs and a buzzer for better visibility and interruption-free operation.
attic
if you need to extend the tubes longer than 50m, you will need something like this http://www.bausep.de/Keller/Entwaesserung/Drainage/Opti-Drain-System/Verbindungsmuffe-Zubehoerteil-fuer-allgemeine-Draentechnik.html?variante=DN-100 I think this page features the standard tube we used at transmediale: http://www.bausep.de/Keller/Entwaesserung/Drainage/Drainageschlauch/Drainageschlauch-ungelocht-DN-100-gelb-50-m-Rolle.html
IMPORTANT "Halterungen" stable rings (rainwater gutter, a piece of fabric,…) to ensure the transport tubes stay round. Deckenpanele in den Foyers halten pro Panel 5 kg, bzw. 2 x 2.5kg Note that the tube is not very sturdy. Think of ways to distribute the forces at fixing points over a wider surface area, like with a piece of cloth, a pipe with larger diameter, gaffa-tape constructions or similar. Just hanging the tube on one round of string will deform it within a day.
This paragraph needs to be verified by someone with good knowledge about this matter.)
For the non german natives, "Brandschutztüren" or emergency fire doors are doors that are <strike>normally open</strike> (see below) and must be able to close in case of a fire (to prevent spreading fire and smoke to other parts of the building.) These doors may never be blocked, assume that any CCH people will be rather anal about this, with good reason. This means no Seidenstrasse pipes can go through one of those doors.
Door types: some remain open until a fire alarm signal is triggered and some (the simple ones) are always retained in closed position by a door closer.
Now, there are multiple questions about this:
- where in the CCH are doors like this, how frequent are they?
- are there ways to pass pipes through some other hole next to the door?
- NB: along with one of the doors, there is usually a fire protective wall (the building is divided in 'Brandschutzabschnitte' / fire zones) which isn't allowed to have holes either. But maybe they have plugs that can be removed.
- Yes and no. In my experience most of the fixed cable ducts going trough a fire wall are filled with a fire resistant foam/material. If there is a hole big enough for this application i think it will be behind another fire proof door (back to start). Maybe they have special cable passings at CCH and regulations but stuff like this has to be discussed with the fire fighters in charge (at some events there are some) and/or the building/security manager. (This is my experience from helping/organizing at mid sized festivals.) I think it might be easier to run the system independently in the fore zones and have passing stations where volunteers or people passing by can transfer them.
- if nothing else, (wo)manned (or un(wo)manned, if you can build one) relay stations at these doors may be needed. Ideas?
Zaehlrohr
Zaehlrohr is an approach to automatically count capsules at switching nodes. This is done by attaching two light barriers to each tube connecting the switching node with its neighbors. As a by-product this setup also provides the possibility to calculate speed of each capsule.
Works, even when materia is generated http://i.imgur.com/8fboPI7.png
Sourcecode
Schematics and sourcecode: https://github.com/LongHairedHacker/zaehlrohr
Current Status
Unfortunately there is only one measurement node operational at the moment. It is located at the C-Base switching node.
You can access the data measured under: https://seidenstrasse.sebastians-site.de/cbase/
New json files are created whenever the node looses connection or has been restarted for some reason.
For simpler access a index file for all json files can be found under: https://seidenstrasse.sebastians-site.de/index.json
The files are actually static files served by a lighttpd, so polling them on a regular basis to get updates should be fine.
Ideas for the next time
- Vertical drop with clear tubing and camera - do automated capsule photography
- Measure speed of capsule by measuring capsule acceleration & fft
- Self-propelling Intratubular Maintenance Device with wifi camera (combine ALL the hacks)