Files
blackroad/bin/blackroad-physical-led-quantum.sh
Alexa Amundson 78fbe80f2a Initial monorepo — everything BlackRoad in one place
bin/       230 CLI tools (ask-*, br-*, agent-*, roadid, carpool)
scripts/   99 automation scripts
fleet/     Node configs and deployment
workers/   Cloudflare Worker sources (roadpay, road-search, squad webhooks)
roadc/     RoadC programming language
roadnet/   Mesh network (5 APs, WireGuard)
operator/  Memory system scripts
config/    System configs
dotfiles/  Shell configs
docs/      Documentation

BlackRoad OS — Pave Tomorrow.

RoadChain-SHA2048: d1a24f55318d338b
RoadChain-Identity: alexa@sovereign
RoadChain-Full: d1a24f55318d338b24b60bad7be39286379c76ae5470817482100cb0ddbbcb97e147d07ac7243da0a9f0363e4e5c833d612b9c0df3a3cd20802465420278ef74875a5b77f55af6fe42a931b8b635b3d0d0b6bde9abf33dc42eea52bc03c951406d8cbe49f1a3d29b26a94dade05e9477f34a7d4d4c6ec4005c3c2ac54e73a68440c512c8e83fd9b1fe234750b898ef8f4032c23db173961fe225e67a0432b5293a9714f76c5c57ed5fdf35b9fb40fd73c03ebf88b7253c6a0575f5afb6a6b49b3bda310602fb1ef676859962dad2aebbb2875814b30eee0a8ba195e482d4cbc91d8819e7f38f6db53e8063401649c77bb994371473cabfb917fb53e8cbe73d60
2026-03-14 17:08:41 -05:00

