English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية 
Calculator audio de interfaţă pe bază de sârmă de la reţeaua de telefonie
Colin Fahey
phone_speech_system_custom_circuit.jpg
Un computer poate face apeluri telefonice vocale, folosind orice modem şi un simplu circuit.

1. Introducere

Acest document descrie cum să utilizaţi orice convenţionale de modem şi un circuit simplu de a da orice computer personal (PC), cu orice sistem de operare, capacitatea de a plasa apeluri telefonice vocale care pot implica interactiune.
Un ordinare de modem este folosit pentru a activa fire de telefon, mergând "off cârlig," şi mai târziu, eliberarea de fire de telefon, mergând "pe cârlig (inchide)."
Un circuit electric simplu este folosit pentru a da orice dispozitiv audio, cum ar fi o placă de sunet sau de sunet interfata unui calculator personal (PC), acces la semnale audio pe o sârmă de telefon.
Astfel, un calculator personal (PC) pot iniţia o conexiune la un număr de telefon, apoi aşteptaţi un om sau pentru un sistem automat de a raspunde, apoi iniţia o conversaţie, pe baza de vorbire sau alte sunete.
Acest document este destinat pentru hobbyists interesat în aflarea câteva lucruri în legătură cu cerinţele şi electrice de protocol pentru interacţiunea cu Central Office (CO) de o sârmă de telefon conectat în reţea Statele Unite (US).
Exista multe tehnologii pentru a permite oamenilor să interacţioneze cu sistemele pe bază de voce prin intermediul telefoanelor.
Există multe produse comerciale şi servicii oferite de manipulat totul de telefon asociat cu interacţiunea cu o bază de date corporative.
Este destul de uşor de găsit hardware-ul pentru a gestiona mai multe apeluri telefonice la un singur număr.
De telefonie sa extins la Internet, cu protocoalele ca "Voice over Internet Protocol" (VoIP).
Calculatoare de oriunde din Internet poate fi configurat pentru a interacţiona cu VoIP prin recunoaşterea vorbirii şi discursului sinteză.
Aceste computere pot opţional, urmaţi vocea de conversaţie flowcharts exprimate în XML fişierele text (Voice XML).
Acest document nu are nimic de a face cu una dintre aceste solutii practice pentru problema automatizarea voce interacţiunea cu o afacere sau organizaţie.
Acest document este destinat pentru divertisment de hobbyists cu bugete mici.

2. Declaratiile noastre

Construirea unui circuit, şi conectarea în reţeaua de la un telefon, implică multe riscuri.
Sunteti responsabil pentru orice învăţare despre legile, pericolelor, a riscurilor şi că pot aplica.
Următoarea este o listă a unora dintre problemele de care trebuie să ia în considerare dacă sunteţi interesat în construcţia şi testarea un circuit similar cu cea de a apărea în acest articol:
1.  Toate informaţiile despre specificaţii electrice de telefon de serviciu este valabil doar in Statele Unite (US).
2.  Tensiunea de apel de pe telefon de sârmă (90 Volts) pot răni oameni.
Lightning sau scăzut puterea de fire poate duce la tensiuni pe telefon fire care pot răni oameni.
3.  Sunteti responsabil pentru orice daune la telefon Compania circuite cauzate de utilizarea neautorizată a dispozitivelor dvs.  de domiciliu sau de birou.
4.  Înregistrare convorbiri telefonice fără aprobarea explicită a tuturor părţilor implicate, este împotriva legii.
(...  Cu excepţia cazului în care sunteţi de guvern!  Altfel, nu aşa cum se spune, şi nu ca o fac!)
5.  Sunteti responsabil pentru orice daune cauzate de computer pentru a vă conectaţi-vă propriul circuitry la computer.
6.  Nu se pot vinde orice produs destinat utilizării cu un telefon de reţea fără aprobarea de la FCC.
Acest document este doar o descriere a experienţele mele personale.
Sunteti responsabil pentru învăţarea despre legile şi riscurile de la surse de autoritate.

3. Telefon audio circuitul de interfaţă

