English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية 
Computer interfaccia audio a filo basato su rete telefonica
Colin Fahey
phone_speech_system_custom_circuit.jpg
Un computer è in grado di fare chiamate telefoniche vocali utilizzando qualsiasi modem e un semplice circuito.

1. Introduzione

Questo documento descrive come utilizzare qualsiasi convenzionali modem e un semplice circuito di dare qualsiasi personal computer (PC), con qualsiasi sistema operativo, la capacità di collocare le telefonate che implicano l'eventuale interazione vocale.
Un normale modem è utilizzato per attivare il telefono filo andando “fuori gancio,„ e poi rilasciare il telefono filo andando “a gancio (riagganciare).„
Un semplice circuito elettrico che viene utilizzato per fornire qualsiasi dispositivo audio, come ad esempio una scheda audio o il suono di interfaccia di un personal computer (PC), l'accesso ai segnali audio su un filo di telefono.
Così, un personal computer (PC) può avviare una connessione a un numero di telefono, quindi aspettare un umano o un sistema automatizzato per rispondere, quindi avviare una conversazione sulla base di discorso o di altri suoni.
Questo documento è destinato ad hobbisti interessati ad imparare alcune cose circa le apparecchiature elettriche e di protocollo per interagire con il Central Office (CO) di un filo collegato rete telefonica negli Stati Uniti (US).
Ci sono molte tecnologie per consentire alle persone di interagire con sistemi basati sulla voce attraverso telefoni.
Ci sono molti prodotti commerciali e servizi offerti agli associati di gestire tutto con telefono interazione con un database aziendale.
E 'abbastanza facile trovare hardware per gestire molte telefonate a un unico numero.
Ha ampliato la telefonia a Internet, con protocolli come “Voice over Internet Protocol„ (VoIP).
Computer in qualsiasi parte del Internet può essere configurato per interagire con VoIP attraverso il riconoscimento vocale e sintesi vocale.
Questi computer può opzionalmente seguire conversazione vocale diagrammi di flusso espressi in XML file di testo (Voice XML).
Il presente documento non ha nulla a che fare con una qualsiasi di queste soluzioni pratiche per il problema di automatizzare l'interazione vocale con una azienda o organizzazione.
Questo documento è destinato per il divertimento di hobbisti con piccoli budget.

2. Disclaimer

Costruzione di un circuito elettronico, e la connessione ad una rete telefonica, comporta molti rischi.
Lei è responsabile per apprendere tutte le disposizioni legislative, i pericoli e rischi che possono essere applicati.
Il seguente è un elenco di alcune delle problematiche che si devono prendere in considerazione se siete interessati nella costruzione e collaudo di un circuito simile a quello di figurare in questo articolo:
1.  Tutte le informazioni circa le specifiche elettriche del servizio telefonico è valido solo negli Stati Uniti (US).
2.  Suoneria tensione a telefono fili (90 Volt) può danneggiare persone.
Fulmini o diminuito potere fili può portare a tensioni sul telefono fili che può ferire le persone.
3.  Lei è responsabile per eventuali danni a società telefonica circuiti causati dal vostro uso di dispositivi non autorizzati nella vostra casa o in ufficio.
4.  Registrazione di conversazioni telefoniche senza l'approvazione esplicita di tutte le parti coinvolte è contro la legge.
(...  A meno che non siate il governo!  In caso contrario, fare come si dice, e non come fanno!)
5.  Lei è responsabile per eventuali danni al computer provocati da collegare il proprio circuito al computer.
6.  Non si può vendere qualsiasi prodotto destinato ad essere utilizzato con un telefono di rete senza l'approvazione dell'autorità di FCC.
Il presente documento è solo una descrizione delle mie esperienze personali.
Lei è responsabile per l'apprendimento su leggi e dei rischi da autorevoli fonti.

3. Telefono interfaccia audio circuito

Lo scopo del circuito descritte in questa sezione è di consentire audio convenzionali, la registrazione e la riproduzione delle attrezzature, come ad esempio una scheda audio o audio porta su un personal computer (PC), di inviare e ricevere audio nel corso di un filo di terra convenzionali (cablata) collegamento telefonico.
Il telefono e il filo di apparecchiature audio non sono direttamente collegati; di aggancio è solo attraverso trasformatori.
Entrambi i lati della interfaccia sono protetti da eccessive tensioni.
I segnali sono limitati a una gamma di frequenze (larghezza di banda) pertinenti per telefono audio (300 Hz a 3500 Hz).
Il circuito ha solo componenti “passivi;„ tutte le tensioni di guida sono esterne.
Il circuito deve essere utilizzato in combinazione con un modem, telefono, o di altri circuiti in grado di andare “al largo gancio„ (portando la resistenza del filo sufficientemente basso per indicare ai Ufficio centrale (CO) che il filo è in uso).
Sarebbe banale per aggiungere un “largo gancio„ aspetto a questo circuito, ma che hanno un circuito a tutti è già un grande ostacolo per molti hobbisti.
phone_circuit_box01.jpg
Aspetto del circuito assemblati
phone_circuit_board02.jpg
Aspetto il circuito di bordo
phone_circuit_schematic.jpg
Schema del telefono circuito di interfaccia audio
È possibile costruire il dispositivo quasi esattamente come appare sopra se si fanno le seguenti investimenti:
1.  Assicurati di avere strumenti di base: Giraviti, saldatura ferro, coltello;
2.  Visita Radio Shack, l'acquisto di oggetti elencati qui di seguito, per $ 29 dopo le imposte;
3.  Visitare un negozio di hardware, l'acquisto di due dadi, bulloni, rondelle, per $ 1.
4.  Trascorrere circa quattro ore la costruzione del circuito secondo lo schema;
Se non si dispone di esperienza di costruzione di circuiti elettronici, saldatura, fori di perforazione, e fare misurazioni elettriche, non fare di questo il suo primo progetto!
L'unica persona che dovrebbe tentare di costruire questo circuito è la persona che già sa per certo che lui o lei può costruire!

