D.R.O.L.MISSION CONTROL
DEINE DROHNE. DEINE MÖGLICHKEITEN.

Mehr rausholen.
Weniger suchen.

Du hast eine Drohne? Wähle dein Modell, dein Ziel und entdecke konkrete nächste Schritte. Technische Möglichkeiten werden nicht als bestätigte Kompatibilität ausgegeben, solange die Quellenlage das nicht hergibt.

Öffentlicher MariaDB-Katalog

Aus realen Einsatzszenarien abgeleitet

Schrittfolge passt sich an

DEIN NÄCHSTER SCHRITT

Mission wird vorbereitet …

QUELLEN & TRANSPARENZ

Modell auswählen

Lade Daten …

Ein Datenbankeintrag ist kein Nachweis für SDK-Unterstützung oder technische Freigabe.

TECHNISCHE PROJEKTTIEFE

Dein Projekt: Prüfpfad und Ergebnis

Wähle oben Modell und Einsatzziel. Die Checkliste zeigt die notwendigen Nachweise, nicht vermeintlich vorhandene Gerätefunktionen.

PRAXIS / DIREKT EINSTEIGEN

Vier konkrete Missionen statt Theorie

Starte mit einem realistischen Einsatzszenario. Das passende Ziel und die DJI Mini 4 Pro werden in Mission Control vorausgewählt, soweit der Katalog sie enthält.

01 / GASTRONOMIE

Außenaufnahmen für Webseiten

Standort, Licht, Flugfreigabe, Kameraperspektiven und wiederholbare Bildserien planen.

02 / IMMOBILIEN

Gebäude & Dach dokumentieren

Fotopositionen, Bildmaßstab und nachvollziehbare Inspektionsdokumentation vorbereiten – ohne unbelegte Vermessungsversprechen.

03 / 3D-DATEN

Photogrammetrie testen

Überlappende Bildserien, Referenzstrecken und Offline-Rekonstruktion als reproduzierbaren Versuch planen.

04 / KI & ENTWICKLUNG

Bildanalyse aufbauen

Testbilder, Datenschutz, Fehlerraten und manuelle Ergebniskontrolle für KI-Workflows strukturieren.

SUPPORT / WIR HELFEN WEITER

Du kommst nicht weiter? Frag uns direkt.

Deine bisherige Auswahl aus Mission Control wird übernommen. Ergänze nur dein Problem und teile die fertige Anfrage. Keine Registrierung, keine erneute Eingabe des Drohnenmodells.

ODPC kontaktieren →FAQ öffnen →

Drohne, Ziel und Erfahrung werden automatisch übernommen. E-Mail oder WhatsApp öffnet die fertige Nachricht zur Prüfung und zum manuellen Absenden.

Datenschutz: Es wird hier nichts automatisch versendet oder gespeichert. Teilen öffnet – falls unterstützt – das Teilen-Menü deines Geräts. E-Mail und WhatsApp öffnen eine vorausgefüllte Nachricht an ODPC. Erst durch dein Absenden wird sie übermittelt.

04 / DEIN ERGEBNIS · SOFORT NUTZBAR

Dein persönlicher Missionsplan

Deine Auswahl wird direkt in einen konkreten Projektplan übertragen. Du kannst ihn herunterladen, kopieren oder mit den passenden Fachbereichen weiterarbeiten. Keine Anmeldung erforderlich.

Missionsplan wird vorbereitet …
Drohnen & Technik prüfen →Im Entwicklerlabor weitermachen →Gelände & Sondeln erkunden →

Wähle oben dein Modell und dein Einsatzziel. Dein Ergebnis aktualisiert sich automatisch.

LIVE-WISSENSMONITOR · AUTOMATISCH AKTUALISIERT

Was ist neu bei D.R.O.L.?

Aktuelle Daten werden geladen …

Modellbestand
–

Noch kein bestätigter Export

Bestätigte Veranstaltungen
–

Prüfe Veranstaltungskalender

Neue Software-Releases · ungeprüfte Hinweise (E0)

Lade offizielle Release-Meldungen …

Daten werden beim Öffnen und alle fünf Minuten neu abgerufen. Keine erfundenen Meldungen; ohne Änderungsprotokoll wird kein Datenwachstum behauptet.

LIVE / DATENBESTAND
–

Warte auf aktuellen Export …

DEIN WEG WEITER

Vom ersten Flug zum eigenen Projekt

Beginne mit einer Mission. Dokumentiere Ergebnisse, prüfe technische Grenzen und entwickle daraus deinen persönlichen Workflow.

Offene Plattformen & Entwicklerwerkzeuge →
';var w=window.open('','_blank');if(!w){$('mission-result-status').textContent='Pop-up blockiert. Bitte Browser-Pop-ups erlauben.';return}w.document.write(html);w.document.close()}function escapeHtml(x){return String(x).replace(/[&<>"']/g,function(c){return {'&':'&','<':'<','>':'>','"':'"',"'":'''}[c]})}function missionShare(){var value=missionText();if(navigator.share){navigator.share({title:'D.R.O.L. Missionsplan',text:value}).catch(function(){})}else if(navigator.clipboard){navigator.clipboard.writeText(value).then(function(){$('mission-result-status').textContent='Plan kopiert – jetzt teilen.'})}}function renderProject(m,goal){var host=$('project-checklist');host.replaceChildren();var name=m?m.manufacturer+' '+m.name:'noch kein Modell geladen';var header=document.createElement('p');header.textContent='Auswahl: '+name+' · '+$('goal').selectedOptions[0].textContent;host.appendChild(header);(checklists[goal]||[]).forEach(function(step,i){var d=document.createElement('div');d.className='mission';var h=document.createElement('h3');h.textContent=(i+1)+'. '+step;d.appendChild(h);var p=document.createElement('small');p.textContent='Prüfaufgabe · Modellunterstützung nicht vorausgesetzt';d.appendChild(p);host.appendChild(d)});var sources=Array.isArray(m&&m.sources)?m.sources:[];var state=$('model-readiness');state.textContent=m?(sources.length?'Quellen hinterlegt: '+sources.length+' · technische Freigabe daraus nicht ableitbar':'Keine Modellquellen hinterlegt: zuerst Herstellerdokumentation ergänzen'):'Noch kein Modell geladen: technische Prüfung ausstehend'} function render(){var m=models[Number($('model').value)],goal=$('goal').value,p=plans[goal],steps=level==='start'?p.slice(0,2):level==='advanced'?p.slice(0,3):p;$('missiontitle').textContent=p[0];$('missions').replaceChildren();steps.slice(1).forEach(function(s,i){var d=document.createElement('div');d.className='mission';var h=document.createElement('h3');h.textContent=(i+1)+'. '+s;d.appendChild(h);var small=document.createElement('small');small.textContent='Praxisaufgabe · kein Nachweis der Modellkompatibilität';d.appendChild(small);$('missions').appendChild(d)});$('selectedmodel').textContent=m?m.manufacturer+' '+m.name:'Modell auswählen';$('modeldetail').replaceChildren();$('sources').replaceChildren();if(m){var p=document.createElement('p');p.textContent='Kategorie: '+(m.category||'nicht angegeben')+' · Prüfstatus: '+(m.verification_status||'unbekannt');$('modeldetail').appendChild(p);(Array.isArray(m.sources)?m.sources:[]).slice(0,8).forEach(function(url){try{var u=new URL(url);if(u.protocol!=='https:')return;var a=document.createElement('a');a.href=u.href;a.target='_blank';a.rel='noopener noreferrer';a.textContent=u.hostname+' / Quelle öffnen';$('sources').appendChild(a)}catch(e){}});if(!$('sources').children.length)$('sources').textContent='Keine öffentlichen Modellquellen hinterlegt.'}else $('modeldetail').textContent='Bitte Modell auswählen.';renderProject(m,goal);updateMissionOutput()}async function load(){try{var r=await fetch('data/models-db.json',{cache:'no-store'});if(!r.ok)throw Error('HTTP '+r.status);var data=await r.json();if(!Array.isArray(data.models)||!Number.isInteger(data.model_count)||data.model_count!==data.models.length)throw Error('Unvollständiger Katalog');models=data.models;$('model').replaceChildren();models.forEach(function(m,i){var o=document.createElement('option');o.value=String(i);o.textContent=(m.manufacturer||'')+' '+(m.name||'');$('model').appendChild(o)});var wanted=models.findIndex(function(m){return /mini 4 pro/i.test(m.name)});if(wanted>=0)$('model').value=String(wanted);$('modelcount').textContent=String(data.model_count);$('updated').textContent='Datenbankexport: '+(data.generated_utc?new Date(data.generated_utc).toLocaleString('de-DE',{timeZone:'Europe/Berlin'}):'Zeitpunkt unbekannt');$('modelstatus').textContent='Katalog geladen · '+data.model_count+' Modelle';render()}catch(e){$('modelstatus').textContent='Live-Katalog nicht erreichbar – bitte später erneut versuchen';$('model').replaceChildren();var o=document.createElement('option');o.textContent='Keine aktuellen Daten';$('model').appendChild(o);$('updated').textContent='Kein bestätigter Live-Bestand verfügbar';render()}}$('project-copy').addEventListener('click',function(){var m=models[Number($('model').value)],goal=$('goal').value;var lines=['D.R.O.L. Projektprüfung',m?m.manufacturer+' '+m.name:'Modell unbekannt',$('goal').selectedOptions[0].textContent,'Prüfstatus: unbestätigt'].concat(checklists[goal]||[]);var value=lines.join('\n');if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(value).then(function(){$('project-copy-status').textContent='Checkliste kopiert'},function(){$('project-copy-status').textContent='Kopieren nicht möglich'})}else $('project-copy-status').textContent='Zwischenablage nicht verfügbar'});$('model').addEventListener('change',render);$('goal').addEventListener('change',render);$('levels').addEventListener('click',function(e){var b=e.target.closest('button[data-level]');if(!b)return;level=b.dataset.level;$('levels').querySelectorAll('button').forEach(function(x){x.setAttribute('aria-pressed',String(x===b))});render()});async function loadReleases(){try{var response=await fetch('data/releases.json',{cache:'no-store'});if(!response.ok)throw Error('HTTP '+response.status);var d=await response.json();if(d.schema_version!==1||!Array.isArray(d.releases))throw Error('invalid feed');$('release-list').replaceChildren();d.releases.slice(0,12).forEach(function(item){try{var u=new URL(item.url);if(u.hostname!=='github.com'||u.protocol!=='https:')return;var p=document.createElement('p');var a=document.createElement('a');a.href=u.href;a.target='_blank';a.rel='noopener noreferrer';a.textContent=String(item.product)+' '+String(item.version);p.appendChild(a);p.appendChild(document.createTextNode(' · E0 / ungeprüft · Kompatibilität unbekannt'));$('release-list').appendChild(p)}catch(e){}});$('release-status').textContent=d.releases.length+' Release-Meldungen · Datenstand: '+(d.generated_utc?new Date(d.generated_utc).toLocaleString('de-DE',{timeZone:'Europe/Berlin'}):'unbekannt')}catch(e){$('release-status').textContent='Release-Feed noch nicht erreichbar';$('release-list').replaceChildren()}}async function loadKnowledge(){var status=$('knowledge-status');status.textContent='Live-Feeds werden geprüft …';var results=await Promise.allSettled([fetch('data/models-db.json',{cache:'no-store'}).then(function(r){if(!r.ok)throw Error('HTTP '+r.status);return r.json()}),fetch('data/events.json',{cache:'no-store'}).then(function(r){if(!r.ok)throw Error('HTTP '+r.status);return r.json()})]);var ok=0;if(results[0].status==='fulfilled'&&Array.isArray(results[0].value.models)){var d=results[0].value;$('knowledge-models').textContent=String(d.models.length);$('knowledge-model-date').textContent='Letzter Datenexport: '+(d.generated_utc?new Date(d.generated_utc).toLocaleString('de-DE',{timeZone:'Europe/Berlin'}):'Zeit unbekannt');ok++}else{$('knowledge-models').textContent='–';$('knowledge-model-date').textContent='Modellfeed nicht erreichbar'}$('knowledge-event-list').replaceChildren();if(results[1].status==='fulfilled'&&Array.isArray(results[1].value.events)){var events=results[1].value.events.filter(function(e){return e&&e.start&&Number.isFinite(Date.parse(e.start))&&new Date(e.start)>=new Date()});$('knowledge-events').textContent=String(events.length);$('knowledge-events-date').textContent=events.length?'Zukünftige Einträge aus geprüftem Feed':'Derzeit keine bestätigten zukünftigen Einträge';events.slice(0,5).forEach(function(e){var p=document.createElement('p');p.textContent=new Date(e.start).toLocaleString('de-DE',{timeZone:'Europe/Berlin'})+' · '+String(e.title||'Veranstaltung')+' · ';try{var u=new URL(e.url);if(u.protocol==='https:'){var link=document.createElement('a');link.href=u.href;link.target='_blank';link.rel='noopener noreferrer';link.textContent='Originalquelle';p.appendChild(link)}}catch(err){}$('knowledge-event-list').appendChild(p)});ok++}else{$('knowledge-events').textContent='–';$('knowledge-events-date').textContent='Veranstaltungsfeed nicht erreichbar'}status.textContent=ok===2?'Beide Live-Datenquellen erreichbar · geprüft '+new Date().toLocaleTimeString('de-DE',{timeZone:'Europe/Berlin'}):'Live-Daten teilweise oder vollständig nicht erreichbar · '+ok+' von 2 Quellen geladen'}$('knowledge-refresh').addEventListener('click',function(){loadKnowledge();loadReleases()});loadKnowledge();loadReleases();document.addEventListener('visibilitychange',function(){if(!document.hidden){loadKnowledge();loadReleases()}});setInterval(function(){if(!document.hidden){loadKnowledge();loadReleases()}},300000);$('reload').addEventListener('click',load);load();setInterval(function(){if(!document.hidden)load()},300000)})();