Scopul circuitul descrise în această secţiune este de a permite convenţionale şi de înregistrare şi redare audio de echipamente, cum ar fi o placă de sunet pe portul sau audio de pe un computer personal (PC), pentru a trimite şi a primi audio convenţionale, pe o suprafata de cablu (cu fir) telefon conexiune.
Sârmă de telefon şi de echipamente audio nu sunt conectate direct, de remorcare este numai prin intermediul transformatoarelor.
Ambele părţi ale interfeţei sunt protejate de la tensiuni excesive.
Semnalele sunt limitate la un interval de frecvenţe (latime de banda) relevante pentru telefon audio (300 Hz la 3500 Hz).
O schema are doar componente "pasive;" permis de conducere toate tensiunile sunt externe.
O schema trebuie să fie utilizat în conjuncţie cu un modem, telefon, sau de alte circuit capabil de a merge "în afara cârlig" (aducerea de rezistenta din sarma suficient de scăzut pentru a indica la Oficiul central de sârmă (CO) că este în uz).
Ar fi trivial pentru a adăuga un "cârlig în afara" circuitului de la acest aspect, dar având un circuit de la toate este deja un mare obstacol pentru mulţi hobbyists.
phone_circuit_box01.jpg
Aspect de asamblat de circuit
phone_circuit_board02.jpg
Aspect din circuitul bord
phone_circuit_schematic.jpg
Schematic de telefon audio circuitul de interfaţă
Puteţi construi dispozitivul aproape exact aşa cum apare de mai sus, dacă veţi face următoarele investiţii:
1.  Asiguraţi-vă că aveţi instrumente de bază: şurubelniţele, sudura fier, cutit;
2.  Vizitaţi Radio Shack, cumpărarea elementele enumerate mai jos, pentru $ 29, după taxe;
3.  Vizitaţi orice magazin de hardware, cumpără două nuci, bolţuri, şaibe, pentru $ 1.
4.  Cheltuie despre patru oră construirii de circuit în funcţie de schematic;
Dacă nu aveţi experienţă de cladire circuite electronice, sudura, gauri de foraj, electrice şi de efectuare a măsurătorilor, nu face acest proiect prima dvs.!
Singura persoana care ar trebui să încerce să construiască acest circuit este persoana care deja stie cu siguranta ca el sau ea se poate construi o!

4. Radio Shack: omniprezente electrocasnice magazin

Radio Shack electronice de consum este o companie cu magazine din întreaga lume. Mai jos este un link către site-ul lor de internet:
http://www.radioshack.com
Pe site-ul lor de internet o persoană poate găsi un link numit "Electronic Components", ceea ce duce la catalogul lor de componente electronice şi de documentaţia corespunzătoare.
O persoană poate găsi preţuri pentru piese.
O persoană poate obţine o listă de locaţii de cel mai apropiat magazin, şi hărţi.
Părţile pot fi comandate online.
Am decis de a construi meu simplu, folosind circuitul Radio Shack părţi, deoarece acest lucru înseamnă că oricine altcineva din lume pot reproduce cu uşurinţă munca mea.
De asemenea, orice parte oferite de Radio Shack este practic garantat pentru a fi disponibil pentru mai mulţi ani la un pret scazut.
Aici este o listă de Radio Shack părţi am folosit pentru a construi circuit, cu numerele de catalog:
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: nu-aşa-omniprezente hardware-ul magazinului

Am nevoie de bolţuri, şaibe, fructe cu coajă lemnoasă şi să fasten un telefon la jack de plastic cazul meu de circuit.
Am fost la Ace Hardware, dar mi-ar putea să fi mers la Home Depot, sau poate chiar un supermarket, pentru a găsi părţi similare.
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. Instrumente şi accesorii

Următorul tabel afişează unele din elementele I necesar pentru construcţie şi de utilizare a circuitului:
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. Comentarii cu privire la circuitul

Nu sunt un inginer electric.
Am studiat diferitele circuite de telefon (a se vedea referinţele menţionate aproape de sfârşitul acestui articol), precum şi diverse extrase de elemente care să sprijine obiectivele de propriile mele de design.
Dacă au fost într-adevăr disperată, şi riscul de a vă PC nu a fost un factor, puteţi să conectaţi un telefon sârmă pentru a plăcii dvs. de sunet de port, folosind doar o pereche de condensatori!
Asta este o idee foarte bună, pentru că de tensiune de apel, şi posibil aleatoare spikes de tensiune pe fire de telefon, poate deteriora neprotejat dispozitive.
De diode Zener în circuitul meu de scurt-circuit tensiuni excesive.
Observaţi că acestea se confruntă cu direcţii opuse, astfel încât pentru o anumită tensiune aplicată cu o anumită polaritate, o dioda Zener este poised de a efectua în mod normal, curente, iar celălalt este poised pentru reverse-defalcare de tensiune ar trebui să depăşească sale Rating (de exemplu, 5.1 V) .
Numai atunci când o tensiune mai mare de a inversa-defalcare de tensiune de una dintre diode Zener perechea va permite în ultimă instanţă, pentru a fluxului de curent, astfel, scurt-circuiting de fire la care pereche de diode este conectat.
Notaţi faptul că aceasta funcţionează, indiferent de unde provin semnale.
Curent alternativ (AC) semnale de la sârme de telefon care sunt mai mari atunci 5,8 Volts ( 5.1 V + 0.7 V ) după ce trece prin transformator va fi clipped.
(DC) de curent sau curent alternativ (AC) semnale audio de la o sursa audio, nu din fire de telefon, va fi, de asemenea, clipped la 5.8 Volts.
Deci, fiecare parte, Compania de telefonie şi audio echipamente, este protejat la tensiuni excesive, care provin din alte părţi.
Dispozitivul este de fapt o pereche de circuite identice.  Fie audio plug poate fi utilizat pentru intrare sau de ieşire.
Practic, cele două semnale audio sunt cuplate unic de telefon la semnal.