4. Radio Shack: l'onnipresente negozio di elettronica

Radio Shack è una società di elettronica di consumo con negozi di tutto il mondo. Il seguente è un link al loro sito Internet:
http://www.radioshack.com
Sul loro sito Internet una persona può trovare un link chiamato “Electronic Components„, che conduce alla loro catalogo di componenti elettronici e la corrispondente documentazione.
Una persona può trovare i prezzi per le parti.
Una persona può ottenere un elenco dei punti vendita più vicino, e mappe.
Parti può essere ordinato on-line.
Ho deciso di creare la mia semplice circuito utilizzando Radio Shack parti perché questo significa che chiunque altro al mondo può facilmente riprodurre il mio lavoro.
Inoltre, le eventuali offerte da parte Radio Shack è praticamente garantito di essere a disposizione per molti anni ad un basso prezzo.
Ecco un elenco dei Radio Shack parti che ho usato per costruire il circuito, con i numeri di catalogo:
QtyDescriptionSerial #PriceTotal
1Project Enclosure (6"x3"x2") #270-1805$ 3.79$ 3.79
1Surface Mount Modular Jack (RJ11/RJ14) #279-0202$ 4.99$ 4.99
13-Conductor Stereo 1/8th" Phone Jack (Pkg.2) #274-0249$ 2.99$ 2.99
1Component PC Board (71x94mm), 750 holes #276-0158$ 2.99$ 2.99
2Audio Isolation Transformer (1:1) #273-1374$ 3.99$ 5.98
2Metalized-Film Capacitor 1.0uF, 250WVDC #272-1055$ 1.49$ 2.98
12.2K ohm 1/2W 5% Carbon Film Resistor (Pkg.5)#271-1121$ 0.99$ 0.99
21N4733A, 5.1V, 1.0W Zener Diode (Pkg.2) #276-0565$ 0.99$ 1.98
SUBTOTAL: $26.69
TAX:      $ 2.07 (California 7.75% sales tax)
TOTAL:    $28.76

5. Ace Hardware: la non-così-onnipresente hardware store

Avevo bisogno di bulloni, rondelle, frutta a guscio e per fissare un telefono jack per la plastica caso del mio circuito.
Sono andato a Ace Hardware, ma avrebbe potuto andare a Home Depot, o forse anche un supermercato, per trovare simili parti.
QtyDescriptionPriceTotal
2Bolt No.8-32 4.2mm-32$ 0.17$ 0.34
2Washer No.8 $ 0.10$ 0.20
2Nuts No.8-32 2" $ 0.10$ 0.20
SUBTOTAL: $0.74
TAX:      $0.06 (California 7.75% sales tax)
TOTAL:    $0.80

6. Strumenti e accessori

La seguente tabella elenca alcuni degli elementi di cui avevo bisogno per la costruzione e l'uso del circuito:
Soldering iron $ 5.00 (approx)
Solder $ 3.00 (approx)
Precision knife $ 3.99
Wires $ 1.00 (approx)
Telephone extension cord #279-0374 $ 5.79
Male-Male mini-phono 6' extension cord (qty.2)$ 3.00 (approx)
Four-wire 3-way coupler (RJ11/RJ14) #279-0447 $ 4.99

7. Commenti sul circuito

Non sono un ingegnere elettrico.
Ho studiato vari circuiti telefonici (vedi riferimenti elencati alla fine di questo articolo), estratti vari elementi che sosterranno il mio obiettivi progettuali.
Se si è stati veramente disperata, e il rischio per il tuo PC non è stato un fattore, è possibile collegare un telefono a filo porta il suo suono utilizzando solo un paio di condensatori!
Che è una pessima idea, perché l'inanellamento tensione, e la possibile casuale picchi di tensione sul filo di telefono, può danneggiare i dispositivi non protetti.
I diodi Zener nel mio circuito corto circuito eccessive tensioni.
Avviso che sono di fronte direzioni opposte, in modo che per una determinata tensione applicata a un dato di polarità, uno diodo Zener è pronta a condurre corrente, di solito, e gli altri è pronta per le operazioni temporanee di ripartizione-la tensione dovrebbe superare il rating (ad esempio, 5.1 V) .
Solo quando una tensione supera il reverse-ripartizione tensione di uno dei diodi Zener sarà la coppia in ultima analisi, consentire al flusso di corrente, così corto circuito i fili a cui la coppia di diodi è collegato.
Si noti che questo funziona indipendentemente da dove provengono i segnali.
Corrente alternata (AC) segnali provenienti dal telefono filo che sono maggiori quindi 5,8 volt ( 5.1 V + 0.7 V ) dopo che passa attraverso il trasformatore sarà troncato.
(DC) corrente continua o corrente alternata (AC) segnali audio da una sorgente audio, non il filo di telefono, saranno anche ritagliato a 5.8 Volts.
Così, ogni partito, società telefonica e apparecchiature audio, è protetto da eccessive tensioni provenienti da altre parti.
Il dispositivo è in realtà un paio di circuiti identici.  Sia audio plug possono essere utilizzati per l'ingresso o l'uscita.
In sostanza, sia segnali audio sono accoppiati al telefono unico segnale.

8. Utilizzando un modem ad andare “al largo gancio„

8.1 Lo scopo del modem

Lo scopo del modem in questo sistema è quello di creare uno elettrico condizione che il fornitore di servizi telefonici che verrà riconosciuto come una richiesta di diventare un partecipante attivo nella rete telefonica.
Tale richiesta è chiamato “fuori corso gancio,„ un riferimento ai disegni e modelli originali di telefono che ha richiesto ad un utente di ascensore o un altoparlante portatile off di un gancio.
La richiesta di attivazione è quasi immediatamente concesso, all'interno di una frazione di secondo.
Una volta che il filo diventa attiva, tutti gli altri aspetti della telefonia possono essere condotte attraverso segnali audio.
Anche se la trasmissione di numeri di telefono “(il numero)„ può essere fatto giocando ( *.WAV, *.MP3 ) file audio, audio registrato (DAT, audio CD, nastro), audio o software di sintesi (sin() funzioni), il modem è l'intrinseca capacità di svolgere questa funzione.
Tuttavia, va capito che l'unico scopo di modem è la richiesta di attivazione del filo del telefono.
Se una persona ha un metodo alternativo di simulare il gancio fuori condizione (vale a dire, semplicemente abbassando la resistenza in tutto il telefono a filo), il modem non è necessaria.
Tuttavia, un modem è molto poco costoso, banale, e pratico dispositivo per l'esecuzione di questa funzione.
Il sistema descritto in questo articolo non richiede un modem audio con la registrazione o la riproduzione di capacità, talvolta chiamato “modem di voce.„
Tuttavia, in un'altra sezione di questo articolo parlare e discutere la possibilità di utilizzare un modem di voce come alternativa al personalizzati utilizzando un circuito elettrico.

8.2 Modem tradizionale

Ho scelto di utilizzare un modem esterno fabbricati da Hayes chiamato “Accura„, un V.92 fax-modem con segreteria capacità.
Tutto il modem può essere utilizzato per il sistema descritto in questo articolo.
Volevo un modem esterno semplicemente perché è facile da collegare a qualsiasi computer, e posso portarlo a casa di un amico di utilizzare con i loro laptop o computer desktop.
Anche se è certo importante, anche in considerazione la possibilità che forse un Basic Stamp 2 computer possa utilizzare il RS-232 modem.
Attenzione: porte seriali (RS-232) porti, come PS/2 porti, si stanno gradualmente eliminato, e USB è il nuovo standard.
USB un modem esterni spesso può essere letta da un programma software come se si trattasse di una eredità “COM„ porto dispositivo di driver di periferica forniti con il modem.
C'è un piccolo USB/RS-232 adattatore (~$30) che può essere utilizzato per collegare contemporanea laptop e desktop computer a RS-232 dispositivi.
Quali un adattatore ha un corrispondente driver di periferica per emulare un retaggio porta seriale di interfaccia (ad esempio, “COM„ dispositivo).
hayes_modem_box001.jpg
Hayes modem esterno: casella
hayes_external_modem002.jpg
Hayes modem esterno

8.3 Modem comandi

Quando un primo modem è acceso, entra in un stato chiamato “modalità comando.„
Se il modem si connette con successo ad un telecomando remoto o modem fax dispositivo per telefono a filo, è stato entra in una “modalità„ chiamata “dati.„
Tuttavia, il sistema descritto nel presente documento non userà il modem per stabilire una “modalità„ di connessione “dati„ con un dispositivo remoto, in modo che il modem sarà sempre in “modalità comando.„
Quando in modalità comando, il modem accetta i comandi in forma di pianura ASCII caratteri.
Caratteri vengono scambiati tra il modem e il computer su un cavo seriale, o tramite un driver di periferica che fa una carta interno (ad esempio, PCI carta) accessibile come un dispositivo seriale.
In entrambi i casi, i programmi uso API chiede di accedere ai dispositivi seriali (ad esempio, “COM1„ o “/dev/modem„).
Uno dei principali sottoinsieme di comandi del modem è chiamato “AT„ (ay-tee) comandi, e questi comandi iniziano tutti con i caratteri “at„ (o “AT„).
Evoluto come modem, l'elenco dei comandi estesa, che offre funzioni sempre più esoterico.  Il sistema descritto in questo articolo richiede solo la capacità di assumere il modem “via gancio„ e poi riprendere il modem per il “gancio a„ stato.  La capacità di comporre le cifre e, facoltativamente, a sua volta un altoparlante per il controllo della chiamata, sono utili funzioni, ma non sono essenziali.  La seguente tabella elenca il modem comandi che possono essere utilizzati con il sistema descritto in questo articolo:
ActionCommand
On-Hook ("Hang Up")ATH [zero] [return]
Off-Hook ("Pick Up")ATH [one] [return]
"Dial" Digits ATDT [digits,#,*] ; [return]
"Dial" Digit ATDT [digit,#,*] ; [return]
Speaker Off ATM [zero] [return]
Speaker On ATM [two] [return]
La tabella seguente mostra un ipotetico sequenza di comandi utilizzati per luogo una telefonata, interagire con un sistema automatizzato che utilizza “toni„ (DTMF) “toccare,„ quindi terminare la chiamata “(riagganciare):„
CommandAction
ATM 2 [return]Speaker On
ATH 1 [return]Off-Hook ("Pick Up")
ATDT 5551212 ; [return]"Dial" 5551212
ATDT 3 ; [return]"Press" 3
ATDT # ; [return]"Press" Pound (#)
ATDT * ; [return]"Press" Star (*)
ATH 0 [return]On-Hook ("Hang Up")
ATM 0 [return]Speaker Off

8.4 AT set di comandi

“AT il set di comandi è attuato da quasi tutti i modem in esistenza.
Questo set di comandi è stato inizialmente attuato da Hayes modem.
La maggior parte dei modem sono classificati come “Hayes compatibile perché attuare la serie di comandi AT.
AT tutti i comandi devono iniziare con il prefisso AT, seguito da un comando lettera, e si concluse con la ENTER(*) chiave.
(*...ENTER, CARRIAGE RETURN, CR, RETURN, '\r', 13, 0xd, Control-M, ^M)
Gli spazi sono ammessi in stringa di comando per aumentare la leggibilità della riga di comando, ma sono ignorati dal modem durante l'esecuzione di comandi.
Tutti i comandi possono essere digitati sia in maiuscolo o minuscolo, ma mai misto.
Un comando emesso senza parametri è considerato come precisa lo stesso comando con un parametro di 0 (zero).
Il seguente è un condensato AT elenco dei comandi.
Un più completo e dettagliato elenco può essere facilmente reperibili su Internet tramite una ricerca utilizzando le parole chiave “at modem comandi.
CmdAction
A Answer incoming call
D 0-9, A-D, # and * (e.g., AT T D 5551212*#)
P Pulse dial
T Tone dial
W Wait for second dial tone
, Pause
@ Wait for 5 secs of silence
! Flash (very brief on-hook)
; Return to command mode after dialing
E0 Command echo disabled
E1 Command echo enabled
F0 Autoscan mode
F1 300 bps connection only
F3 V.23 connection only
F4 1200 bps connection only
F5 2400 bps connection only
F6 4800 bps connection only
F7 7200 bps connection only
F8 9600 bps connection only
F9 12000 bps connection only
F1014400 bps connection only
H0 Modem on-hook (hang up)
H1 Modem off-hook (pick up)
I0 Product code
I1 Checksum code
I2 ROM test
I3 Firmware and device ID
L0 Low speaker volume
L1 Low speaker volume
L2 Medium speaker volume
L3 High speaker volume
M0 Speaker off
M1 Speaker on until carrier detect
M2 Speaker on
M3 Speaker off during dialing, on until carrier detected
N0 Connect only at DTE rate
N1 Auto rate negotiation
O0 Return to data mode
O1 Initiate an equalizer retrain and return to data mode
P Pulse dial
Q0 Result codes enabled
Q1 Result codes disabled
T Tone dial
V0 Numeric responses
V1 Text responses
W0 Report DTE speed only
W1 Report wire speed, error correction protocol, and DTE speed
W2 Report DCE speed only
X0 Hayes Smartmodem 300 compatible responses/blind dialing
X1 Same as X0 plus all CONNECT responses/blind dialing
X2 Same as X1 plus dial tone detection
X3 Same as X1 plus busy signal detection/blind dialing
X4 All responses and dial tone and busy signal detection
Y0 Long space disconnect disabled
Y1 Long space disconnect enabled
Z0 Reset and recall user profile 0

8.5 Test del modem

Questa sezione descrive i metodi per verificare rapidamente la capacità di controllo di un modem collegato al computer.
Il primo metodo è adatto per Windows 98/NT/Me/2K/XP.
L'idea di base è quello di avviare il software “di comunicazione seriale„ che possono essere trovati in quasi tutte le tipiche l'installazione del sistema operativo Windows: “HyperTerminal„.
Windows 98     : "C:\Program Files\Accessories\HyperTerminal\Hypertrm.exe"
Windows 2000\XP: "C:\Program Files\Windows NT\hypertrm.exe"
(Le virgolette doppie riportate non sono necessarie quando effettuano collegamenti o quando si eseguono dal prompt dei comandi, perché il file percorsi contenere spazi.)
HyperTerminal può essere avviato dal prompt dei comandi o menu di navigazione.
Sotto Windows 2000\XP, ad esempio, il software di collegamento può essere trovato alla fine del seguente percorso di menu:
Start -> Programs -> Accessories -> Communications -> HyperTerminal -> HyperTerminal
windows_menu_hyperterminal.jpg
Menu principale struttura gerarchica Start dal menu a HyperTerminal
Quando si avvia HyperTerminal, diverse finestre di dialogo appare:
hyperterminal_dialog_set.jpg
HyperTerminal finestre di dialogo:
1.  Connection Description: Inserisci il nome arbitrario;
2.  Connect To: Seleziona porta con modem (ad esempio, COM1);
3.  COM1 Properties: Bit rate per la comunicazione tra i PC e il modem, ecc
Ho specificato un basso bit rate (2400 bit al secondo) tra il PC e il modem semplicemente perché questo è probabile che il lavoro per ogni modem che non è ufficialmente un antico.
E 'comune per le moderne modem per comunicare con il PC a tassi intorno 115200 bit al secondo, anche quando i dati sul tasso di telefono filo è al livello più basso 9600 bit al secondo.
La seguente immagine mostra una semplice connessione modem sessione utilizzando HyperTerminal:
hyperterminal_session01.jpg
Utilizzando HyperTerminal a tentare di utilizzare vari comandi del modem
Questa note sopra riportate mostrano un modo facile per il test di un modem con il Windows sistema operativo.
Vi sono numerosi altri software di “comunicazione seriale„ programmi per Windows e Linux.
Per Linux (o UNIX varianti) potrebbe essere in grado di fare qualcosa di simile a “echo atm2 > /dev/modem„ in una riga di comando, o fp = fopen( "/dev/modem", "w" ); seguita da dichiarazioni come ad esempio fprintf( fp, "atm2" ); in un semplice C programma.

8.6 Codice sorgente per il controllo di un modem

C/C++ computer il codice indicato qui sotto mostra la trasmissione di comandi di testo a un modem.
Anche se il computer codice mostrato di seguito è Windows per il sistema operativo, le idee sono facilmente generalizzata per altri sistemi operativi.
#include < windows.h >

HANDLE  hCom = ((HANDLE)(0));

int  main()
{
DCB                dcb;
unsigned long int  n = 0;
char *             str = "COM1";

hCom = CreateFile( str, (GENERIC_READ | GENERIC_WRITE),
                   0, NULL, OPEN_EXISTING, 0, NULL );

GetCommState ( hCom, (&(dcb)) );

dcb.BaudRate = CBR_9600;
dcb.ByteSize = 8;
dcb.Parity   = NOPARITY;
dcb.StopBits = ONESTOPBIT;

SetCommState ( hCom, (&(dcb)) );

WriteFile( hCom, "ATM2\r", strlen("ATM2\r"), (&(n)), 0 );
FlushFileBuffers( hCom );
Sleep(1000);

WriteFile( hCom, "ATH1\r", strlen("ATH1\r"), (&(n)), 0 );
FlushFileBuffers( hCom );
Sleep(1000);

WriteFile( hCom, "ATDT5551212;\r", strlen("ATDT5551212;\r"), (&(n)), 0 );
FlushFileBuffers( hCom );
Sleep(3000);

WriteFile( hCom, "ATH0\r", strlen("ATH0\r"), (&(n)), 0 );
FlushFileBuffers( hCom );
Sleep(1000);

WriteFile( hCom, "ATM0\r", strlen("ATM0\r"), (&(n)), 0 );
FlushFileBuffers( hCom );
Sleep(1000);

CloseHandle( hCom );

return(0);
}
Copia del codice di dimostrazione mostrato sopra: modem_test.cpp
Il software di cui sopra ottenere l'accesso ad una porta di comunicazione seriale (vale a dire, “COM1„), e si suppone che un modem è collegato a questa porta.
Il software di testo invia comandi al modem per effettuare le seguenti cose:
1.  Attivare l'altoparlante interno (“ATM2\r„);
2.  Prendere il telefono filo “off gancio„ (“ATH1\r„);
3.  Chiamare un numero telefonico (“ATDT5551212;\r„);
4.  Mettere il telefono torna “a„ filo “gancio„ (“ATH0\r„);
5.  Spegnere l'altoparlante interno (“ATM0\r„).
L'esempio di codice precedente mostra alcuni dei pertinenti Windows API funzioni.
Tuttavia, l'esempio di codice per computer è molto flessibile e non per controllare eventuali errori.
Sleep() le invocazioni funzione di garantire che il modem dispone di tempo per completare i comandi prima di avanzare al prossimo comando.
Idealmente, vorremmo verificare le risposte di testo per il modem (ad esempio, “OK„ o “ERROR„).

8.7 Modem controllo C++ class (Windows sistema operativo)

ZIP i seguenti file di archivio contiene un C++ class adatto per il controllo di un modem via Windows il sistema operativo.
Essa è essenzialmente una versione più elaborata la dimostrazione di codice di cui sopra.
Inoltre, i C++ class avvolge il modem funzionalità in modo tale che il porting su altre piattaforme (ad esempio, Linux) è fatto più facile.
modem_control_v10.zip

4863 bytes
MD5: 47fe45adb6813f741243f861add7be29
Un progetto Microsoft Visual C++ 6.0 file è incluso con il codice sorgente, così si può creare ed eseguire il codice immediatamente come una prova.
Ma tutto ciò che serve sono le due file di origine ( modem_control.cpp, modem_control.h ) di utilizzare il codice nel proprio software.

9. Utilizzando l'interfaccia

9.1 Utilizzando l'interfaccia con un computer

phone_speech_system_custom_circuit.jpg
Configurazione utilizzati in esperimenti mio
Allegare uno splitter il telefono a filo, con un ramo andare a un modem, e l'altro ramo andando al telefono interfaccia circuito.
Collegare i due cavi audio dal circuito di “ingresso microfono„ e “altoparlante valore„ di “uscita„ della scheda audio o audio prese sul personal computer o altro dispositivo audio.
Utilizzando il modem codice descritto altrove in questo articolo si può usare il modem a “prendere il telefono„ e “chiamare numeri di telefono.„
Quindi il computer è in grado di registrare e riprodurre audio in qualsiasi modo desiderato.
Il modem codice può quindi essere usato per “appendere il telefono„ per terminare la chiamata.
Lei è responsabile per la notifica di chiamanti, se avete intenzione di registrare qualsiasi parte della chiamata.
(...  A meno che non siate il governo!  In caso contrario, fare come si dice, e non come fanno!)

9.2 Utilizzando l'interfaccia con apparecchiature audio

Allegare uno splitter il telefono a filo, con un ramo che si recano in un normale telefono, e l'altro ramo andando al telefono interfaccia circuito.
Collegare o segnale audio dal circuito di ingresso di un microfono a un amplificatore o dispositivo di registrazione.
Collegare l'output di qualsiasi dispositivo che produce bassa ampiezza audio (ad esempio, +/-1.0 Volt) sia presa audio del circuito.
Non collegare l'uscita audio di un amplificatore stereo per il circuito, perché la tensione è molto probabile che sia molto eccessivo per telefono audio.
Amplificatori stereo di solito sono uscite speciali (ad esempio, RCA connettori) per l'invio di uscita audio per altri tipi di apparecchiature audio che accettano di ingresso audio (ad esempio, VCR, registratore, televisione, etc); questi bassa tensione uscite sono adatte per l'uso con il circuito descritto in questo articolo.
In tal modo, si può accettare o posto chiamate utilizzando il telefono, e di registrare e riprodurre l'audio durante l'uso del telefono.
Lei è responsabile per la notifica di chiamanti, se avete intenzione di registrare qualsiasi parte della chiamata.
(...  A meno che non siate il governo!  In caso contrario, fare come si dice, e non come fanno!)

10. Rete telefonica concetti

10.1 Riferimenti studio

Il funzionamento del sistema telefonico è al di là del campo di applicazione del presente articolo.
Consultare i riferimenti alla fine di questo articolo per alcune informazioni sul tema.
Tuttavia, parlare e discutere interessanti mette in evidenza in questa sezione.

10.2 Aspetti di base elettrici

10.2.1 Telefono o modem nella “sul gancio„ di Stato

Ci sono due obiettivi che hanno portato alla progettazione di telefono:
(1) Un telefono deve essere elettricamente "invisibile" a corrente continua (DC), proprio come un circuito aperto o di una disconnessione, quando è in on-gancio di Stato;
(2) La Corrente alternata (AC) picchi utilizzati per mettere a telefoni anello dovrebbe essere accettato da telefoni nell'ambiente on-gancio stato così loro anello.
Entrambi questi obiettivi sono raggiunti tramite la presenza della telefono progettato in modo che non polarizzata condensatore (o due) è il telefono solo link per il filo di telefono quando nell'ambiente on-gancio di Stato.
Così, (DC) corrente non può passare attraverso, e la Corrente alternata (AC) inanellamento segnale può passare attraverso le campane o suoneria circuito.
Quando ho misurato DC la resistenza di un telefono in on-gancio di Stato, ha superato il 40 Megaohms.
Quando ho misurato la resistenza DC di un modem in on-gancio di Stato, ha anche superato 40 Megaohms.
DC la tensione fornita dalla società telefonica per rilevare qualsiasi resistenza a causa di telefoni essere off-gancio è talvolta riferito come 48 Volts.
Ho misurato +23.02 Volts (DC), dove ho chiamato il “filo rosso„ positivo, e il “filo di„ terra “verde.„
Tieni presente che questa DC tensione scende drasticamente quando il telefono è adottare al di fuori del gancio; ho misurato +7.17 Volts (DC) quando il telefono è in off-gancio di stato.
Suoneria tensione è segnalata da 90 Volts (16-60 Hz Corrente alternata), che può startle o di danneggiare persone in determinate circostanze.

10.2.2 Telefono o modem in “largo gancio„ di Stato

Telefoni e modem richiesta uso di un telefono a filo di ridurre le proprie DC resistenza elettrica.
Questa condizione è scoperto dal fornitore di telefono e il filo diventa attiva.
Quando ho misurato DC la resistenza di un telefono in off-gancio di Stato, è stato di circa 6.83 Megaohms.
Quando ho misurato DC la resistenza di un modem nella off-gancio di Stato, si è quasi esattamente 1.500 Megaohms.
Ricordo che entrambi i dispositivi di resistenze che avevano superato 40 Megaohms quando nell'ambiente on-gancio di Stato.
Interessante, questa resistenza è abbastanza elevato, vicino a un uomo della resistenza elettrica quando tocca i fili con le mani asciutte.
Per esempio, se in possesso di un filo nella mia mano sinistra, e un filo nella mia mano destra, con le mani relativamente asciutto, posso avere una resistenza al livello più basso di spremitura 0.5 Megaohms strettamente i cavi.
Spremitura molto leggermente mi dà una maggiore resistenza DC, circa 1.5 Megaohms, che apparentemente è ancora abbastanza bassa per raccontare la società telefonica che sono un telefono.
(Non toccare mai fili telefono!)
In tal modo, si può simulare un telefono o modem off-gancio solo con l'introduzione di un 1 Megaohm resistenza in tutto il filo di telefono.
Si può farlo attraverso un circuito con un relè controllato da un porto a un computer (RS-232, parallel port, USB, ecc), ma un modem è un comodo, poco costoso, e versatile alternativa a un circuito di relè personalizzato.
Come già detto, la società telefonica mantiene una corrente continua (DC) differenza di potenziale (tensione) in tutto il telefono filo per rilevare telefoni andando off-gancio e di tornare al gancio on-stato.
Ho misurato la tensione come +23.02 Volts (DC) per il gancio, e per +7.17 Volts (DC) off-gancio.

10.3 Segnali audio

Con il telefono in off-gancio di Stato, il “segnale di linea„ sembra avere un (AC) Corrente alternata-Root Mean Square-(RMS) tensione di 0.139 Volts AC.
L'intero segnale è distorto da una significativa DC tensione di circa +5 Volts DC; +7.17 Volts DC ho misurato nel corso di un esperimento.
I segnali audio sono molto piccole deviazioni (a pochi cento) intorno a questo DC tensione.
Ciò significa, ad esempio, che i segnali audio non fluttuare intorno ad una tensione pari a zero; i segnali audio non fanno mai il flusso di corrente nella direzione opposta a filo del telefono.
Si scopre che il mio telefono interfaccia circuito 0.139 VAC converte il segnale a circa 0.030 VAC (vale a dire, 30 mV AC) per l'uso di apparecchiature audio (ad esempio, ingresso microfonico su una scheda audio).

10.4 Larghezza di banda audio

La funzione primaria di un sistema telefonico è di consentire la comunicazione vocale da uomo a uomo.
Il diagramma seguente mostra la media spettrale di energia per pochi secondi di parola l'audio.
basic_words_average_spectral_energy06.jpg
Media spettrale di energia (decibel scala) di alcuni secondi di parola per l'intero gamma udibile (20 Hz a 20 kHz).  La scala verticale è in decibel, quindi, anche una modesta diminuzione su questo grafico indica una drammatica diminuzione della sana energia.
La scala di decibel il grafico sopra significa che valori più bassi sulla carta sono in realtà ordini di grandezza inferiore a valori più alti sulla carta.
E 'evidente che una parte significativa del consumo totale di energia sonora di parola è contenuta nel intervallo da 0 Hz a 4000 Hz.
L'uomo può comprendere discorso affidabile anche quando tutti gli audio di energia al di fuori della intervallo 300 Hz a 3000 Hz è eliminato.
Tuttavia, la soggettiva effetto di limitare l'audio di energia a questa gamma è che le voci del suono e la mancanza muffled articolazione.
La sottile differenza tra 'F' e 'S' è facilmente perso più di un telefono.
Il sistema telefonico negli Stati Uniti ha un canale vocale che porta solo le frequenze comprese tra 0 Hz a 4000 Hz.
Tuttavia, la voce passband è limitato alla gamma 300 Hz a 3000 Hz, e vi è sempre maggiore, di attenuazione della voce energia al di fuori di questa banda.
phone_bandwidth_diagram002.jpg
Larghezza di banda vocale di ( 300 Hz - 3000 Hz ) entro il canale vocale ( 0 Hz - 4000 Hz ) del sistema telefonico negli Stati Uniti
La seguente immagine spettrale è un appezzamento di alcuni secondi di una tipica conversazione telefonica registrata.
cell_phone_audio_spectral_view.jpg
Spettrale appezzamento di alcuni secondi di una tipica conversazione telefonica registrata (voce maschile)
Anche se la frequenza di risoluzione è relativamente basso, l'effetto di limitare la larghezza di banda del sistema telefonico è evidente.
A fini sperimentali, l'audio proprietà di un sistema telefonico può essere simulato con un equalizzatore grafico, o di una banda di filtro in un software di editing audio pacchetto, semplicemente bloccando 350 Hz tutto sotto sopra e tutto 3500 Hz.

10.5 Importante frequenze audio

Il “tocco toni„ utilizzati per “chiamare numeri„ e interagire con sistemi automatizzati sono noti come Dual-Tone Multi-Frequency (DTMF) segnali.
Questi toni possono essere generate semplicemente aggiungendo due onde sinusoidali insieme con il buon frequenze, come indicato nella seguente matrice delle frequenze.
Si noti che il tempo minimo di attesa durante l'invio di un DTMF suono è 50 milliseconds, e il minimo tempo di rilascio (Silent divario tra DTMF suoni) è 50 milliseconds.
Utilizzando i ritardi di 200 milliseconds sarebbe probabilmente affidabile.
dtmf_frequency_table.jpg
Il “segnale di linea, segnale di occupato,„ e “anello-back„ suoni hanno anche definito le combinazioni di frequenza negli Stati Uniti:
phone_state_frequencies.jpg

11. Telefono alternativi metodi di interfaccia

Ho investito $30 e quattro ore di tempo per costruire il circuito, per consentire un personal computer per inviare e ricevere segnali audio nel corso di un filo di telefono.
Ciò richiede un cetain tipo di competenze e attrezzature.
Inoltre, a meno che non sono disposti ad andare per le attività di fabbricazione di questo circuito, non è possibile creare un prodotto (a basso costo voice-mail o segreteria telefonica) che richiede questa interfaccia.
Il modo più semplice, poco costoso alternativa al metodo l'hardware che ho descritto in questo articolo è quello di utilizzare un software metodo per accedere alla voce capacità di un “modem di voce.„
Tuttavia, devo dire che rispetto al personalizzati utilizzando un circuito, utilizzando un modem di voce, in combinato disposto con speciali software è in grado di essere molto specifico per piattaforma e, in generale, molto doloroso per programmare, configurare e utilizzare.
Il beneficio (supponendo che si dispone di un modem di voce) è che questa sarebbe una pura soluzione software.
Se si usa un modem di voce e un software speciale, il vostro sistema potrebbe essere semplice come il seguente schema.
phone_speech_system_voice_modem.jpg
Utilizzando un sistema interno “modem di voce„ e software
In base alle vostre esigenze, la voce dei dati aspetto del modem di voce può essere half-duplex (vale a dire, il software può “parlare„ o “ascoltare,„ ma non entrambi contemporaneamente), o full-duplex.
Half-duplex può aggiungere qualche complessità per il controllo del software perchè si deve decidere quando a trasmettere e ricevere audio.
Il modem di voce digitalizza telefono filo audio e trasmette i dati nel USB o se RS-232 esterne, o per PCI autobus, se interno.

12. Microsoft Telephony API (TAPI)

Microsoft sistemi operativi hanno TAPI 2.0 e TAPI 3.0 DLLs.
TAPI 3.0 potrebbe avere numerosi problemi di software, e la maggior parte delle persone che hanno utilizzato Microsoft TAPI hanno semplicemente utilizzato TAPI 2.0 (che ha quasi tutte le funzionalità desiderata) invece di TAPI 3.0.
Utilizzare il “wave/in„ e “wave/out„ dispositivi ad accedere ad un modem di voce di flussi audio.
Visualizzare il libro in TAPI i riferimenti di questo articolo.  Il libro è vecchio, ma TAPI 2.0 descrive in dettaglio.

13. Java Telephony API

Non so nulla sulla Java Telephony API.
Tuttavia, suppongo che ha il vantaggio di essere indipendente dal sistema operativo e, probabilmente, è molto più semplice rispetto alle astrazioni Microsoft TAPI!

14. Vari prodotti commerciali

Commerciali, rack-mounted interfacce hardware a più fili telefono esterno sono in grado di scambiare dati con voce computer.
“Voice Over IP„ (VoIP) prodotti, come ad esempio “telefoni Internet,„ sono ora in tutto il mondo (ad esempio, “Skype).„
Software per computer, ovviamente, può facilmente ottenere un accesso ai audio per tali connessioni telefoniche.

15. Riferimenti

Migliore, più completa guida per i circuiti telefonici che ho incontrato su Internet:
http://www.hut.fi/Misc/Electronics/circuits/teleinterface.html
Un altro interessante riferimento:
http://www.repairfaq.org/ELE/F_ASCII_Schem_Tel.html
Hilarious (e folle) guida di telefoni a pagamento nei pressi di Stati Uniti e Canada:
http://www.payphone-directory.org
(Guarda “le„ prime “contribuenti„ di pay-numeri di telefono, il telefono campioni audio, il telefono e immagini.)

16. Libri

16.1 Understanding Telephone Electronics (4th ed)

book_cover_telephone_electronics02.jpg
Understanding Telephone Electronics (4th ed);
Newnes; 2001;
Stephen J.  Bigelow, Joseph J.  Carr, Steve Winder;
$25.45 US (2001)
Questo libro descrive molti aspetti di circuiti telefonici e il funzionamento della rete telefonica negli Stati Uniti.
Ci sono molte informazioni su circuiti e protocolli; tutto da un telefono di rete telefonica stessa.
Senza dubbio la tecnologia è molto diversa adesso, ma questo libro è probabilmente un po 'più pratici di un libro di storia.

16.2 Windows Telephony Programming: A Developer's Guide to TAPI

book_cover_windows_tapi02.jpg
Windows Telephony Programming: A Developer's Guide to TAPI;
Addison-Wesley; 1998;
Chris Sells;
$33.95 US (1998)
La Microsoft Telephony API (TAPI) è inutilmente disordinati e di confusione, ed ora è estremamente obsoleti.  Il libro di cui sopra potrebbe essere l'unico libro mai pubblicato sulla Microsoft Telephony API (TAPI).
colinfahey.com
informazioni di contatto
English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية