Hoe maak je van een oude Android-telefoon een slim AI-gestuurd bewakingssysteem
Bijna elk huishouden heeft wel een oude Android-smartphone die stof ligt te verzamelen in een lade. Het scherm is intact, de camera is redelijk, maar de batterij gaat nog maar half zo lang mee of de processor kan moderne apps niet meer aan. Meestal worden deze apparaten doorgegeven aan familieleden of voor altijd vergeten. Onlangs stuitte ik op een interessante repository CCTV-Smartphone-AI-Monitoring (de auteur noemt het systeem Sentinel), die een manier biedt om dit apparaat nuttig te gebruiken.
Het project legt video vast van de smartphone via het lokale netwerk, voert opnames uit op een pc en koppelt multimodale neurale netwerken om te herkennen wat er in het beeld gebeurt.

Wat zit er onder de motorkap bij Sentinel
Het idee om een smartphone om te toveren tot bewakingscamera is niet nieuw, maar de meeste kant-en-klare oplossingen stuiten op twee problemen: of ze zijn vergrendeld tot betaalde Chinese cloudservices, of ze bieden een kale RTSP-stream zonder fatsoenlijke analyses. Sentinel lost beide problemen tegelijk op.
Het systeem is opgedeeld in twee delen:
- CamFlow — een lichtgewicht app voor Android 8.0+ die de camerabeelden vastlegt en JPEG-frames via HTTP POST naar de server stuurt.
- Een Python-servercomponent (Flask + OpenCV) — ontvangt de stream, houdt een framebuffer bij, organiseert browserstreaming, schrijft archieven naar schijf en beheert AI-aanroepen.
Alle video en logs blijven strikt binnen je lokale netwerk. Alleen individuele frames worden extern verzonden als je besluit een cloud-neuraal netwerk te koppelen voor gebeurtenisanalyse.

Hoe de token-efficiënte pipeline werkt
Een 25 fps-videostream rechtstreeks invoeren in een modern multimodaal neuraal netwerk kost elke ontwikkelaar een flinke duit. De Sentinel-auteur koos voor een bewezen tienlaagsaanpak:
Ten eerste regelt klassieke computer vision op basis van OpenCV de show. De motion_trigger-module berekent het verschil tussen opeenvolgende frames. Zolang er niets gebeurt in de kamer, blijft de server in de SLEEP-status en verbruikt geen API-resources.
Zodra de beweging de ingestelde drempel overschrijdt, schakelt het systeem over naar de OBSERVE-status. Dan neemt het vision-model het over. Het analyseert het frame, controleert op de aanwezigheid van mensen, beoordeelt het risiconiveau en retourneert een strikt JSON-antwoord:
{
"has_person": true,
"person_count": 1,
"activity": "standing",
"risk_level": "info",
"confidence": 0.95,
"summary": "Человек стоит около рабочего стола."
}
Als een persoon daadwerkelijk langer in beeld blijft dan de Dwell Threshold-drempel, wordt de gebeurtenis vastgelegd in de ai_events.jsonl-database en weergegeven op het dashboard. Wanneer de beweging stopt, wacht het systeem op een pauze van End Grace en gaat weer in slaapstand.

Belangrijkste functies van het project
Plug-in-vrije videostreaming. De webinterface levert een live-feed via MJPEG. De latentie via thuis-wifi is minimaal en video opent in elke browser zonder software te installeren.
Flexibele integratie met modelproviders. Het project is oorspronkelijk gebouwd rond de Chinese Volcengine Ark, maar in versie 1.1 voegde de auteur een universele client toe. Nu kun je verbinden met OpenAI (GPT-4o-mini), Google Gemini, DashScope (Qwen VL), SiliconFlow of een lokale gateway met een OpenAI-compatibele API.
Gedragsaanpassing via prompts. De dashboardinstellingen bevatten velden voor langetermijncontext (Scene Profile) en operationele focus (Session Focus). Je kunt rechtstreeks in de webinterface schrijven: "Dit is een laboratori
umgang. Let op of iemand dozen draagt of bij de deur blijft hangen langer dan 10 seconden."
Automatische netwerkdetectie. De CamFlow-app vereist geen handmatige invoer van het IP-adres van de pc — het kan de draaiende server vinden via UDP-broadcast.
Archiefsegmentatie. Video wordt lokaal opgenomen in chunks per timer (bijvoorbeeld segmenten van 5 of 10 minuten) met avc1, mp4v of XVID-codecs om uit te kiezen.

Hoe het project te deployen
Je hebt een pc met Python 3.9+ en een smartphone met Android nodig.
Clone de repository en installeer dependencies:
git clone https://github.com/suzuran0y/CCTV-Smartphone-AI-Monitoring.git
cd CCTV-Smartphone-AI-Monitoring
python -m venv venv
# На Windows: venv\Scripts\activate
# На Linux/macOS: source venv/bin/activate
pip install -r requirements.txt
De dependencies omvatten de standaardset: Flask, OpenCV, NumPy en de Ark SDK-client.
Start de server:
python server.py
De console toont een lokaal adres zoals http://127.0.0.1:5000/ voor de browser en een netwerk-IP http://192.168.x.x:5000/ voor de smartphone.
Installeer de APK uit de PhoneCamSender/CamFlow-v1.0.0-beta.apk-map op je telefoon (of bouw het project via Android Studio — de bron is open). Start het op, geef camera-toegang, maak verbinding met wifi en voer het server-IP in.
Framecapture is standaard uitgeschakeld op het pc-dashboard voor beveiliging. Druk op de Enable Ingest-knop en de livestream verschijnt in de browser.

Je eigen AI-provider aansluiten
Als je AI-analyse wilt inschakelen, zet AI Monitoring aan in het rechterpaneel van het dashboard. Selecteer de juiste Provider, geef de Model ID op en voer de API-sleutel in.
Om bijvoorbeeld te werken met een compatibele lokale server of OpenAI, vul je gewoon de config in:
{
"ai_provider": "openai",
"ai_model": "gpt-4o-mini",
"ai_api_key": "sk-..."
}
Parameters kunnen ook worden doorgegeven via omgevingsvariabelen (AI_PROVIDER, AI_MODEL, AI_API_KEY). De server valideert modelresponsen en zorgt ervoor dat de veldstructuur de webinterface niet breekt.
Waar dit van pas komt
Sentinel is goed geschikt voor kleinschalige lokale experimenten:
- Bewaking van een werkplaats of laboratorium waar je video niet naar cloudservices van derden kunt streamen.
- Verzamelen van een geannoteerde dataset met tekstbeschrijvingen van afwijkende situaties.
- Huisdieren in een appartement in de gaten houden met gestructureerde meldingswaarschuwingen.
- Leren hoe je klassieke CV (bewegingsdetectie) koppelt aan zware LLMs/VLMs zonder excessieve kosten.
Conclusie
Het project bleek een netjes en praktisch technisch prototype te zijn. Er zijn geen zware frameworks of onnodige magie: een duidelijke FrameBuffer-architectuur, werkende pytest-tests en een functionele Android-client meegeleverd.
Als je op zoek bent naar een excuus om een oude telefoon te gebruiken en te experimenteren met multimodale modellen in realtime, bekijk dan de suzuran0y/CCTV-Smartphone-AI-Monitoring repository.
Gerelateerde projecten