APRS contact with International Space Station

IMG_0389Shortly after learning about APRS (Automatic Packet Reporting System), I decided to see if I could interface my cheap BaoFeng UV-5R with my iPhone for use with PocketPacket.

A quick google search yielded the a schematic designed by KK6GIP. A good place to start.

A quick dig around in the junk box yielded the necessary components, a piece of recycled project board, an old busted iPhone headset, and the cheap headset that came with the radio. A few minutes later after some wire trimming and soldering – Voila! – an iPhone to BaoFeng audio interface.

IMG_0383

I tuned the radio into 144.390 MHz (a common 2m APRS frequency) and transmitted an APRS data burst. This resulted in my coordinates and message being received by K2PUT (a local digipeater) which was forwarded to an internet gateway.

Ok that was fun. What next?

When the International Space Station isn’t using its ham radio for voice, it operates as a FM Packet Radio Digipeater on 145.825 MHz.

scene composition: litho, frame 22

So I connected my homemade 2m yagi antenna, tuned to 145.825 and set my digipeater path to ‘VIA ARISS’.

Now all I had to do was wait for the ISS to pass overhead. The ISS completes around 15 orbits a day, so this didn’t take too long.

Using an iPad application called ProSatHD, I was able to determine down to the minute when and where the station would pass overhead.

Continue reading “APRS contact with International Space Station”

Chromecast Has Been Rooted – Bootloader Exploit

Well that didn’t take long. The team over at GTVHacker have worked their magic on Chromecast. The HDMI dongle announced by Google last week was so popular they had to cancel their 3-free-months of Netflix perk.

via Pocket http://hackaday.com/2013/07/29/chromecast-bootloader-exploit-it-runs-android/

Here’s the how-to: Bootloader Exploit Package
Waiting on my USB OTG cable to come….

Chromecast Hacking Has Begun

chromecast
Initial chromecast testing has revealed that it is a DIAL device and sniffing shows several interesting commands that can be sent to it.

The chromecast dongle is apparently listening on http port 8008. (Also port 9080 while Netflix app is running)

Some control can be established by sending simple HTTP GET’s, POST’s and DELETE’s.

** For these examples the youtube app is running, also available are Netflix, ChromeCast, and GoogleMusic.

get device information xml:
curl http://10.0.1.2:8008/ssdp/device-desc.xml

get detailed device information json:
curl http://10.0.1.2:8008/setup/eureka_info?options=detail

scan for available wifi:
curl http://10.0.1.2:8008/setup/scan_results

get supported time zones:
curl http://10.0.1.2:8008/setup/supported_timezones

get info about current app:
curl -H “Content-Type: application/json” http://10.0.1.2:8008/apps/YouTube -X GET

send youtube video to chromecast:
curl -H “Content-Type: application/json” http://10.0.1.2:8008/apps/YouTube -X POST -d ‘v=oHg5SJYRHA0’

kill current running app:
curl -H “Content-Type: application/json” http://10.0.1.2:8008/apps/YouTube -X DELETE

reboot the chromecast dongle:
curl -H “Content-Type: application/json” http://10.0.1.2:8008/setup/reboot -d ‘{“params”:”now”}’ -X POST

factory default reset the chromecast dongle:
curl -H “Content-Type: application/json” http://10.0.1.2:8008/setup/reboot -d ‘{“params”:”fdr”}’ -X POST

Hopefully more to come… Focusing on the websocket connections now

I would like to be able to send commands (power, volume, source) to the tv through the hdmi-cec connection of the chromecast.

Siri – Controls My Car

Siri - Vehicle Start
Siri - Vehicle Start

Yes, it really does control my car! 😉

I created a new ruby plugin that is used by plamoni’s “Siri Proxy”, a proxy server for Apple’s Siri assistant. This proxy server allows for the creation of custom plugins that can intercept recognized speech and perform virtually any function imaginable (programmable, scriptable).

The “Siri Proxy” plugin I wrote handles interaction with a php script that runs on my web server. The php script, which I developed months ago for personal use, allows me to send commands to my car which has a Viper SmartStart module installed.

Current commands accepted are: “Vehicle Arm”, “Vehicle Disarm”, “Vehicle Start”, “Vehicle Stop”, “Vehicle Pop Trunk”, and “Vehicle Panic”.

–UPDATE: Now it also responds to more conversational commands such as “Start my car”, “Lock my car”, “Pop my trunk”, etc…

I may change the command wording a bit later.  This was just a proof of concept. We’ll see.

Technical Details:

  • Siri Proxy & DNSMasq box – Ubuntu 11.04 Server VM
    Ruby 1.9.3
  • LAMP server – Ubuntu 10.04 LTS Server
Code:

More info upon request, demo video coming soon!

–UPDATE: Video Proof Can Be Found Here

–UPDATE 2: Video Proof With My Car