8. Folosind un modem pentru a vă deplasa "în afara cârlig"

8.1 Scopul modem

Scopul modemul in acest sistem este de a crea un electrice condiţia ca furnizorul de servicii de telefonie va recunoaşte ca o cerere de a deveni un participant activ în reţeaua de telefonie.
Această solicitare se numeşte "merge off cârlig," o trimitere la telefon desene sau modele originale, care solicitau un utilizator să ridice un vorbitor sau telefonul jos de pe un carlig.
Solicitarea de activare este de aproape instantaneu acordate, în termen de o fracţiune de secundă.
După ce devine activ sârmă, toate celelalte aspecte legate de telefonie pot fi efectuate prin semnale audio.
Deşi transmiterea numere de telefon "(apel)" poate fi facuta prin redarea fişierelor audio ( *.WAV, *.MP3 ), înregistrate audio (DAT, audio CD, banda), sau software-ul audio de sinteză (sin() funcţii), modemul are capacitatea intrinsecă de a efectua această funcţie.
Cu toate acestea, ar trebui să se înţeleagă că singurul scop de modemul este solicitant de activare din sârmă de telefon.
Dacă o persoană are o metodă alternativă de simularea de reducere cârlig condiţie (de exemplu, scăderea rezistenţei pur şi simplu de pe sârmă de telefon), modemul nu este necesar.
Cu toate acestea, un modem este un foarte ieftine, obişnuit, şi convenabil dispozitiv pentru efectuarea de această funcţie.
Sistemul descris în acest articol nu are nevoie de un modem de înregistrare audio cu capacitate de redare sau, uneori numită o "voce de modem."
Cu toate acestea, într-o altă secţiune a acestui articol am discuta posibilitatea de a folosi un modem de voce ca o alternativă la utilizând un circuit electric.

8.2 Modem tipic

Am ales să folosească un modem extern fabricate de Hayes, denumit "Accura", un V.92 fax-modem cu capacitatea de mesaj vocal.
Orice modem poate fi folosit pentru sistemul descris în acest articol.
I vrut un modem extern pur şi simplu, pentru că este uşor să anexeze la orice computer, iar eu pot aduce la un prieten al casei lor de a folosi cu calculator, laptop sau desktop.
Deşi este greu de important, am considerat de asemenea, posibilitatea ca poate o Basic Stamp 2 ar putea utiliza computerul RS-232 de modem.
Atentie: porturi seriale (RS-232) porturi, porturi de genul PS/2, sunt în curs de etape, şi USB este noul standard.
Un modem extern USB de des pot fi accesate de către software-ului ca şi cum ar fi o mostenire "COM" port dispozitiv de drivere de dispozitiv care vin cu modemul.
Există o mică USB/RS-232 adaptor (~$30) care pot fi utilizate pentru a conecta contemporane calculatoare desktop si laptop-uri pentru a RS-232 dispozitive.
Astfel de un adaptor are un driver de dispozitiv pentru a corespunde emulate o mostenire port serial interfaţa (de exemplu, "COM" dispozitiv).
hayes_modem_box001.jpg
Hayes modem extern: casetă
hayes_external_modem002.jpg
Hayes modem extern

8.3 Modem comenzi

Atunci când un modem este primul pornit, se introduce o "comandă" de stat, denumit "în modul."
Dacă modemul cu succes se conectează la o distanţă de modem sau fax dispozitiv la distanţă prin telefon sârmă, se introduce o stare "de date," denumit "în modul."
Cu toate acestea, sistemul descris în acest document nu va folosi modem pentru a stabili o conexiune "de date în modul" cu un dispozitiv la distanţă, deci modemul va fi întotdeauna în "modul de comandă."
Când în modul de comandă, modemul accepta comenzi sub formă de câmpie ASCII de caractere.
Caractere sunt schimbate între computer şi un modem de peste un cablu serial, sau prin intermediul unui driver de dispozitiv care face o carte de interne (de exemplu, carte de PCI) accesibile ca un dispozitiv serial.
În ambele cazuri, programele de utilizare API solicită accesul la dispozitivele de serie (de exemplu, "COM1" sau "/dev/modem").
Unul majore subset de comenzi de modem se numeşte "AT" (ay-tee) comenzi, şi toate aceste comenzi încep cu caracterele "at" (sau "AT").
După cum a evoluat de modemuri, a extins lista de comenzi, oferind din ce în ce mai esoteric caracteristici.  Sistemul descris în acest articol doar necesită abilitatea de a lua "off cârlig" de modem, iar mai târziu de modem pentru a vă întoarce de "pe cârlig" de stat.  Capacitatea de cifre pentru a forma şi, opţional, la rândul său, un vorbitor pentru monitorizarea la apel, sunt caracteristici utile, dar nu sunt esenţiale.  Următorul tabel listează comenzile de modem care ar putea fi utilizat cu sistemul descris în acest articol:
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]
Următorul tabel afişează un ipotetic secvenţă de comenzi utilizate pentru a plasa un apel telefonic, interacţionează cu un sistem automat care utilizează "legătura de tone" (DTMF), apoi termina apelul "(inchide):"
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 comanda set

"AT set de comandă este pusă în aplicare de către aproape toate modemurile existente.
Acest set de comenzi care a fost iniţial pusă în aplicare de către Hayes modemuri.
Cele mai multe modemuri sunt clasificate ca "Hayes compatibile, deoarece punerea în aplicare a AT set de comenzi.
AT Toate comenzile trebuie să înceapă cu prefixul AT, urmată de o scrisoare de comandă, şi sa încheiat cu ENTER(*) cheie.
(*...ENTER, CARRIAGE RETURN, CR, RETURN, '\r', 13, 0xd, Control-M, ^M)
Spaţiile nu sunt permise în şir de comandă în linia de comandă pentru a spori lizibilitatea, dar sunt ignorate de către modem în timpul executării comenzii.
Toate comenzile pot fi tastat, fie în caz de sus sau de jos, dar nu amestecat.
A eliberat, fără nici o comandă parametrii este considerat ca specificând aceeaşi comandă cu un parametru de 0 (zero).
Următoarea este o listă de condensat AT comenzi.
O mai complete şi detaliate, lista poate fi uşor de găsit pe Internet printr-o căutare folosind cuvinte cheie "at modem de comenzi.
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 Testarea modem

Această secţiune descrie metodele pentru verificarea rapid capacitatea de a controla un modem conectat la calculator.
Prima metodă este potrivit pentru Windows 98/NT/Me/2K/XP.
Ideea de baza este de a porni software-ul "serial de comunicaţie," care poate fi găsit în aproape orice tipice de instalare a sistemului de operare Windows: "HyperTerminal".
Windows 98     : "C:\Program Files\Accessories\HyperTerminal\Hypertrm.exe"
Windows 2000\XP: "C:\Program Files\Windows NT\hypertrm.exe"
(Dublu-a cita arătat mai sus, sunt necesare atunci când efectuează sau când execută comenzile rapide de la promptul de comandă, pentru ca fişierul să conţină căi de spaţii.)
HyperTerminal poate fi lansat de la promptul de comandă sau prin navigarea în meniuri.
Sub Windows 2000\XP, de exemplu, software-ul link-ul poate fi găsit la sfârşitul celui de-al următoarea cale de meniuri:
Start -> Programs -> Accessories -> Communications -> HyperTerminal -> HyperTerminal
windows_menu_hyperterminal.jpg
Meniu de frunte din ierarhia Start meniu pentru a HyperTerminal
Când porniţi HyperTerminal, apar mai multe casete de dialog:
hyperterminal_dialog_set.jpg
HyperTerminal dialoguri:
1.  Connection Description: Introduceţi numele de arbitrare;
2.  Connect To: Selectaţi portul cu modem (de exemplu, COM1);
3.  COM1 Properties: Rată de biţi pentru comunicarea între PC şi modem, etc
Am specificat o scăzută rată de biţi (2400 biţi pe secundă) şi între PC modemul pur şi simplu pentru că aceasta este de natură să lucreze pentru fiecare modem care nu este oficial un antic.
Aceasta este comun pentru moderne de modemuri de a comunica cu PC jurul 115200 la rate de biţi pe secundă, chiar şi atunci când datele cu privire la rata de sârmă de telefon este la fel de mici ca 9600 biţi pe secundă.
Următoarele imagine arată un simplu modem de sesiune, folosind HyperTerminal:
hyperterminal_session01.jpg
Utilizarea HyperTerminal la încercarea de a utiliza diverse comenzi de modem
Acest notele de mai sus arată o modalitate uşoară de a testa un modem cu Windows sistem de operare.
Există numeroase alte programe software "de comunicaţii de serie" pentru Windows şi Linux.
Pentru Linux (sau variante UNIX) s-ar putea să fi capabil la spre a face ceva similar cu "echo atm2 > /dev/modem" pe o linie de comandă, sau fp = fopen( "/dev/modem", "w" ); urmate de declaraţii cum ar fi fprintf( fp, "atm2" ); în C un simplu program.

8.6 Codul sursă pentru a controla un modem

C/C++ de calculator codul specificat textul de mai jos demonstrează transmitere comenzi la un modem.
Deşi computerul codul specificat mai jos este pentru Windows sistem de operare, ideile sunt usor de generalizat şi pentru alte sisteme de operare.
#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ţi codul de demonstraţie a arătat mai sus: modem_test.cpp
Software-ul de mai sus avea acces la un port serial de comunicaţie (de exemplu, "COM1"), şi vom presupune un modem este conectat la acest port.
Software-ul pentru a trimite comenzi text de modem pentru a face următoarele lucruri:
1.  Viraj pe vorbitor interne ("ATM2\r");
2.  Călătoriţi cu fire de telefon "în afara cârlig" ("ATH1\r");
3.  Formaţi un număr de telefon ("ATDT5551212;\r");
4.  Puneţi înapoi sârmă de telefon "de pe cârlig" ("ATH0\r");
5.  Dezactivaţi interne vorbitor ("ATM0\r").
De exemplu, computerul codul de mai sus arată unele dintre relevante Windows API funcţii.
Cu toate acestea, exemplul de cod de computer este foarte inflexibil şi nu verifică pentru orice erori.
Sleep() funcţia de invocations asigura că modemul are timp pentru a completa comenzi, înainte de promovarea la urmatoarea comanda.
În mod ideal, ne-ar verifica răspunsurile pentru textul de la modem (de exemplu, "OK" sau "ERROR").

8.7 Modem de control C++ class (Windows de sistemul de operare)

Următoarele ZIP arhiva conţine un fişier de C++ class de control adecvate pentru modem prin intermediul Windows sistem de operare.
În esenţă este o versiune a elabora mai multe demonstraţii de cod prezentat mai sus.
De asemenea, C++ class mister modemul de funcţionalitate în aşa fel încât să porting alte platforme (de exemplu, Linux) se face mai uşor.
modem_control_v10.zip

4863 octeţi
MD5: 47fe45adb6813f741243f861add7be29
Un proiect Microsoft Visual C++ 6.0 fişier este inclus în codul sursă, deci se poate construi şi a executa codul de imediat ca un test.
Dar tot ce ai nevoie de relevante sunt cele două fişiere sursă ( modem_control.cpp, modem_control.h ) de a folosi codul în propria dumneavoastră software-ul.

9. Utilizarea interfeţei

9.1 Folosind interfaţa cu un computer

phone_speech_system_custom_circuit.jpg
Configurarea utilizate în experimentele mele
Ataşaţi un Splitter la telefon cablu, cu o filiala a merge la un modem, şi a altor filiala a merge la circuitul de interfaţă de telefon.
Conectaţi cele două audio fire din circuit la "microfon de intrare" şi "de ieşire pentru difuzor" de placa de sunet sau audio prize de pe computerul personal sau alt dispozitiv audio.
Folosind modemul codul de descris în altă parte în acest articol se pot utiliza modemul "de a" îmbarca "de telefon" şi "de apelare numere de telefon."
Apoi, computerul poate înregistra şi de redare audio, în orice mod doriţi.
Modem de cod pot fi apoi folosite pentru a "inchide telefonul" pentru "a" termina apelul.
Sunteti responsabil pentru notificarea apelanti dacă intenţionaţi să înregistreze orice parte a apelului.
(...  Cu excepţia cazului în care sunteţi de guvern!  Altfel, nu aşa cum se spune, şi nu ca o fac!)

9.2 Folosind interfaţa cu echipamente audio

Ataşaţi un Splitter la telefon cablu, cu o filiala a merge la un telefon obişnuit, şi de altă ramură a merge la circuitul de interfaţă de telefon.
Connect fie semnalul audio de la un microfon pentru a circuitului de intrare la un amplificator sau dispozitiv de înregistrare.
Conectaţi ieşirea din orice dispozitiv care produce mici de amplitudine audio (de exemplu, +/-1.0 Volts) să fie audio de pe soclu de circuit.
Nu conectaţi ieşirea audio a unui amplificator stereo de la circuit, pentru ca tensiunile sunt foarte foarte probabil să fie excesiv de telefon audio.
Amplificatoare stereo de obicei, au iesiri speciale (de exemplu, RCA conectori) pentru trimiterea de ieşire audio de la alte tipuri de echipamente audio care acceptă Intrare audio (de exemplu, VCR, tape recorder, televizor, etc); aceste mici iesiri de tensiune sunt adecvate pentru utilizare cu Circuitul descris în acest articol.
Astfel, o poate accepta sau de loc, solicită utilizarea de telefon, şi înregistra şi reda în timpul utilizării de telefon.
Sunteti responsabil pentru notificarea apelanti dacă intenţionaţi să înregistreze orice parte a apelului.
(...  Cu excepţia cazului în care sunteţi de guvern!  Altfel, nu aşa cum se spune, şi nu ca o fac!)

10. Reţeaua de telefonie concepte

10.1 Studiu de trimiteri

De funcţionare a sistemului de telefon este dincolo de sfera de aplicare a prezentului articol.
Consultaţi trimiteri la sfârşitul acestui articol, pentru anumite informaţii pe această temă.
Cu toate acestea, am discuta interesante subliniază, în această secţiune.

10.2 Aspecte de bază electrice

10.2.1 De telefon sau modem de "pe cârlig" de stat

Există două obiective care au dus la telefon de design:
(1) Un telefon ar trebui să fie electric "invizibile" pentru a (DC) de curent, la fel ca un circuit deschis sau o deconectare, atunci când aceasta este în de pe cârlig de stat;
(2) de curent alternativ (AC) spikes folosite pentru a face telefoanele inel ar trebui să fie acceptate de către telefoanele în pe-cârlig de stat, astfel încât acestea să va inel.
Ambele scopuri sunt atinse prin telefon proiectat astfel că un nu-condensator polarizat (sau două) este de doar link-ul de telefon la telefon, atunci când în sârmă de pe cârlig de stat.
Astfel, de curent (DC) nu poate trece prin, şi de curent alternativ (AC) semnal de apel pot trece printr la clopote de apel sau de circuit.
Când m-am măsurat rezistenţa DC de la un telefon de pe cârlig de stat, el a depăşit 40 Megaohms.
Când m-am măsurat rezistenţa DC de modem de pe cârlig de stat, de asemenea, ea a depăşit 40 Megaohms.
DC de tensiune furnizate de către compania de telefonie pentru a detecta orice rezistenta din cauza telefoanelor fiind în afara cârlig, uneori este raportat ca 48 Volts.
I +23.02 Volts (DC) măsurate, în cazul în care i-am sunat de "sârmă" pozitive "roşu, verde" şi "fire de" teren.
Notaţi faptul că această DC tensiune scade dramatic, atunci când este luată de telefon off-cârlig; am măsurat +7.17 Volts (DC) de telefon atunci când a fost în stare off-cârlig.
Tensiunea de apel este raportată a fi 90 Volts (16-60 Hz curent alternativ), care poate startle sau răniţi oameni în anumite împrejurări.

10.2.2 De telefon sau modem in "afara cârlig" de stat

Telefoane şi Modemuri cererea utilizarea unui telefon sârmă prin reducerea lor proprii DC electrice de rezistenta.
Această condiţie este detectat de către furnizorul de telefon şi de sârmă devine activ.
Când m-am măsurat rezistenţa DC de un telefon în off-cârlig de stat, el a fost de aproximativ 6.83 Megaohms.
Când m-am măsurat rezistenţa DC de modem în off-cârlig de stat, el a fost aproape exact 1.500 Megaohms.
Reamintească faptul că ambele aceste dispozitive au avut rezistenţă care a depăşit în momentul în 40 Megaohms de pe cârlig de stat.
Interesant, aceasta rezistenta este destul de mare, aproape de un om al rezistenţei electrice, atunci când atinge fire cu mâinile uscate.
De exemplu, dacă am organiza o sârmă în stânga mea parte, şi o sârmă din dreapta mea, cu mâinile relativ uscat, pot beneficia de o rezistenţă cât mai jos 0.5 Megaohms de squeezing bine pe fire.
Squeezing foarte superficial dă-mi o mai mare rezistenta DC, aproximativ 1.5 Megaohms, care aparent este încă suficient de scăzut pentru a spune de telefon pe care compania Sunt un telefon.
(Niciodată nu atinge telefon fire!)
Astfel, se poate lua simulează un telefon sau modem de off-cârlig tocmai prin introducerea unui 1 Megaohm Rezistor de telefon de pe fir.
Se poate face acest lucru printr-un circuit cu un releu controlate de către un port de pe un computer (RS-232, parallel port, USB, etc), dar un modem este un convenabil, ieftin, versatil şi alternativă la un releu de circuit.
Aşa cum am menţionat mai sus, telefon, pastrand o companie de curent (DC) potential difference (de tensiune) din sârmă de telefon pentru a detecta telefoanelor merge off-cârlig şi la întoarcere de pe cârlig de stat.
Am măsurat această tensiune ca pe-+23.02 Volts (DC) pentru cârlig, şi +7.17 Volts (DC) pentru off-cârlig.