333 lines
11 KiB
Bash
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# ============================================================================
# BLACKROAD OS, INC. - PROPRIETARY AND CONFIDENTIAL
# Copyright (c) 2025-2026 BlackRoad OS, Inc. All Rights Reserved.
#
# This code is the intellectual property of BlackRoad OS, Inc.
# AI-assisted development does not transfer ownership to AI providers.
# Unauthorized use, copying, or distribution is prohibited.
# NOT licensed for AI training or data extraction.
# ============================================================================
# blackroad-physical-led-quantum.sh
# Use REAL RGB LEDs to visualize quantum states and trinary logic
set +e
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
PINK='\033[38;5;205m'
MAGENTA='\033[0;35m'
BOLD='\033[1m'
NC='\033[0m'
echo -e "${BOLD}${MAGENTA}"
cat << "EOF"
╔══════════════════════════════════════════════════════════════════════════╗
║ ║
║ 💡 PHYSICAL LED QUANTUM VISUALIZATION 💡 ║
║ ║
║ Using Real RGB Lights to Show Quantum States & Trinary Logic ║
║ ║
╚══════════════════════════════════════════════════════════════════════════╝
EOF
echo -e "${NC}"
# Python LED control script
cat > /tmp/led_quantum_control.py << 'PYTHON'
#!/usr/bin/env python3
import time
import sys
import random
try:
import lgpio
GPIO_LIB = "lgpio"
except ImportError:
try:
import RPi.GPIO as GPIO
GPIO_LIB = "RPi.GPIO"
except ImportError:
print("ERROR: No GPIO library available!")
sys.exit(1)
class LEDQuantumVisualizer:
"""Control physical LEDs to visualize quantum states"""
def __init__(self):
self.gpio_lib = GPIO_LIB
print(f"Using GPIO library: {self.gpio_lib}")
# ACT LED (Activity LED) - can be controlled!
self.act_led = "/sys/class/leds/ACT/brightness"
self.pwr_led = "/sys/class/leds/PWR/brightness"
# Try to use sysfs LED control (doesn't require root for ACT)
try:
with open(self.act_led, 'w') as f:
f.write('0')
self.has_act_led = True
print("✓ ACT LED accessible")
except:
self.has_act_led = False
print("✗ ACT LED not accessible")
try:
with open(self.pwr_led, 'w') as f:
pass # Just test write access
self.has_pwr_led = True
print("✓ PWR LED accessible")
except:
self.has_pwr_led = False
print("✗ PWR LED not accessible (expected - need root)")
def set_led(self, led_path, value):
"""Set LED brightness (0-255)"""
try:
with open(led_path, 'w') as f:
f.write(str(int(value)))
return True
except:
return False
def qubit_superposition(self, duration=5):
"""Visualize qubit superposition: LED blinks at 50% duty cycle"""
print("\n🌌 QUBIT SUPERPOSITION: |0⟩ + |1⟩")
print("LED blinks 50/50 (equal probability)")
if not self.has_act_led:
print("ACT LED not available")
return
end_time = time.time() + duration
while time.time() < end_time:
self.set_led(self.act_led, 255) # ON = |1⟩
time.sleep(0.1)
self.set_led(self.act_led, 0) # OFF = |0⟩
time.sleep(0.1)
self.set_led(self.act_led, 0)
def qutrit_cycle(self, duration=6):
"""Visualize qutrit: Cycle through 3 states"""
print("\n🔺 QUTRIT: |0⟩ → |1⟩ → |2⟩")
print("OFF → DIM → BRIGHT (3 states)")
if not self.has_act_led:
print("ACT LED not available")
return
states = [0, 128, 255] # |0⟩, |1⟩, |2⟩
end_time = time.time() + duration
i = 0
while time.time() < end_time:
brightness = states[i % 3]
self.set_led(self.act_led, brightness)
print(f" State |{i%3}⟩: brightness={brightness}")
time.sleep(0.5)
i += 1
self.set_led(self.act_led, 0)
def quantum_measurement(self, num_measurements=10):
"""Simulate quantum measurement collapse"""
print("\n⚛ QUANTUM MEASUREMENT")
print("Random collapse to |0⟩ or |1⟩")
if not self.has_act_led:
print("ACT LED not available")
return
results = []
for i in range(num_measurements):
# Random measurement (50/50)
result = random.choice([0, 1])
results.append(result)
brightness = 255 if result == 1 else 0
self.set_led(self.act_led, brightness)
print(f" Measurement {i+1}: |{result}⟩", end="")
if result == 1:
print(" ●")
else:
print(" ○")
time.sleep(0.3)
# Show statistics
ones = results.count(1)
zeros = results.count(0)
print(f"\nResults: |0⟩={zeros} ({zeros*10}%), |1⟩={ones} ({ones*10}%)")
print(f"Expected: 50%/50%")
self.set_led(self.act_led, 0)
def trinary_counter(self, max_count=27):
"""Count in trinary using LED brightness"""
print("\n🔢 TRINARY COUNTER (Base-3)")
print("Counting 0-26 in trinary using brightness")
if not self.has_act_led:
print("ACT LED not available")
return
for i in range(max_count):
# Convert to trinary (3 trits max)
trits = []
n = i
for _ in range(3):
trits.append(n % 3)
n //= 3
trits.reverse()
# Use first trit for brightness
brightness_map = {0: 0, 1: 128, 2: 255}
brightness = brightness_map[trits[2]] # Least significant trit
self.set_led(self.act_led, brightness)
trinary_str = ''.join(map(str, trits))
print(f" {i:2d} = {trinary_str} (brightness={brightness})")
time.sleep(0.15)
self.set_led(self.act_led, 0)
def morse_quantum(self, message="QUANTUM"):
"""Spell message in Morse code using LED"""
print(f"\n📡 MORSE CODE: {message}")
if not self.has_act_led:
print("ACT LED not available")
return
morse_code = {
'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..', 'E': '.', 'F': '..-.',
'G': '--.', 'H': '....', 'I': '..', 'J': '.---', 'K': '-.-', 'L': '.-..',
'M': '--', 'N': '-.', 'O': '---', 'P': '.--.', 'Q': '--.-', 'R': '.-.',
'S': '...', 'T': '-', 'U': '..-', 'V': '...-', 'W': '.--', 'X': '-..-',
'Y': '-.--', 'Z': '--..', ' ': ' '
}
dot_time = 0.1
dash_time = dot_time * 3
for char in message.upper():
if char in morse_code:
print(f" {char}: {morse_code[char]}")
for symbol in morse_code[char]:
if symbol == '.':
self.set_led(self.act_led, 255)
time.sleep(dot_time)
self.set_led(self.act_led, 0)
time.sleep(dot_time)
elif symbol == '-':
self.set_led(self.act_led, 255)
time.sleep(dash_time)
self.set_led(self.act_led, 0)
time.sleep(dot_time)
elif symbol == ' ':
time.sleep(dot_time * 4)
time.sleep(dot_time * 2) # Space between letters
self.set_led(self.act_led, 0)
def heartbeat(self, duration=5):
"""Heartbeat pattern"""
print("\n💓 HEARTBEAT PATTERN")
if not self.has_act_led:
print("ACT LED not available")
return
end_time = time.time() + duration
while time.time() < end_time:
# Double pulse
for _ in range(2):
self.set_led(self.act_led, 255)
time.sleep(0.1)
self.set_led(self.act_led, 0)
time.sleep(0.1)
time.sleep(0.5)
self.set_led(self.act_led, 0)
def cleanup(self):
"""Turn off all LEDs"""
if self.has_act_led:
self.set_led(self.act_led, 0)
# Main execution
if __name__ == "__main__":
visualizer = LEDQuantumVisualizer()
try:
# Run all experiments
visualizer.qubit_superposition(duration=3)
time.sleep(1)
visualizer.qutrit_cycle(duration=4)
time.sleep(1)
visualizer.quantum_measurement(num_measurements=10)
time.sleep(1)
visualizer.trinary_counter(max_count=9)
time.sleep(1)
visualizer.morse_quantum("BLACKROAD")
time.sleep(1)
visualizer.heartbeat(duration=3)
print("\n✓ All LED experiments complete!")
except KeyboardInterrupt:
print("\nInterrupted!")
finally:
visualizer.cleanup()
PYTHON
echo -e "${BOLD}${PINK}Running LED experiments on all Pis...${NC}\n"
run_led_experiment() {
local name=$1
local user=$2
local key=$3
local ip=$4
echo -e "${YELLOW}━━━ $name LED Experiments ━━━${NC}"
if [[ -n "$key" && -f "$HOME/.ssh/$key" ]]; then
ssh -i "$HOME/.ssh/$key" -o StrictHostKeyChecking=no "${user}@${ip}" \
"python3 -" < /tmp/led_quantum_control.py 2>&1 | head -100
else
ssh -o StrictHostKeyChecking=no "${user}@${ip}" \
"python3 -" < /tmp/led_quantum_control.py 2>&1 | head -100
fi
echo ""
}
# Run on each Pi
run_led_experiment "Octavia" "pi" "id_octavia" "192.168.4.81"
run_led_experiment "Lucidia" "pi" "br_mesh_ed25519" "192.168.4.38"
run_led_experiment "Aria" "pi" "br_mesh_ed25519" "192.168.4.82"
run_led_experiment "Alice" "pi" "" "192.168.4.49"
echo -e "${BOLD}${GREEN}═══════════════════════════════════════════════════════${NC}"
echo -e "${BOLD}${GREEN}PHYSICAL LED EXPERIMENTS COMPLETE!${NC}"
echo -e "${BOLD}${GREEN}═══════════════════════════════════════════════════════${NC}"
echo ""
echo -e "${PINK}What just happened:${NC}"
echo " • Qubits visualized with blinking LEDs"
echo " • Qutrits shown with 3 brightness levels"
echo " • Quantum measurements displayed in real-time"
echo " • Trinary counting using LED brightness"
echo " • Morse code 'BLACKROAD' transmitted"
echo " • Heartbeat pattern on physical hardware"
echo ""
echo -e "${YELLOW}Watch your Raspberry Pis - the LEDs are ALIVE!${NC}"