RealPhone

Dessa blev ej nominerade för omröstningen
sp4m
Inlägg: 57
Blev medlem: 15 juli 2009, 22:48:14
Ort: Alingsås

RealPhone

Inlägg av sp4m »

Projekt RealPhone blev tyvärr aldrig 100% klart. Jag kom så pass långt att jag vet att alla delar fungerar, men det återstår lite finlir för att få fram en godkänd slutprodukt. Detta gäller framför allt programmering på PC sidan, men även viss programmering på µC sidan och caddning av ett mönsterkort. Här är iaf resultatet. Det är mer än tillräckligt för vem som helst med lite elektronik och programmeringskunskaper att bygga vidare på. Jag skall förhoppningsvis själv färdigställa projektet så småningom, chansen till detta är betydligt större om någon visar intresse för att så sker.

Schemat är ritat i Tinycad (http://tinycad.sourceforge.net/) som är ett jättebra program att rita schema i.

Kod till Atmel kompileras med avr-libc (http://www.nongnu.org/avr-libc/). Görs detta i windows rekommenderas WinAVR (http://winavr.sourceforge.net/).

PC applikationen kompileras med QT (http://qt.nokia.com/products).

Projektet i sin helhet kan laddas ned på:
http://cid-3e392e126b6fa166.skydrive.li ... lPhone.zip
Där återfinns komponentlista, schema, källkod mm.

Funktionsbeskrivning
Tanken med projektet var att koppla en vanlig hederlig tonvalstelefon till datorn och använda den tillsammans med Skype. Alltså en sådan telefon man i vanliga fall kopplar i telejacket. Elektroniken skapar en sorts telefonlinje som ansluts till datorns line-out och line-in på ljudkortet. Detta fungerar utmärkt, man hör ljudet från datorn i telefonluren, och pratar man i telefonens mikrofon så kan datorn ta del av detta ljud. Det går med andra ord att genomföra ett Skype-samtal med telefonluren.

Microprocessorn kodar också av eventuella tangenter som trycks ned på telefonen med hjälp av en DTMF-avkodarkrets. Varje siffra som trycks ned skickas sedan till datorns COM-port via ett RS232 interface. Applikationen i datorn tar emot dessa siffror till en ruta i programmet som är förinställ med +46 och alla siffror fylls på efter detta. Trycker man sedan på ”Call”-knappen så gör applikationen en förfrågan hos Skype (om Skype är igång) att starta ett samtal.

Så långt fungerar det alltså att både ringa upp med telefonen och prata i telefonen. Dock är det inte speciellt användarvänligt. Man måste manuellt trycka på ”Call”-knappen, man måste dessutom först ansluta med ”Connect”-knappen.

Jag har lagt till hårdvara för att skapa en kopplingston när man lyfter luren, men jag har inte implementerat detta i microprocessorns mjukvara ännu. Man kan också om man vill montera en USB-kontakt istället för RS232 interfacet och med hjälp av mjukvara i microprocessorn (och i Pcn) kommunicera över USB istället. Förslagsvis implementerar man då kod från ett bibliotek som heter V-USB och är licensierat under GNU. Jag har dock inte gjort någonting med detta ännu.

Från början hade jag tänkt att om någon startar ett samtal i Skype så skulle det ringa i telefonen. Detta var dock svårt att implementera på de 40 komponenter och 200kr som fanns att tillgå. Detta ströks därför tyvärr men kanske kommer att tillkomma i en framtida revision. Kort sagt så måste man skapa en ~50V sinusspänning för att telefonen skall ringa.

Det finns som sagt mycket att önska vad gäller PC applikationen. Jag hade löst detta om jag gett det mer tid, men jag är konstruktör, inte programmerare och det gör sig ganska tydligt i detta projekt.

Det går säkert att göra många smarta lösningar för att få ned komponentantalet, men jag har inte lagt den tid på detta som jag borde gjort. Jag brukar medvetet slösa med komponenter i schemat, för att sedan kunna välja att inte montera vissa komponenter på kretskortet. Jag kom dock aldrig så långt att jag rationaliserade bort speciellt många komponenter.

Jag hann aldrig med att cadda och etsa något mönsterkort så jag jobbade med mitt gamla kära kopplingsdäck.
Bild

Schema sida 1
Bild

Schema sida 2
Bild

Skärmdump vid anslutning till Skype
Bild

Skärmdump, ansluten till Skype
Bild

Skärmdump, kopplar upp ett samtal
Bild



Hoppas någon tycker detta verkar intressant. Vill någon fortsätta på någon del i detta projekt eller hela projektet så hjälper jag gärna till att förklara mer och ge tips.

Mvh Albin Dennevi
Låst