10.3 Semnale audio

Cu telefonul în afara cârlig de stat, "ton de apel" pare a avea un curent alternativ (AC)-Root Mean-Square (RMS) tensiune de 0.139 Volts AC.
Intreaga semnal este părtinitoare DC semnificative de către o tensiune de aproximativ +5 Volts DC; +7.17 Volts DC am măsurat în timpul unui experiment.
De semnale audio sunt foarte mici abateri (doar cateva procente) în jurul acestui DC tensiune.
Aceasta înseamnă, de exemplu, că semnale audio nu fluctuează în jurul unui zero de tensiune; semnalelor audio nu face curentă a fluxului în direcţie opusă pe fire de telefon.
Se dovedeşte că interfaţa meu de telefon de circuit 0.139 VAC converteşte în semnal la aproximativ 0.030 VAC (de exemplu, 30 mV AC) pentru utilizarea de echipamente audio (de exemplu, microfon de intrare pe o placă de sunet).

10.4 Audio latime de banda

Funcţia de primar al unui sistem de telefonie vocală este de a permite comunicarea între oameni.
Următoarea diagramă arată medie spectrale de energie, pentru câteva secunde de vorbire audio.
basic_words_average_spectral_energy06.jpg
Numărul mediu de energie spectrale (Decibel scara) de mai multe secunde de vorbire pe parcursul întregii game auditive (20 Hz la 20 kHz).  La scară verticală este în decibeli, deci chiar şi o scădere modestă de pe acest grafic indică o scădere dramatică în sunet de energie.
Decibel de scară de la graficul de mai sus înseamnă că valorile mai mici de pe diagramă sunt de fapt de ordine de magnitudine mai mică de valori mai mari de pe diagramă.
Este evident că o parte semnificativă din totalul de energie din discursul de sunet este cuprinsă în intervalul de la 0 Hz la 4000 Hz.
Humans poate fiabil înţeles discurs, chiar şi atunci când toate audio de energie în afara intervalului 300 Hz la 3000 Hz este eliminat.
Cu toate acestea, efectul de a limita subiective audio de la această gamă de energie este faptul că vocile sunet muffled şi lipsa articulării.
Subtilă diferenţa dintre 'F' şi 'S' este usor de pierdut peste un telefon.
Sistemul de telefon din Statele Unite are o voce de canal care desfăşoară numai între frecvenţele 0 Hz la 4000 Hz.
Cu toate acestea, vocea passband este limitată la intervalul 300 Hz la 3000 Hz, şi acolo este creşterea rapidă a atenuare a vocii de energie în afara de aceasta trupa.
phone_bandwidth_diagram002.jpg
Latime de banda de voce ( 300 Hz - 3000 Hz ) în termen de voce Canal ( 0 Hz - 4000 Hz ) a sistemului de telefon din Statele Unite
Următoarele imagine spectrala este un teren de cateva secunde de la un telefon înregistrat tipic de conversaţie.
cell_phone_audio_spectral_view.jpg
Spectral de teren de câteva secunde de la un telefon înregistrat tipic de conversaţie (voce masculină)
Deşi frecvenţa de rezoluţie este relativ redus, ca efect limitat latime de banda a sistemului de telefon este evidentă.
În scopuri experimentale, audio proprietăţile unui sistem de telefonie pot fi simulate cu un egalizor grafic, sau un filtru bandpass într-un pachet software de editare de sunet, pur şi simplu, prin filtrarea totul 350 Hz de mai jos si tot mai sus 3500 Hz.

10.5 Important frecvenţelor audio

De utilizate pentru a "atinge tonuri de numere de apelare" şi a interacţiona cu sistemele automate sunt cunoscute ca Dual-Tone Multi-Frequency (DTMF) semnale.
Aceste tonuri poate fi generat prin simpla adăugare de două valuri de film împreună cu frecvenţele corespunzătoare, după cum se arată în următoarea matrice de frecvenţe.
Reţineţi că, în timp minim de aşteptare atunci când a trimite un DTMF sunet este 50 milliseconds, şi minime de timp (silentios dintre DTMF sunete) este 50 milliseconds.
Utilizarea unor întârzieri de 200 milliseconds, probabil, ar fi de încredere.
dtmf_frequency_table.jpg
De "ton de apel, ocupat de semnal," şi sunetele "înapoi inel-au" definit de asemenea, frecvenţa de combinaţii în Statele Unite:
phone_state_frequencies.jpg

