sky-peak: bridging skype jamie caudill eastern kentucky university
TRANSCRIPT
SKY-PEak: BRIDGING SKYPE
Jamie CaudillEastern Kentucky University
2
OUTLINE
I will talk about how I developed a system to use my home phone line remotely.
I will explain the difficulties that I encountered and the promising opportunities for expansion that I discovered.
3
MOTIVATION
I plan to travel around the world. I wanted a way to call people back home.
I wanted to avoid the steep long distance charges involved with international calling.
4
INTRODUCTION I had to become more proficient
at using Arduinos. I had never used some of the
hardware involved. I had to learn more about Arduino
programming.
5
INTRODUCTION I had to learn about phone
systems. How dialing is achieved.
DTMF Pulse
How voices are modulated.
6
PROBLEM STATEMENT
Need a way to remotely dial numbers on a home landline and route the conversation through the internet. Solution must use free services. Solution needs to use a
minimum of hardware. Hardware involved must be
cheap.
7
ASSUMPTIONS
The Arduino needs access to: A working phone landline. A wired internet connection. Residential electricity.
A device that has a web browser is needed to control the Arduino remotely.
8
SOLUTION I decided to use an Arduino.
I had experience programming Arduino microcontrollers before.
They have add-on shields that address common needs.
I decided to use SKYPE. Free service Easy to use
9
SOLUTION (CONTINUED) I added audio jacks to a phone to
bridge the connection between SKYPE and the landline. Phone audio output to computer
input. Computer audio output to phone
input New SKYPE account was setup to
automatically receive calls from my other SKYPE account,
10
SOLUTION (CONTINUED) I wanted to have the Arduino
generate tones in order to dial phone numbers on the landline.
I could not get this system to work correctly so I used pulse dialing instead. The phone connection is pulsed on
and off in order to dial numbers. This is how all phones used to work.
11
SOLUTION (CONTINUED) I used a relay to pulse the phone
connection It was controlled by an Arduino Uno.
I created code that could dial individual numbers.
I spent a week figuring out timings between pulses and during the peaks and valleys of the pulse.
12
SOLUTION (CONTINUED) I connected an Ethernet shield to
the Arduino board. This allowed me to connect the
Arduino Uno directly to my home network.
I set up a web server on the Arduino. I had difficulties because I had never
done this before.
13
SOLUTION (CONTINUED) I programmed the server to read
and respond to characters appended to the end of the server’s address in a browser.
Server Address:
Appended Server Address:
14
SOLUTION (CONTINUED) The server looks for the ? symbol.
Then it individually reads the characters that follow and executes commands based on those characters. “a” opens the line. “z” closes the line. “c” opens the line for one second
before the dialing begins. If a number is read, the corresponding
number is dialed on the landline.
15
RESULTS I was able to use my iPhone to
call my SKYPE account at home. I used my phone’s web browser
to access the Arduino server. I used an appended URL to
make a call on my home landline.
I was able to talk to someone on my home’s landline using my phone’s SKYPE
16
CONCLUSIONS I can now call, for free, friends
and family from my hometown from anywhere that has a internet connection.
I learned a lot more about Arduino microcontrollers. It was very interesting to learn how
to control an Arduino through the internet.
I can apply this new knowledge to future projects.
17
FUTURE WORK
The dialing process involved turn a relay on and off in sequence.
The relay could be connected to any device and the coding could be changed to do whatever you needed the device to do.
This would allow cheap, internet-based control of any device.
18
REFERENCES
Caudill, J. (2013,May 10). SKY-Peak: Bridging SKYPE. Retrieved from http://people.eku.edu/chandrav/NET/Capstone_2013/capstoneProjects_2013.html