digraph map { graph [fontname = "Cantarell-VF"]; node [fontname = "Cantarell-VF", fontsize="18"]; edge [fontname = "Cantarell"] "door two" [style=filled, fillcolor=brown] "door one" [style=filled, fillcolor=brown] "magnet one" [style=filled, fillcolor=yellow] "magnet two" [style=filled, fillcolor=yellow] "ldr one" [style=filled, fillcolor=yellow] "ldr two" [style=filled, fillcolor=yellow] "ldr three" [style=filled, fillcolor=yellow] "piezo one" [style=filled, fillcolor=yellow] "piezo two" [style=filled, fillcolor=yellow] "piezo three" [style=filled, fillcolor=yellow] "printer one" [style=filled, fillcolor=magenta] "printer two" [style=filled, fillcolor=magenta] "printer three" [style=filled, fillcolor=magenta] "lamp one" [style=filled, fillcolor=tomato] "lamp two" [style=filled, fillcolor=tomato] "lamp three" [style=filled, fillcolor=tomato] "ventilator one" [style=filled, fillcolor=tomato] "ventilator two" [style=filled, fillcolor=tomato] "ventilator three" [style=filled, fillcolor=tomato] "motor shield one" [style=filled, fillcolor=gray] "motor shield two" [style=filled, fillcolor=gray] "relay shield" [style=filled,fillcolor=gray] subgraph tidal_ports { 8001 [style=filled, fillcolor=cyan] 8002 [style=filled, fillcolor=cyan] 8003 [style=filled, fillcolor=cyan] 8004 [style=filled, fillcolor=cyan] 8005 [style=filled, fillcolor=cyan] 8006 [style=filled, fillcolor=cyan] 8007 [style=filled, fillcolor=cyan] 8008 [style=filled, fillcolor=cyan] 8009 [style=filled, fillcolor=cyan] 8010 [style=filled, fillcolor=cyan] 8011 [style=filled, fillcolor=cyan] 8012 [style=filled, fillcolor=cyan] 8013 [style=filled, fillcolor=cyan] 8014 [style=filled, fillcolor=cyan] 8015 [style=filled, fillcolor=cyan] 8016 [style=filled, fillcolor=cyan] } subgraph relay { "relay shield" -> {"lamp one" "lamp two" "lamp three" "ventilator one" "ventilator two" "ventilator three" } } subgraph ports { 8005 -> "printer one" [label="slow(er)",color=orange] 8006 -> "printer one" [label="fast(er)",color=orange] 8007 -> "printer two" [label="slow(er)",color=orange] 8008 -> "printer two" [label="fast(er)",color=orange] 8009 -> "printer three" [label="slow(er)",color=orange] 8010 -> "printer three" [label="fast(er)",color=orange] 8011 -> "printer one" [label="go", color=orange] 8012 -> "printer one" [label="stop",color=orange] 8013 -> "printer two" [label="go", color=orange] 8014 -> "printer two" [label="stop",color=orange] 8015 -> "printer three"[label="go", color=orange] 8016 -> "printer three" [label="stop",color=orange] } subgraph fans { "ventilator one" -> "piezo one" "ventilator two" -> "piezo two" "ventilator three" -> "piezo three" } subgraph motor_shields { "motor shield one" -> "printer one" "motor shield two" -> {"printer two" "printer three"} } subgraph sensors { //"esp32 one" -> {"magnet one" "magnet two" "ldr one" "ldr two"} "magnet one" -> 8001 [color=red,label="off"] "magnet one" -> 8002 [color=green,label="on"] "magnet two" -> 8003 [color=red,label="off"] "magnet two" -> 8004 [color=green,label="on"] "ldr one" -> 8005 [color=red,label="off"] "ldr one" -> 8006 [color=green,label="on"] "ldr two" -> 8007 [color=red,label="off"] "ldr two" -> 8008 [color=green,label="on"] "ldr three" -> 8015 [color=red,label="off"] "ldr three" -> 8016 [color=green,label="on"] "piezo one" -> 8009 [label="low",color="green"] "piezo one" -> 8010 [label="high",color="red"] "piezo two" -> 8011 [label="low",color="green"] "piezo two" -> 8012 [label="high",color="red"] "piezo three" -> 8013 [label="high",color="red"] "piezo three" -> 8014 [label="low",color="green"] } subgraph lamps { "lamp one" -> "ldr one" "lamp two" -> "ldr two" "lamp three" -> "ldr three" 8001 -> "lamp one" [color=red,label="off"] 8002 -> "lamp one" [color=green,label="on"] 8003 -> "lamp two" [color=red,label="off"] 8004 -> "lamp two" [color=green,label="on"] } subgraph doors { "door one" -> "magnet one" "door two" -> "magnet two" } }