Dit project is een netwerkgebaseerd intercomsysteem waarbij een Raspberry Pi als zender en een Google AIY Voice Kit als ontvanger fungeert. Het systeem streamt live audio in real-time via een lokaal netwerk met Python, UDP-sockets en multithreading. De receiver speelt de audio af via een speaker en beschikt over een fysieke mute/unmute-knop en LED-indicatoren die de status tonen.
Voor meer informatie over de Google AIY Voice Kit, zie: https://aiyprojects.withgoogle.com/voice/#connect
Er zijn twee manieren om te connecteren met de AIY Voice Kit:
- Gebruik de AIY Projects app om verbinding te maken met het netwerk
- Via de app kun je het IP-adres van de Voice Kit achterhalen
- Sluit een monitor en muis aan op de AIY Voice Kit
- Configureer de netwerkverbinding direct via de Raspberry Pi interface
- Live audio streaming van zender naar receiver
- Mute / unmute via fysieke knop
- LED-indicatoren tonen systeemstatus
- Multithreading voor gelijktijdig verzenden, ontvangen en statusbeheer
- Python
- UDP-sockets
- Multithreading
- Google AIY Voice Kit
src/
Sender/ # Code voor de zender (Raspberry Pi)
hoofdmodule.py
Receiver/ # Code voor de ontvanger (AIY Voice Kit)
RecieverIntercom.py
tests/ # Unittests
Resources/ # Afbeeldingen en documentatie
- Raspberry Pi (zender) met GPIO-pinnen
- Google AIY Voice Kit (ontvanger)
- Microfoon voor Raspberry Pi
- Speaker (geïntegreerd in AIY Voice Kit)
- 6 drukknoppen voor kamerselectie
- LED's (geïntegreerd in AIY Voice Kit)
- Python 3.x
- Raspberry Pi OS
- AIY Voice Kit OS
Voor de Zender (Raspberry Pi):
RPi.GPIO- GPIO controlsocket- UDP communicatiesubprocess- Audio opname via arecord
Voor de Ontvanger (AIY Voice Kit):
Flask- Web dashboardaiy.board- AIY Board controlaiy.leds- LED indicatorenaiy.voice.tts- Text-to-speechnumpy- Audio processingsocket- UDP communicatie
git clone <repository-url>
cd Intercomsudo apt-get update
sudo apt-get install python3-rpi.gpio alsa-utils
pip3 install numpypip3 install flask numpy
# AIY libraries zijn standaard geïnstalleerd op AIY OSPas in src/Sender/hoofdmodule.py de IP-adressen aan naar je eigen netwerk:
ROOMS = {
1: ("192.168.1.101", 50001),
2: ("192.168.1.102", 50002),
3: ("192.168.1.103", 50003),
4: ("192.168.1.104", 50004),
}cd src/Receiver
python3 RecieverIntercom.pyHet web dashboard is beschikbaar op http://<AIY-IP>:5000
cd src/Sender
python3 hoofdmodule.py- Druk op een kamerknop (1-4) om naar een specifieke kamer te streamen
- Druk op de "Alle kamers" knop om naar alle kamers tegelijk te streamen
- Druk op de sirene knop voor een alarmsignaal
- Gebruik de mute-knop op de AIY Voice Kit om audio te dempen
- Beheer volume via het web dashboard
BTN_ROOM1 = 17
BTN_ROOM2 = 6
BTN_ROOM3 = 13
BTN_ROOM4 = 19
BTN_ALL = 27
BTN_SIREN = 21
- Ingebouwde speaker
- Ingebouwde LED-ring voor statusweergave
- Hardware mute-knop
- Sample Rate: 16000 Hz
- Kanalen: Mono (1)
- Format: S16_LE (16-bit signed little-endian)
- Chunk Size:
- Zender: 4096 bytes
- Ontvanger: 2048 bytes
- UDP Port ontvanger: 50007 (standaard)
- Web Dashboard: 5000 (HTTP)
- Groen: Systeem actief, geen audio
- Blauw: Audio wordt ontvangen
- Rood: Mute actief
- Controleer of beide apparaten op hetzelfde netwerk zitten
- Verify IP-adressen in de configuratie
- Check firewall instellingen (UDP poort 50007 moet open zijn)
- Verhoog de CHUNK size
- Controleer netwerklatency
- Zorg voor een stabiele WiFi verbinding
sudo pip3 install --upgrade RPi.GPIO- Herstart de AIY Voice Kit
- Controleer of de AIY libraries correct geïnstalleerd zijn
- Bekijk logs via het web dashboard
- Encryptie voor audiostream
- Mobile app
- Betere manier om te configureren
