Monday, January 14, 2013

Projects I'm working on...(Part 2)

The second project I'm current working on is a wired Ethernet connection throughout the house, so that my family and I don't have to rely on mobile external hard drives, considering we already had two that have broken down in the past.

My neighbor has already wired up his house with a Linux Server powerhouse, complete with Ethernet and X10 devices galore.

Essentially the wired connection would allow us to connect our computers through the wall, down to a hub in the garage, and back up to the server with one or two external hard drives connected to it. All at around ~100mbps speeds.

I believe that you can also hook up a router to the hub and any computer wired up to the hub would get faster speeds, though I haven't researched this yet.

I've been using AT&T Uverse wireless for a few years now, and I can say I've almost never had an issue with it(Roughly ~20mbps). However, as everyone knows, it could always be a lot faster on a wired connection, and while I wait for Google's fiber to come to our neighborhood(Curse you Kansas), I'll have to settle with this.

The Process:
First I needed go to the phone box outside and figure out which wired led to which room. This point is where I figured out my house was installed with CAT5 cables instead of CAT5e, which essentially means I can only have 100mbps instead of 1 Gigabit per second , which was a bummer. (Note: read this on the difference between Gigabit per second and a Gigabyte per second speeds).

Look at that beautiful mess.
I had noticed none of the wires were labeled, so I had to perform the old practice of plugging a phone into the walls and disconnecting a line until the phone didn't work, three times over.

Once I figured out which line went to which room, there was the process of drilling a hole through the wall and stuffing the wires I wanted to use for internet through it. It was a too narrow of a squeeze to drill from the outside of the house inside as the telephone box was blocking it, however locating a wire (so many wires) going from the inside to the outside just above the phone box allowed me to drill from the inside.
And then I had my hole.
Hole

I then needed to replace the wall plates on each room with an Ethernet wall plate, known as RJ-45. Telephone ports, or RJ-11, were the plates I had installed at the moment. I managed to replace the wall plate behind my bed in my room, and half replace the wall plate behind my parent's desk, as they required a telephone and an Ethernet connection, which leads me into my topic of pairs.

Pairs:
Pairs, from what I've learned, refer to the individual pairs of wires inside an Ethernet CAT5) cable. Each pair is colored with a solid and striped wire. There are four pairs in each cable, one blue (referring to telephone line 1), one orange(referring to telephone line 2), one green and one brown. By default(in my house), the blue and orange lines were plugged into the phone box while the green and brown lines were curled around the wire unused.

For 100mbps Ethernet speeds, only two pairs are required, while 1gbps speeds require four pairs. NOTE: this is internal internet speed, not external, so you won't be download movies in half a second if you do this. You will, however, be able to transfer movies from one computer to another in a much shorter time span than using a flash drive or uploading it to a site like mediafire.

Now, since I can only have up to 100mbps speeds through my cables, I only need two pairs to get the job done, which means 2 pairs are left, allowing me two plug a phone outlet and an Ethernet outlet into the wall plate. I bought a plate with these two plugs(RJ-45 and RJ-11) at Lowes, and plugged it in. The phone works fine for it, though I still have yet to test whether or not the internet works, since I still need a couple things to get that working.


Looks much better.

Once I've replaced all the wall plates I need to, their's the process of crimping the cables (yay). Crimping Ethernet cables is essentially taking all of the eight copper wires within the CAT5 cable, putting them side-by-side in the right order, straightening them into a line, shoving them into a RJ-45 plug(the plastic head at the end of an Ethernet cable), and crunching it down with a special tool, available at Lowes(I'm not advertising for them, I swear).

Crimped Ethernet Jack.
When the heads are crimped, finally we must connect them all into a Ethernet hub, which you can find at Lowes on eBay here. This should allow the computer to talk to each other, and send files to each other with relatively high speeds.

With this goal in mind, I've ordered a 4TB (you read that right) WD My Book External Hard Drive off of Amazon, and will hopefully be able to set everything up by next week (the hub will be arriving "before or on Jan. 18th").

I'm also planning to build a Linux server to manage the external HDD, though that'll be a project for later, since it will require a long time to order all the parts and assemble the machine. It's going the be the first computer I've ever built, so wish me luck!

And with that, you're up to date with all my most recent projects. I'll be posting regular updates of how things are going, and what I find out along the way. Thanks for reading!

Projects I'm working on...

Hey everyone, sorry I haven't posted much at all, but finals this week have been a pain. However, I thought I'd take a quick break to explain what I've been working on for the past few weeks.

SiriProxy on the RaspberryPi

After reading on article on one of my favorite blog sites about a chap in Europe who got his garage door to open by speaking a command through siri, I knew I wanted to try it out. (Original article here: http://www.idownloadblog.com/2012/12/17/open-garage-door-with-siri/)

RaspberryPi:
The RaspberryPi is essentially a miniature computer designed by a teacher with the goal "to see cheap, accessible, programmable computers everywhere", and to allow "the board [to be] desirable to kids who wouldn't initially be interested in a purely programming-oriented device." And at only a mere $35, with half a gig of RAM, a (somewhat) adequate GPU and CPU, and a GUI similar to a simplified version of windows XP, this thing was a steal.

So I bought two.


Now of course there are other small computers out there, such as the Arduino, though the RaspberryPi (in my opinion) is an easier board to get started with.

SiriProxy:
SiriProxy is a Linux-based Ruby script developed by plamoni to allow iPhone users using Siri to connect to Apple's server's through a proxy, effectively giving them the power to execute ruby code upon the event of specified dialogue.

Basically, it send the voice packets you speak to Apple's (Nuance's?) servers and returns a string matching what you just said. The string is thing passed into SiriProxy where it will match it to a pre-determined function, and if it finds a match, it will run the code inside the function. If it doesn't find a match, then it just says what Apple's Server's would normally say to the user (Ex. User: "Open the Garage door." Siri: "You don't have an app named Garage Door! :D).

Installing SiriProxy on the RaspberryPi:
This. Took. A while.
Not only did it take over two hours to install completely (Installing RVM takes an hour and a half on the pi), but I (thought I) messed up half a dozen times. Once I had finished the install, some bug would arise where either the phone would not connect to the proxy, or one of the plugins would fail, or apt-get wasn't updated and updating it seemed to make something crash.

I ended up posting on Stack Overflow for an answer (See the Conversation here). Throughout it one of the responders posted his working SiriProxy disk image(the RPi runs off an SD Card) and testing the device was now much quicker (A quick disk wipe and install versus another 2 hour install from scratch). I eventually found that my DNSMASQ settings were off, and experimenting finally resolved in success.

The iPhone is able to connect and the proxy does respond with the correct responses(Ex. "Test Siri Proxy" "SiriProxy is up and running!"). However, upon editing the default plugin and rebundling the software, my changes don't seem to save.

I'll start working on it again next week. This week is saved for this another project.


Wednesday, December 26, 2012

About Me

Before you start reading any blog, you'll probably want to know a little about who these words are coming from.

My name is Andrew. I am 16 years old and am currently attending high school, and am (of course) planning to attend college. I enjoy technology, gaming and video design. I just recently passed my written test for my driver's permit, and currently have a couple weeks off from school for winter break.

Alright, now that we have that out of the way, I can finally post some interesting stuff.

Tuesday, December 25, 2012

The Beginning.

Welcome to my new blog: Anything Interesting (to me). It will mostly consist of topic having to do with technology and the sciences, though may include gaming or other things.

Hope you enjoy reading, and hope I do a reasonable job telling stories. ^_^'