space-vehicle-sensors
v2.0.1
Published
Een Node.js module voor het simuleren van sensoren en grondstoffen voor een ruimtevoertuig
Readme
Space Vehicle Sensors 🚀
Een Node.js applicatie voor het besturen van een ruimtevoertuig met verschillende sensoren en functies.
Functionaliteiten
- 🔋 Batterij monitoring
- 🌡️ Temperatuur metingen
- 🚀 Bewegingscontrole
- 📡 Sensor management
- 💤 Slaapstand beheer
Basis Werking
De applicatie bestaat uit een server (backend) en een webinterface (frontend) voor het besturen van het ruimtevoertuig.
Server Endpoints
1. Status Check (GET /status)
Geeft de huidige status van het voertuig:
// Voorbeeld response
{
direction: 'vooruit',
isMoving: true,
activeSensors: ['temperatuur', 'camera'],
batteryPercentage: 85.5,
temperature: -12.4
}2. Actie Uitvoeren (POST /action)
Bestuurt het voertuig met verschillende commando's:
// Bewegingscommando
{
action: 'move',
direction: 'vooruit'
}
// Sensor beheer
{
action: 'toggleSensor',
sensor: 'temperatuur'
}
// Slaapstand beheer
{
action: 'toggleSleep'
}Belangrijke Functies
Bewegingscontrole
move: Beweegt het voertuig in een specifieke richting (vooruit, achteruit, links, rechts)stop: Stopt alle beweging
Sensor Beheer
toggleSensor: Activeert of deactiveert specifieke sensoren- Beschikbare sensoren:
- Temperatuur (🌡️): Meet omgevingstemperatuur (-50°C tot 50°C)
- Camera (📸): Visuele waarnemingen
- Druksensor (📊): Meet atmosferische druk
- Stralingssensor (☢️): Meet stralingsniveaus
Slaapstand Management
toggleSleep: Schakelt tussen actieve en slaapstand- Slaat vorige status op bij slaapstand
- Herstelt status bij ontwaken
Batterij Systeem
- Simuleert batterijverbruik tijdens beweging en sensorgebruik
- Laadt op tijdens slaapstand
- Waarschuwt bij laag batterijniveau
Grondstof Detectie
- Detecteert automatisch grondstoffen tijdens beweging
- Mogelijke grondstoffen:
- Water
- Mineralen
- Gesteente
- IJs
Voorbeelden
Bewegingscommando
fetch('/action', {
method: 'POST',
body: JSON.stringify({
action: 'move',
direction: 'vooruit'
})
});Sensor Activeren
fetch('/action', {
method: 'POST',
body: JSON.stringify({
action: 'toggleSensor',
sensor: 'temperatuur'
})
});Status Updates
De frontend vraagt elke 5 seconden de status op van het voertuig:
setInterval(async () => {
const response = await fetch('/status');
const status = await response.json();
updateInterface(status);
}, 5000);Error Handling
De applicatie handelt verschillende fouten af:
- Ongeldig commando
- Voertuig in slaapstand
- Sensor niet beschikbaar
- Kritiek batterijniveau
Technische Vereisten
- Node.js
- Express.js
- Modern web browser met JavaScript enabled
Installatie
npm install
npm startDe applicatie draait standaard op http://localhost:3000
License
ISC License
