Roomberry: Een Roomba-aangedreven Surveillance Robot Bouwen met Raspberry Pi Zero W
Roomberry is een aangepaste surveillance-robot die een iRobot Roomba transformeert in een mobiel cameraplatform aangedreven door een Raspberry Pi Zero W en een CSI-cameramodule.
In deze gids leer je hoe je de Roomba's Open Interface (OI) bedraadt, de Pi voedt vanuit de Roomba-batterij, de Raspberry Pi configureert voor headless-werking, en een compacte behuizing bouwt die je volledige toegang geeft tot alle poorten.
Om Roomberry in actie te zien, bekijk de demovideo die de beweging van de robot, live-streamende camera en web-gebaseerde controle-interface toont.
De Roomba OI Begrijpen
De iRobot Roomba 600/700/800 series blootstelt een mini-DIN connector die de Open Interface (OI) implementeert. De OI is een twee-richtings TTL-seriële link (115.200 baud) waarmee je bewegingscommando's kunt sturen, sensordata kunt lezen, en de LED's en spreker van de robot kunt besturen.
De OI ondersteunt vier werkmodi:
- Uit – De standaardstaat. De robot luistert naar een
Startcommando. - Passief – Je kunt sensoren lezen maar geen motoren besturen.
- Veilig – Volledige motorbesturing met veiligheidschecks (afgrond, wiel-val, lader).
- Volledig – Volledige motorbesturing zonder veiligheidschecks – gebruik met voorzichtigheid.
In Passieve modus slaapt de robot automatisch na vijf minuten inactiviteit. Veilige en Volledige modi houden de robot oneindig wakker, dus onthoud om terug te keren naar Passief of Uit zodra een taak klaar is om de batterij te beschermen.
Seriële Verbinding & Logica Niveau Conversie
De Roomba's TxD-pin levert 5V uit, wat een Raspberry Pi Zero W's 3,3V logica kan beschadigen. Gebruik een bi-directionele logica-niveau-converter (bijv. Adafruit's bidirectional level shifter) of een weerstandsdeler voor lage-snelheidsdata. De converter moet 115.200 baud aan kunnen, dus een actief apparaat wordt aanbevolen.
De Raspberry Pi Voeden vanuit de Roomba
Direct gebruik van de mini-DIN 7 voedingspinnen (Vcc – Gnd) is beperkt tot 200mA door een PTC herstelbare zekering. De Pi Zero W alleen kan draaien op 150-180mA, maar de camera voegt 300-450mA piekbelasting toe, wat de zekering herhaaldelijk deed afgaan.
De oplossing is om de zekering te omzeilen en de batterijpads op het moederbord van de Roomba aan te tappen. Na gedeeltelijke demontage, soldeer een paar kabels aan de batterijpad. Dit levert de volledige 10-20,5V uitgang, wat moet worden afgeregeld naar 5V.
We raden een schakelende buck-regulator aan zoals de Pololu D24V5F5. Het accepteert tot 36V, levert 5V met 85-90% efficiëntie, en ondersteunt 500mA – genoeg voor de Pi Zero en camera. Verbind de uitgang van de regulator met een micro-USB-kabel die in de voedinginput van de Pi plugt.
Behuizing & Hardware Layout
Voor een schone build gebruiken we een 12 × 10 pin PCB als een kleine HAT die de logica-niveau-converter, een momentane resetknop en de Pi Zero W huisvest. De behuizing is een standaard Raspberry Pi behuizing gemodificeerd met een uitknip voor de micro-USB-kabel en een gat voor de CSI-cameraconnector.
De resetknop is aangesloten op de RUN-pin van de Pi, zodat je het systeem kunt herstarten zonder voeding te ontkoppelen.
Raspbian Configureren (Stretch Lite)
1. Schakel de seriële console uit: raspi-config –> Interfacing Options –> Serial (stel "Nee" in voor login shell, "Ja" voor UART). Of bewerk /boot/config.txt om console=serial0,115200 uit te commentariëren en enable_uart=1 toe te voegen.
2. Activeer de camera: raspi-config –> Interfacing Options –> Camera of stel start_x=1, gpu_mem=128, disable_camera_led=1 in /boot/config.txt in.
3. Schakel swap uit en koppel /tmp als een 50MB RAM-disk. Pas /etc/fstab en commit_time=30 aan om slijtage op de SD-kaart te verminderen.
4. Optionele energiebesparende tweaks: schakel HDMI uit (tvservice -o), schakel de activiteits-LED uit, en schakel Bluetooth uit (dtoverlay=pi3-disable-bt).
De Seriële Interface Testen
Installeer minicom (sudo apt-get install minicom) en verbind met de seriële poort van de Roomba:
minicom -b 115200 -o -D /dev/serial0
Als de robot in de dock zit, zou je een live stream van sensordata moeten zien. Druk Ctrl-A dan X om af te sluiten.
Roomberry Draaien
Met de Pi gevoed, camera ingeschakeld, en de seriële link gevestigd, kun je nu het Roomberry-besturingsscript lanceren (niet hier inbegrepen). De webinterface stelt je in staat om beweging te bevelen, afbeeldingen vast te leggen en video te streamen.
Voor een complete walkthrough, bekijk de demovideo en volg de bovenstaande stapsgewijze instructies.
Veiligheidstips
- Zet de robot altijd terug in Passieve of Uit-modus na gebruik om diepe batterijontlading te voorkomen.
- Gebruik een betrouwbare buck-regulator; goedkope Chinese clones kunnen onbetrouwbaar zijn.
- Bij het aantappen van de batterijpads, controleer polariteit dubbel en houd de bedrading netjes om kortsluiting te voorkomen.
- Voorzie een verse, hoge-capaciteit microSD-kaart om de levensduur te verlengen.
Productieproces
- ROCR: Een lichtgewicht, energie-efficiënte robot die muren beklimt als een gibbon
- Een Arduino-aangedreven Robot Bouwen met Raspberry Pi: Een Stap-voor-Stap Gids
- BrickPi Bookreader: Kindle Lezen Automatiseren met Raspberry Pi en LEGO Mindstorms
- DIY Wall-E Geïnspireerde Raspberry Pi CD-Doos Robot
- Rollende Alarmrobot: Een Slim, Mobiel Wakker-systeem Aangedreven door Raspberry Pi en Google Calendar
- Bouw een gemotoriseerde Minecraft Creeper-robot met Arduino
- Archimedes: De Emotie-Detecterende AI Robot Uil
- Roomberry: Een Roomba-aangedreven Surveillance Robot Bouwen met Raspberry Pi Zero W
- Bouw een Spraak-gestuurde Computer Vision Robot op Windows 10 IoT Core
- ROS Robot: Terminal-gecontroleerde Navigatie op Raspberry Pi
- Simple Pi Robot – Bouw een 2-WD Autonome Rover met Raspberry Pi