Project Pentti

"To boldly go where no webcam has gone before!"

Yleistä projektista

Project Pentti on wlan- tai 3G-yhteyden yli kauko-ohjattava auto.

... älkää kysykö projektin tarkoitusta.

Sana tai pari tekniikasta

Yhteys laitteeseen muodostetaan Internetin (tai paikallisverkon) yli. Yhteysprotokollana toimii TCP/IP, jonka päällä oma satunnainen tekstiprotokolla. Itse ajoneuvossa verkkoliikennettä hoitaa Nokia N810, ja softana häärää hyvin pikaisestä väsätty python-softa. PC-puolella virkaa toimittaa SDL/SDL_net-ohjelma (myös hieman sekalainen värkki.). Itse laitteen ohjausta hallitaan Logitechin Gamepadilla.

Servoja ohjaa PIC16F877/20MHz-mikrokontrolleri, joka on yhdistetty N810:n sarjaväylän kautta. Servoille oikeanlaista signaalia antaa kaksi kontrollerista löytyvää PWM-moduulia. Mikrokontrolleri on hieman ylitehoinen, ja sallisi melko helposti servojen lisäämisen (tosin pitäisi toteuttaa muulla tavalla kuin laitteen pwm-moduulien kautta). Servoina toimii kaksi Hitechin HS-422-lentokoneservoa.

Webcam on logitechin C120, joka käyttää linuxin uvcvideo-ajuria. N810 ei ajuria normaalisti sisällä (kuten ei myöskään käytettyä FTDI:n usb-rs232-muunninta), joten kyseiset moduulit piti kääntää käsin ja ladata laitteelle. Videota streamaa laitteelta uvc_stream-sovellus, ja streami siirtyy mjpeg-muodossa. Nokialaisen USB kontrolleria täytyy käyttää PIO-moodissa, sillä DMA-siirrot ovat rajoitettuja, ja esim. uvcvideo-moduuli ei näillä dma:n rajoituksilla suostukaan toimimaan. Tämä luonnollisesti johtaa siihen, että kaikki siirrot ovat prosessorirajoitteisia, ja toimivin webcamin tarkkuus onkin 320x240, kolmella kuvalla sekunnissa. USB:n kanssa ongelmana oli myös se, että nokialaisessa on vain 1 usb-portti, jonka virtarajoitus host-moodissa on 200mA. Tällä virtamäärällähän ei paljon juhlita, joten oli hankittava erillinen viiden voltin aktiivinen hubi, johon syötetään virtaa samasta akusta josta servot sekä mikrokontrolleri saavat virtansa.

Ongelmia/parannettavaa

Sorsat & kernel

Olen tietoinen koodin laadusta. Ei tarvitse sanoa mitään :P

N810:lle tekemäni kernel-image sekä moduulit löytyvät täältä. EN TAKAA NÄIDEN TOIMIVUUTTA! JOS LAITTEESI HAJOAA TAI KIELTÄYTYY TOIMIMASTA, SE ON OMA VIKASI!

Muuta

Kiitokset #naapurinpoika (@IRCNet) -kanavalle kameran testailussa auttamisesta, sekä Tommi Teistelälle kameran lainaamisesta laitteen videokuvaamiseen Youtubea varten.

Mediaa

Youtubessa:

Kuvia projektin eri vaiheista:
No Alt No Alt No Alt No Alt No Alt No Alt No Alt

© Katajakasa@IRCNet / Tuomas Virtanen (tuomas piste virtanen ät jyu piste fi) -2010