11. Metode alternative de telefon de interfaţă

Am investit $30 şi patru de ore pentru a construi circuitul pentru a permite un calculator personal pentru a trimite şi a primi semnale audio pe o sârmă de telefon.
Acest lucru necesită o cetain fel de expertiză şi echipamente.
De asemenea, cu excepţia cazului în care sunteţi dispus să treceţi în a activităţii de fabricaţie acest circuit, nu puteţi crea un produs (ieftine de voce-mail sau robot) care necesită această interfaţă.
Cea mai simplă, necostisitoare alternativă la hardware-ul metodă descrisă în acest articol este de a utiliza o metodă de a accesa produsul software de capabilităţi de voce de o "voce de modem."
Cu toate acestea, eu trebuie să spun că în comparaţie cu folosind un circuit, utilizând un modem de voce coroborat cu un soft special este foarte probabil să fie platforma-specifice şi în general foarte dureroasă pentru a programului, configurarea şi utilizarea.
Beneficiul (Presupunând că aveţi un modem de voce) este că acest lucru ar fi o soluţie software pur.
Dacă utilizaţi un modem de voce şi un software special, sistemul dumneavoastră ar putea fi la fel de simplu ca urmatoarea diagrama.
phone_speech_system_voice_modem.jpg
Sistemul de interne, utilizând un "modem de voce" şi de software
În funcţie de nevoile dumneavoastră, voce date aspect al vocii modem poate fi semi-duplex (de exemplu, software-ul poate "vorbi" sau "asculta," dar nu ambele simultan), sau duplex complet.
Half-duplex, poate să adauge unele complexitate pentru a software-ului de control, deoarece va trebui să decidă când să transmită şi să primească audio.
Vocea digitizes de modem şi audio de sârmă de telefon transmite date peste USB sau dacă RS-232 externe, sau peste PCI autobuz, dacă interne.

12. Microsoft Telephony API (TAPI)

Microsoft sisteme de operare au TAPI 2.0 şi TAPI 3.0 DLLs.
TAPI 3.0 ar putea avea numeroase probleme de software, şi de cele mai multe persoane care s-au folosit Microsoft TAPI pur şi simplu au folosit TAPI 2.0 (care are aproape toate dorit funcţionalitatea) în loc de TAPI 3.0.
Folosiţi "wave/in" şi "wave/out" dispozitive pentru a avea acces la un modem de voce a fluxurilor audio.
Vezi TAPI carte în secţiunea trimiterile din acest articol.  Cartea este vechi, dar este TAPI 2.0 descrie în detaliu.

13. Java Telephony API

Nu stiu nimic despre Java Telephony API.
Cu toate acestea, am să presupunem, are avantajul de a fi independent de sisteme de operare, şi, probabil, mult mai simple abstractiuni are decât Microsoft TAPI!

14. Diverse produse comerciale

Comercial, rack-mount hardware de la mai multe interfeţe de telefon extern fire sunt capabile de a schimbului de date cu voce computere.
"Voice Over IP" (VoIP) produse, cum ar fi "Internet telefoanelor," acum sunt peste tot (de exemplu, "Skype)."
Evident software de computer poate avea acces cu uşurinţă la telefon audio pentru astfel de conexiuni.

15. Referinte

Cel mai bun, cel mai cuprinzător ghid pentru circuite de telefon l-am întâlnit pe internet:
http://www.hut.fi/Misc/Electronics/circuits/teleinterface.html
Un alt interesant de referinţă:
http://www.repairfaq.org/ELE/F_ASCII_Schem_Tel.html
Hilarious (si nebun) ghid pentru a plăti în jur de telefoane-Statele Unite şi Canada:
http://www.payphone-directory.org
(Uita-te la "început de colaboratori" de plata-numere de telefon, telefon mostre audio, telefon si poze.)

16. Cărţi

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)
Aceasta carte descrie multe aspecte ale circuitelor de telefon şi de funcţionare a reţelei de telefonie în SUA.
Există mai multe detalii despre circuite şi protocoale; totul de la un telefon la reţeaua de telefonie în sine.
Tehnologia fără îndoială, este foarte diferit acum, dar aceasta carte este, probabil, ceva mai practice decât o carte de istorie.

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)
Microsoft Telephony API (TAPI) de messy este inutil si confuz, si este acum extrem de învechit.  Cartea de mai sus ar putea fi singura carte publicata vreodata despre Microsoft Telephony API (TAPI).
colinfahey.com
informaţii de contact
English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية