Re: Using my cell phone as a "key fob" to replace my car keys

1,831 views
Skip to first unread message

JP

unread,
Nov 20, 2012, 9:54:36 AM11/20/12
to ioio-...@googlegroups.com

Hi James,

 

Your project sound interesting. Do you intend to develop something which can replace the normal radio controlled lock/unlock functionality of the car keys? Could you explain a litte more about the system setup, e.g. how will the Android and IOIO be used and how do you plan to interface with the key fob radio receiver and car electronics?

 

/JP

James Alexander

unread,
Nov 20, 2012, 10:46:14 AM11/20/12
to ioio-...@googlegroups.com
Correct.  So I want to eliminate the conventional key fobs and keys and only use my phone.  So the intentions is that my phone will initiate communication via bluetooth when in range of the car.  Then I can lock/unlock the doors and trunk.  

The car I am working on is a 65 impala that has no established set of electronic equipment.  So the addition of the IOIO is essentially "unhindered".  I can add/remove/modify the wiring harness to utilize the IOIO for any activity.

James

James Alexander

unread,
Nov 26, 2012, 4:48:11 PM11/26/12
to ioio-...@googlegroups.com
So I figured out my error from the previous code (a simple error).  I changed directions and have modified the HelloIOIO example to try to change the layout or background.  My goal is to change the background when the phone connects to the IOIO board.  The program loads and connects, but is not changing the background/layout.  Is there something I am missing?  

Here is a copy of the .xml file (two layouts: inactive and active):

- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">
- <LinearLayout android:id="@+id/inactive" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="center_vertical" android:background="@drawable/fob_inactive" android:gravity="center_horizontal">
  <Button android:layout_width="1dp" android:layout_height="450dp" android:background="@android:color/transparent" />
- <LinearLayout android:orientation="horizontal" android:layout_gravity="right" android:layout_width="wrap_content" android:layout_height="wrap_content">
  <Button android:layout_width="75dp" android:layout_height="45dp" android:background="@drawable/impala_logo_detail" android:id="@+id/inactive_exit" />
  </LinearLayout>
  </LinearLayout>
- <LinearLayout android:id="@+id/active" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="center_vertical" android:background="@drawable/fob_active" android:gravity="center_horizontal">
  <Button android:layout_width="1dp" android:layout_height="80dp" android:background="@android:color/transparent" />
- <LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content">
  <Button android:layout_width="130dp" android:layout_height="90dp" android:id="@+id/lock" />
  <Button android:layout_width="130dp" android:layout_height="90dp" android:id="@+id/unlock" />
  </LinearLayout>
  <Button android:layout_width="1dp" android:layout_height="90dp" android:background="@android:color/transparent" />
  <Button android:layout_width="130dp" android:layout_height="90dp" android:id="@+id/trunk" />
  <Button android:layout_width="1dp" android:layout_height="100dp" android:background="@android:color/transparent" />
- <LinearLayout android:orientation="horizontal" android:layout_gravity="right" android:layout_width="wrap_content" android:layout_height="wrap_content">
  <Button android:layout_width="75dp" android:layout_height="45dp" android:background="@drawable/impala_logo_detail" android:id="@+id/active_exit" />
  </LinearLayout>
  </LinearLayout>
  </LinearLayout>

Here is the MainActivity code:

public class MainActivity extends IOIOActivity {

 

                @Override

                public void onCreate(Bundle savedInstanceState) {

                                super.onCreate(savedInstanceState);

                                setContentView(R.layout.main);

        findViewById(R.id.active).setVisibility(View.GONE);

        findViewById(R.id.inactive).setVisibility(View.VISIBLE);

                }

 

                class Looper extends BaseIOIOLooper {

                                private DigitalOutput led_;

 

                                @Override

                                protected void setup() throws ConnectionLostException {

                                                led_ = ioio_.openDigitalOutput(0, true);

                        findViewById(R.id.inactive).setVisibility(View.GONE);

                        findViewById(R.id.active).setVisibility(View.VISIBLE);

                                }

 

                                @Override

                                public void loop() throws ConnectionLostException {

                                                try {

                                                led_.write(false);

                                                Thread.sleep(500);

                                                led_.write(true);

                                                Thread.sleep(500);

                        } catch (InterruptedException e) {

                            findViewById(R.id.active).setVisibility(View.GONE);

                            findViewById(R.id.inactive).setVisibility(View.VISIBLE);

                                                }

                                }

                }

 

                public void disconnected() {

        findViewById(R.id.active).setVisibility(View.GONE);

        findViewById(R.id.inactive).setVisibility(View.VISIBLE);

                }

               

                @Override

                protected IOIOLooper createIOIOLooper() {

                                return new Looper();

                }

}

Ytai Ben-Tsvi

unread,
Nov 26, 2012, 5:45:53 PM11/26/12
to ioio-...@googlegroups.com
This is mostly due to doing some UI operations (e.g. setVisibility()) from the IOIO thread. See runOnUiThread() in Android docs, and see IOIOSimpleApp as an example usage.


--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/d2mRa8TYbNAJ.

To post to this group, send email to ioio-...@googlegroups.com.
To unsubscribe from this group, send email to ioio-users+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/ioio-users?hl=en.

James Alexander

unread,
Nov 26, 2012, 10:53:08 PM11/26/12
to ioio-...@googlegroups.com
Thank you for the information!  I have it where it changes screens now, but need to time it so that it waits until the connection is completed before switching layouts.  Is there a way to do this?

James

Ytai Ben-Tsvi

unread,
Nov 26, 2012, 11:31:06 PM11/26/12
to ioio-...@googlegroups.com
Define "completed"...
When setup() is called, the IOIO had just been connected.


On Mon, Nov 26, 2012 at 7:53 PM, James Alexander <jale...@gmail.com> wrote:
Thank you for the information!  I have it where it changes screens now, but need to time it so that it waits until the connection is completed before switching layouts.  Is there a way to do this?

James

--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/fPMViOsza6sJ.

James Alexander

unread,
Nov 28, 2012, 10:31:42 PM11/28/12
to ioio-...@googlegroups.com
Turns out it was a case of "didn't know what I was doing".  I just got the base code working.  So the screen/layout changes when the IOIO is connected or disconnected.  my next step is to add the button functionality.

thank you for the help!  The IOIOSimpleApp proved very useful!.

thanks,
James

Kevin Krumwiede

unread,
Dec 1, 2012, 8:01:20 AM12/1/12
to ioio-...@googlegroups.com
Would love to see the video for this when you get it all working! Be sure to share.

Pablo Sanchez

unread,
Dec 20, 2012, 10:48:35 PM12/20/12
to ioio-...@googlegroups.com
I am working on a similar idea. I bought a power lock kit with a radio remote for my two door car. I'd like interface the IOIO so that it will use the second RF remote that came with the kit to send a signal. So far, my biggest obstacle has been in deciphering how the remote works. Does anyone know how much power the IOIO uses when in standby mode with a Bluetooth dongle in place?

Jeff Eberl

unread,
Dec 21, 2012, 12:45:37 AM12/21/12
to ioio-...@googlegroups.com
I don't know for sure, and I bet it depends a little on the dongle. The best thing to do is to hook up a current meter to it and see. I would guess it isn't that much, but the IOIO is probably working at full strength, just to keep searching for BT.

If you're using the remote, couldn't you just trigger the buttons? If you can find the two leads for one of the buttons, and have access to the battery, measure the voltage from the negative terminal of the battery with and without the button pressed. The side that doesn't change is either 0V or the battery voltage. Just have the IOIO set the side that changes to that voltage, and you'll have an android unlocked car.

Are you planning on leaving it in the car, and just connecting via BT when you get close? I'm sure a car battery could run a IOIO and BT dongle for months. If you're thinking of leaving the gizmo in a bag or something and powering it via battery, then you might have to charge it every day, depending on the size of the battery. I think there is a IOIO with a lipo and BT already. Sold at seeedstudio? I wonder if they have a battery life estimate...


On Thu, Dec 20, 2012 at 8:48 PM, Pablo Sanchez <pa...@isore.net> wrote:
I am working on a similar idea. I bought a power lock kit with a radio remote for my two door car. I'd like interface the IOIO so that it will use the second RF remote that came with the kit to send a signal. So far, my biggest obstacle has been in deciphering how the remote works. Does anyone know how much power the IOIO uses when in standby mode with a Bluetooth dongle in place?

--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/8NVZD11OYFgJ.

James Alexander

unread,
Dec 21, 2012, 8:44:17 AM12/21/12
to ioio-...@googlegroups.com
Kevin,
A good idea.  I will record a video sometime in January after I get the door lock actuators and the trunk lock actuator in.

James Alexander

unread,
Dec 21, 2012, 9:04:12 AM12/21/12
to ioio-...@googlegroups.com
So to Answer Pablo's and Brennan's questions...

I went down the exact same path looking at Arduino and Rasperry PI first.  The challenge there was the additional programming that I would need to do in order to complete simple functions.  After a bit of searching I found the IOIO board and it was perfect.  Plus it operates off a 5-15V input which matches the car voltage!

So far, I have the android program working that will give me my initial background and then the buttons "light up" when it is paired with the IOIO board.  This way I know when the board is connected.  Then there is a text field across the top that will tell me if the doors are locked or unlocked (I will be using a position switch to indicate the door status).  I have attached an image of what the electronics look like so far.  The basic configuration is a series of 6 FETs and a 12V to 5V DC to DC converter.  The 6 FETS control my "starter" circuit and my "ignition on circuit".  So when the IOIO board is on the ignition circuit is enabled to be turned on (otherwise no power to the car).  Then the other 4 FETS complete the lock, unlock, and trunk actuation with one FET that supplies the power to these three FETS when the IOIO board is turned on.  This way I can control the potential for battery drain or a short (probably overkill).  The DC/DC converter allows me to take a 12V signal and send it back to the IOIO board for "door status".

Oh the other "green thing in the picture" is my garage door.  I found my clicker also runs off 12V.  So what better way than to use the car voltage and an external button to control your "hidden" garage door opener and get rid of the ugly clicker.

For a Volvo 850.  I could work, but you will have a greater challenge than I do.  I am restoring a 65 impala and have the freedom to fabricate the way I want to.  With a Volvo, you will need to bypass the module that communicates with your key fob and also controls your passive car theft.  Meaning if you bypass the car locks, you may have a passive system that disables your ignition because the car thinks it is being stolen.  I am partially speculating.  If you can get your hands on a complete wiring harness for your car, That should give you some clarity on how difficult or easy it will be.

Pablo, if I understand you correctly, you want to use one key fob to control your door locks, and then your phone to control your other key fob to control the door locks?  Can you better describe your planned use?

I hope to have a video made in the next month or two showing how the entire system works.

James
2012-12-18 21.20_small.jpg
2012-12-18 21.26_small.jpg

James Alexander

unread,
Dec 21, 2012, 9:17:11 AM12/21/12
to ioio-...@googlegroups.com
Pablo,
After thinking about what you are doing for a minute, I have a couple questions.  Why do you want to keep the key fob? Is it for distance or range?  I would recommend looking at removing the controller and key fob that comes with the kit (that is my plan with the door locks I am buying) and then hook it up to the IOIO control board (through FETs).

In regards to the IOIO board consumption.  Hide a small switch somewhere that you can turn off your board or turn it on at will.  Then you don't have to worry about the long term drain on the battery.  I am hiding a switch for mine that I will use when the car will be parked for more than a couple days.

James

On Thursday, December 20, 2012 9:48:35 PM UTC-6, Pablo Sanchez wrote:

Jeff Eberl

unread,
Dec 21, 2012, 10:11:49 AM12/21/12
to ioio-...@googlegroups.com

Have you tried powering the IOIO from the car? I seem to remember my car voltage spiking around nineteen volts, even though it's a 12V system.

--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/w2tnn_PW9d4J.

James Alexander

unread,
Dec 21, 2012, 11:46:12 AM12/21/12
to ioio-...@googlegroups.com
Really?  I know that voltage regulators keep the charging voltage around 13.5 volts (not to exceed 14) from my recollection.

What car did you have that hit 19V?  I think anything above 15 for any car will start to hurt the electronics and cause permanent damage.

Would the IOIO board get damaged if there was a momentary spike over 15?
Message has been deleted

James Alexander

unread,
Dec 26, 2012, 3:37:08 PM12/26/12
to ioio-...@googlegroups.com
John,
  Thank you for the reply and the questions.  I agree with you on the concern about the bluetooth signal through the car's sheet metal.  In order to alleviate this, I have created a headliner console that will house the garage door opener, hidden am/fm booster, and the IOIO board.  It will be high in the car, and have windows in all directions that will hopefully give me the best opportunity for signal strength.

In your description, you mentioned a relay for powering your locks.  What is the current required for the relays?  I know there have been several topics on the current capacity of these boards.  After discovering that, I ordered FET (field effect transistors); I can find the Digikey part number if you are interested (about $1.00 each).  In short they are a solid state relay that has a very very low current draw as they are primarily a voltage gate.  I chose FET that are rated for 20V 30amps continuous use (plenty heavy). :) ..  

Feel free to borrow some of the code... I don't think what is posted is the most current (or works for that matter).  I posted a few times with various versions of code trying to fumble my way through it in the same manner you are.

I have attached the final version of my code that does work.  One item to do before you try it is to change the pin assignments in the main activity file.  I changed them all to 1 so you would recognize which ones to change.  You will need to have a unique number for each one.  Plus, my codes uses commands based out of the bluetooth library.  Since you will be using a USB connection, you will need to change them so yours will work.. (I think)...

Good luck.
James


On Sat, Dec 22, 2012 at 12:51 AM, John Chamberlain <cham...@gmail.com> wrote:
I like where you are going with this. I'm unsure on something though. How well will the bluetooth capability work through the heavy steel construction of a 60's Impala? Have you tested this and seen if there's any degradation in signal strength going through that metal? I'm working on something that's along these lines though not exactly what you are doing. I'm using the IOIO and a tablet that will be permanently installed into the car dash to control locks and other things as the hardware and program progresses. For my locks I am actually using a relay powered by the board the will source the necessary voltage to the harness, also one to pop the trunk hatch. Unfortunately the current tablet I Have was cheap and does not have blue tooth so I'm somewhat limited with what I can do right now, unless of course I recompile the android version I'm using and include a BT stack, even then I'm unsure if it will work since the tablet was cheap.  Anyway keep up the good work and do you mind if I borrow some stuff from your GUI code? I'm not to good at this code stuff and right now just have a super basic gui. Keep up the good work!

-John

On Monday, November 19, 2012 7:54:49 PM UTC-8, James Alexander wrote:
All,
  I am an absolute novice at programming.  My background is entirely mechanical, but decided it would be cool to utilize my cell phone to replace my car keys.  My goal is to use my phone to unlock/lock my doors (with a line of text to indicate if the doors are locked or unlocked), open my trunk, and also enable the cars "ignition or power".  Without the phone on, the car won't start.

  I have the code skeleton started.  I am trying to setup two different layouts one that is "active" and one that is "inactive".  The thought being is that you can tell when the phone is within range of the car, and don't have to guess.  I am running android 2.3.5 on an X2 and am running into a runtime error that I cannot find a solution to (see attached).  I was wondering if someone could shed some light.

  I have attached a copy of the program in a zip file.  I started with the HelloIOIO and modified the main layout to be a framelayout and reference two other layouts that will be "gone" or "visible".  At this point, I am trying to get the phone to change background/layouts.  Once I get past this hurdle, I will add the push button and pin assignments.  

  Any help is greatly appreciated.

James

--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/Hi0JF_edd-8J.
key fob - share.zip

Pablo Sanchez

unread,
Dec 26, 2012, 3:41:55 PM12/26/12
to ioio-...@googlegroups.com
James,

The main reason I wanted to use the keyfob is that I wanted a working power lock system while I play with the IOIO - lazyness. I will probably end up pulling out the control board and replacing the guts with the IOIO, or at least supplementing it.

Jeff Eberl

unread,
Dec 26, 2012, 4:20:22 PM12/26/12
to ioio-...@googlegroups.com
This was a utility truck. Maybe it's abnormal. I'm not sure what would happen to it, it's undefined, and I'm guessing it would ruin it pretty quickly. It could hurt something it was powering as well.

I'm not sure how to make it safer. If it were a smaller power supply, you could cap it with a diode, but the car's electronics would obviously be capable of sending a lot of current through the diode. Maybe you could add in a resettable fuse? Voltage goes high-> Diode dumps current, fuse blows, severing power to the IOIO?


To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/ngouCW5lUboJ.

James Alexander

unread,
Dec 26, 2012, 6:27:45 PM12/26/12
to ioio-...@googlegroups.com
Interesting plan!  I will take a look at the alternator I have and see what the general specs are for voltage output... I am expecting some small percentage of spikes that could reach 14.5 volts which is getting close... 

I will take a look at simple ways to cap the voltage.  Thanks for the suggestion!!!

John Chamberlain

unread,
Jan 4, 2013, 5:57:00 PM1/4/13
to ioio-...@googlegroups.com
James,

These are the relays that I am using.
https://www.sparkfun.com/products/100

They work well and just have to be powered by 5V so you can turn them on from the IOIO pin but gotta power them from 5V. I was thinking of powering them from an external power but only briefly and never really put any more thought into it then "Hmm wonder if I can do that" lol

jale...@gmail.com

unread,
Jan 4, 2013, 10:14:02 PM1/4/13
to ioio-...@googlegroups.com
John, thank you for the information.  In the data sheets looks like they are limited to 20ms and 5amps, will that be sufficient?  I know my system will require about 7-10 amps (surge) and my initial time duration will be between 500-1000ms.. . What door lock system are you using?..

James

Sent via DroidX2 on Verizon Wireless™


-----Original message-----
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/O2XQqbmz71MJ.

John Chamberlain

unread,
Jan 4, 2013, 11:06:05 PM1/4/13
to ioio-...@googlegroups.com
In my case I am using them to source power to the existing power lock relays in the car. It's a 1995 Pontiac Firebird so all I really have to do is pass 12V to the existing relay and letting the existing relay source the solenoids themselves, a bit convoluted perhaps but it allows me to keep everything more or less stock and limits how much I have to add wiring. This way I can simply route a new 12V for the relay and then the output from relay to the existing relay, which then will use the existing car wiring and automotive relays to actually lock and unlock the doors.

Also, I'm not to good with this java stuff so perhaps you can help me. I imported your app and using it directly connected to the IOIO with my tablet does the desired function of enabling and disabling the GUI. I made this change to it from examples gleaned from the web to make it use WIFI connection to enable and disable instead of IOIOconnection but no bueno, perhaps you could shed some light?  This is what you had

private void checkState() throws ConnectionLostException {
            if (ioio_.getState() != IOIO.State.CONNECTED) {
                    inactiveUi(true);}
            if (ioio_.getState() == IOIO.State.CONNECTED) {
                    activeUi(true);}
        }


and this is what I changed it to:

private void checkState() {
            ConnectivityManager conMgr =  (ConnectivityManager)
                    getSystemService(Context.CONNECTIVITY_SERVICE);
            if (conMgr.getNetworkInfo(0).getState() != NetworkInfo.State.CONNECTED){
                inactiveUi(true);}
            if (conMgr.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED){
                activeUi(true);}
        }

It will still only set GUI active when connected to IOIO and doesn't give a damn about the wifi status.  Any ideas?

John Chamberlain

unread,
Jan 5, 2013, 12:55:31 AM1/5/13
to ioio-...@googlegroups.com
Ok,
Let me take a step back and explain what I'm doing. I decided to go ahead and rewrite this whole thing and basically keeping your front end (It just looks really cool) and trying to use your code as an example of switching GUI's on certain events. Because of my hardware limitations I am going to use WiFi. Here is the setup Cell Phone as FOB and ID. In car will be a Tablet with IOIO Connected via USB. The tablet doesn't have BlueTooth and I don't have the money to get an updated one so I'm using what I have and will rewrite later. The tablet will be tied in every aspect of my car eventually but first things first. I'm using a Java Socket server/client code in my programs, and wifi tethering from my phone, this should give me to advantages, WiFi on the tablet as long as my phone has cell service, and sending commands from phone to tablet and having tablet side app catch commands and execute them. So if I can figure it out correctly I can have the tablet just sit there looking for a certain wifi connection, when it sees it it will connect, and then accept commands from the phone. On the phone side when it sees this wifi connection it should unlock the gui and give me control like the on ioio connection does. Any ideas here? I think I may be using the wrong network status. Maybe I should use the java server/client socket connection enabled instead?

If you want to see the code let me know.

-John

Ytai Ben-Tsvi

unread,
Jan 5, 2013, 3:17:30 AM1/5/13
to ioio-...@googlegroups.com

Quick comment: you can't use the IOIO pins to drive the relay directly, if that's what you were thinking. You need a simple circuit with a transistor and a freewheel diode to do that.

--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/4YAIJJF9OtYJ.

James Alexander

unread,
Jan 5, 2013, 3:12:57 PM1/5/13
to ioio-...@googlegroups.com
John,
That sounds like quite the undertaking... so you will use the phone to talk to the tablet to command the IOIO board to command your 5v/12v solenoids to control your door lock solenoids?  That sounds like a huge challenge and way above my head... I maxed our my intellectual capacity with the simple system I put together.  Your setup does bring up one other question.  If you have your cell phone communicating with your tablet, how long before the tablet battery runs out?  Or if you have the tablet running constantly, what is the current draw and how long will it run before it drains your car's battery?

Due to the unknown of the IOIO bluetooth power consumption.  I am going to have a hidden power button that I will use when the car is locked and the car will be sitting for more than a couple days in order to prevent a dead car battery.

James

John Chamberlain

unread,
Jan 5, 2013, 3:46:57 PM1/5/13
to ioio-...@googlegroups.com
James,
The hard part is the coding for me, I've already figured out the relay workings, I simply have to hook it up to the car and route a constant 12V to the relay being activated by the IOIO. The rest will do it's own job. The Relays that actuate the solenoids already have constant 12V otherwise we wouldn't be able to use our keyfob at all. I am unsure how long the car battery will last but I don't think the IOIO or the tablet will draw to much, car batteries can last a long time but I guess I'll find out and of course it will depend on the tablet I use, I can turn off screen (which is the biggest consumer of power) and still have everything else running in the background. Just a quick update as well, I've gotten it to work using a bit of brainpower and some sleep lol, woke up this morning looked at it and thought "Hmm... I'm putting the checkState in the wrong place" and Voila, it works. 

Ytai,

Thanks for the comment, but I've got that part working. I'm using a simple circuit to activate my relay currently pulling it's 5V from the IOIO but possibly moving that somewhere else, using I think pin 45 to activate the circuit  but I am not driving the relay directly from the IOIO pin.

-John

jale...@gmail.com

unread,
Jan 5, 2013, 4:26:10 PM1/5/13
to ioio-...@googlegroups.com
Sounds cool. And well thought out.  Do you have any pictures to share yet?


Sent via DroidX2 on Verizon Wireless™


-----Original message-----
From: John Chamberlain <cham...@gmail.com>
To:
ioio-...@googlegroups.com
Sent:
Sat, Jan 5, 2013 20:47:00 GMT+00:00
Subject:
Re: Using my cell phone as a "key fob" to replace my car keys

--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/rJNwLvrrqRsJ.

Jeff Eberl

unread,
Jan 5, 2013, 5:34:15 PM1/5/13
to ioio-...@googlegroups.com

I have bought relay boards from eBay or deals.net for very cheap, and they work great. They have leds to indicate their state as well.  I just search for "arduino relay".

John Chamberlain

unread,
Jan 6, 2013, 12:20:23 AM1/6/13
to ioio-...@googlegroups.com
James,

No I don't have pictures yet, it's all in pieces all over the place (that my wife made me cleanup so now it's in boxes and I have to assemble circuits again lol) but I will when it's more complete, I have some boards to make my relay circuits.

Jeff,

Thanks for the tip but I've already bought the relays and components I'll keep that in mind for next time.

-John

Rich Mayfield

unread,
Jan 8, 2013, 3:01:03 PM1/8/13
to ioio-...@googlegroups.com
John,

Have you thought about security for this thing? Besides obscurity? I mean, all I have to do is pair with your IOIO (PIN= 4545), turn all the pins high, and watch your car start and open all the doors and trunk. Not that anyone's going to know how to do that but us nerds. 

There's a way to change the bluetooth pin, but you have to flash new firmware:


I don't know if that's something that could be stored in some sort of persistent memory on the IOIO instead of flashed with the firmware...Ytai? It'd be a nice security feature.

-Rich

Ytai Ben-Tsvi

unread,
Jan 9, 2013, 12:04:31 AM1/9/13
to ioio-...@googlegroups.com
The application firmware can certainly write to flash if it wanted to. This is not currently done, however.


--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/Sl2EkFOQyzMJ.

John Chamberlain

unread,
Jan 9, 2013, 1:31:31 AM1/9/13
to ioio-...@googlegroups.com
Rich,

You said John but I have a suspicion you meant James who is the OP of this thread. I am not going to be using bluetooth at all for my project. That is definitely a worthy concern although there are likely ways to get around that if one doesn't want to repin the BT. (I.E. A combination of outputs on certain pins in order to activate that only the original program has) but of course just being able to repin the BT is much easier lol

James Alexander

unread,
Jan 9, 2013, 8:45:55 AM1/9/13
to ioio-...@googlegroups.com
John, Correct,  I will be using bluetooth for the car's connection.  Thinking through the scenario that if someone did know the pin to my bluetooth connection, they would still need to know how to start my car.  All of the lights may turn on, but the engine won't start without another step or two...

I did look at the link to change the PIN for the IOIO, which is probably a good idea for added security, but is way above my head/understanding.  Is there a shortcut method or a simple step by step?  I am hesitant to go into it and then screw something up.

James

Ytai Ben-Tsvi

unread,
Jan 9, 2013, 11:54:14 AM1/9/13
to ioio-...@googlegroups.com
It will be very hard to screw something up...
Worst case you installed bad firmware on the IOIO and you can always reinstall the stock one.
Chances are that you'll have some learning curve for building the firmware, but I'm sure you can cross it with some persistance. It isn't rocket science, and I'm here to help. Join ioio-dev for more info.


--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/C_f_cMBJ6rUJ.

jale...@gmail.com

unread,
Jan 9, 2013, 1:00:27 PM1/9/13
to ioio-...@googlegroups.com
Ytai, that is good to know.
My first few questions are:
Is there a preferred software package to modify the firmware?
Can I start with the existing build and modify it for the new pin?
I remember seeing steps to flashing the ioio, where is the process best documented?

James


Sent via DroidX2 on Verizon Wireless™


-----Original message-----
From: Ytai Ben-Tsvi <yta...@gmail.com>
To:
"ioio-...@googlegroups.com" <ioio-...@googlegroups.com>
Sent:
Wed, Jan 9, 2013 16:54:35 GMT+00:00
Subject:
Re: Using my cell phone as a "key fob" to replace my car keys

Jeff Eberl

unread,
Jan 9, 2013, 8:32:21 PM1/9/13
to ioio-...@googlegroups.com

The most recent info is only in the ioio dev forum. IIRC, there is a wiki page, but it's not as complete as the ioio-dev.

James Alexander

unread,
Apr 6, 2013, 4:45:12 PM4/6/13
to ioio-...@googlegroups.com
All... for those interested, I finally got the system completed and working.  I am able to lock, unlock, actuate the trunk, and control the ignition system.  The demo is done on the floor of my den, but will soon be in the car.

Let me know if you have any questions.

James

Ytai Ben-Tsvi

unread,
Apr 6, 2013, 7:22:28 PM4/6/13
to ioio-...@googlegroups.com
Good stuff!
Please share with us again when you have it mounted in the car.
Any thoughts about security? How are you preventing anyone else from installing the app and going with your car?


--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ioio-users+...@googlegroups.com.

To post to this group, send email to ioio-...@googlegroups.com.

Rich Mayfield

unread,
Apr 6, 2013, 7:38:01 PM4/6/13
to ioio-...@googlegroups.com
That's awesome. Did you just use a SCR for the ignition circuit? Is that how you got it to stay on when the phone disconnects?

Wouldn't it be awesome if Ytai made a changeBTpin(int pin) class? ...here's wishing :)

Bradley Barks

unread,
Jul 29, 2013, 3:46:07 PM7/29/13
to ioio-...@googlegroups.com
Fascinating stuff, James! Loved seeing the demo and can't wait to check it out once there's a demo of the actual car. 

Is this something that a chip key would still work with, or would it simply be a process of unlocking the door and then inserting the key anyways?

Great craftsmanship dude; have it been installed on the car yet?


On Saturday, April 6, 2013 1:45:12 PM UTC-7, James Alexander wrote:
Reply all
Reply to author
Forward
0 new messages