06-28-2022, 06:52 AM | #89 |
Registered
0
Rep 2
Posts |
Hi AlbertoSONIC,
first of all thank you from across the globe for this amazing project. I'm planning to do it this weekend as well (hope the parts arrive till then). I just have a few questions regarding the lastest information on here. As i also see in the code there is no unlock performed anymore. So in theory i don't have to connect the unlock button on key. Is there anything against it? Secondly you are using the constantly powered clamp 30 from the FEM. Since some problems with battery consumption were mentioned in here i'm planning to use the 30_B clamp. This will shut it self off soon after a defined time (3min when doors locked with engine off) but will be powered on when vehicle wakes up like with one push of the lock button. So maybe this will require me to first push the lock button to activate the 30_B to activate the Arduino's power source and then performing the tripple click. Do you think this will work? Is there a startup time for Arduino to be ready to listen to Can-Bus? And to make my first post even longer, is it possible to add an second push of the start button in engine stop sequence in code to turn the vehicle completely of? |
Appreciate
0
|
06-28-2022, 07:00 AM | #90 | |
Private First Class
![]() 101
Rep 155
Posts |
Quote:
I'll try to answer your questions: 1) Yeah you can completely avoid soldering the Unlock button 2) Yes that would be a good idea, but U actually haven't tried it yet. The guy of the post above yours stated that it works perfectly with that configuration, and doesn't even require (as I would have thought) to first wake up the car and then triple press the lock button. Looks like you can just triple press the lock button: this will make the car wake up and the buffer of the CAN module will be fast enough to read the key presses and start the car! 3) Yeah that's totally doable, just edit the code of the shutdown function ![]() |
|
Appreciate
0
|
06-28-2022, 07:01 AM | #91 | |
Private First Class
![]() 101
Rep 155
Posts |
Quote:
|
|
Appreciate
0
|
07-01-2022, 04:33 AM | #92 | |
Registered
0
Rep 2
Posts |
Quote:
|
|
Appreciate
0
|
07-01-2022, 05:46 AM | #93 | ||
Private First Class
![]() 101
Rep 155
Posts |
Quote:
![]() |
||
Appreciate
0
|
10-08-2022, 01:54 PM | #94 |
Colonel
![]() ![]() 765
Rep 2,116
Posts |
The range of my factory key FOBs is about 10 meters, if I am lucky. Would be nice to be able to start it from a much longer range. It should be possible to add a DIY CAN module with a remote receiver that is connected to the car's CAN bus. This module injects (send) the key FOB's door lock signal code in to the CAN bus. This is picked up by your gadget and from there it works as you described. Or the CAN bus door lock signal is encrypted to the car and changes every time?
Can use any decent range aftermarket car remote control that has security built-in and can do on/off, or a long range BLE module. |
Appreciate
0
|
12-07-2022, 05:39 PM | #95 |
Registered
![]() 0
Rep 1
Posts |
I am going to be attempting this, but i am a noob at Arduino. Can someone help with providing the code needed to complete the timing code as provided by the OP?
code needed: can.h mcp2515.h SPI.h |
Appreciate
0
|
12-08-2022, 05:20 PM | #96 | |
Colonel
![]() ![]() 765
Rep 2,116
Posts |
Quote:
The Arduino Nano board and all basic libraries for it should be installed by default. Those libraries that you listed above the program needs to run. The SPI library should be already installed by default when you open the Arduino IDE. If this comes up as an error later, let me know. I suspect that the can.h file is in the same library as the mcp2515.h (if not let me know) You need to download and setup the Arduino IDE.0. When you open it, make sure the following library is installed: https://github.com/autowp/arduino-mcp2515 There are two ways to install this. From the page I linked where this library is click on the green "Code" and select "download as zip". Put that ZIP file into the Arduino IDE libraries folder. If you do not have such folder, then create on. It should be placed here: C:\Users\YOUR_COMPUTER\Documents\Arduino\libraries Put this zip file inside it. You have two options to let Arduino IDE know to find the library. Try the easier option: open the Arduino IDE and go to the menu item above that says "Sketch" => "Include Library" => "Add Zip Library" ..now navigate to the C:\Users\YOUR_COMPUTER\Documents\Arduino\libraries folder and click on the zip file arduino-mcp2515-master.zip and let the Arduino IDE do its thing. Hopefully this take scare of the can.h too. Now the main program. All your programs (i.e. sketches) should be in this folder: C:\Users\YOUR_COMPUTER\Documents\Arduino Add the program file ( bmw_remote_start.ino ) there. Then click on it to open it. The Arduino IDE will complain that this file has to be enclosed inside a folder. Just click on OK, and let it do it for you. Eventually the codes page will open. Once you have the program code open, you should be able to select the Arduino Nano board from the Arduino IDE menu on top from "Tools" => "Boards" => "Board Manager"=> "Arduino AVR Boards" => "Arduino Nano" Make sure your Nano board is plugged in the PC and select its COM port. Now click on the blue check mark arrow on the top left to run a "compile". If all your libraries are there it should compile without any errors. The you can upload it with the right facing blue arrow next to it. Let me know if you run into any errors. Last edited by fe7565; 12-09-2022 at 05:02 PM.. |
|
Appreciate
1
Blueboxer0020.00 |
12-29-2022, 02:17 PM | #97 |
Colonel
![]() ![]() 765
Rep 2,116
Posts |
|
Appreciate
0
|
01-15-2023, 05:00 AM | #98 |
Colonel
![]() ![]() 765
Rep 2,116
Posts |
__________________
Help each other: if you manage to fix your issue (especially with help from this forum), don't be a d*ck and disappear. Follow-up by posting the solution so you can help others.
Last edited by fe7565; 01-16-2023 at 09:58 PM.. |
Appreciate
0
|
10-13-2023, 02:28 PM | #100 | |
Colonel
![]() ![]() 765
Rep 2,116
Posts |
Quote:
I would be interested. I am fairly familiar with BLE coding, but not with MQTT. What distances are you getting with the Nano 33? Using BLE between the car and the Nano 33? Or using the home wifi to reach the car with the Nano 33 inside?
__________________
Help each other: if you manage to fix your issue (especially with help from this forum), don't be a d*ck and disappear. Follow-up by posting the solution so you can help others.
|
|
Appreciate
0
|
10-13-2023, 07:06 PM | #101 | |
Colonel
![]() ![]() 765
Rep 2,116
Posts |
Quote:
https://send.internxt.com/ Are you planning to do the OTA over wifi or BLE?
__________________
Help each other: if you manage to fix your issue (especially with help from this forum), don't be a d*ck and disappear. Follow-up by posting the solution so you can help others.
|
|
Appreciate
0
|
11-21-2023, 11:07 PM | #104 |
New Member
![]() 0
Rep 10
Posts |
Hello and big thank you AlberoSONIC for your amazing work, I will try to give a try for my F11 manual gearbox. I will say I'm good with wiring an cars electronics but never worked with Arduino.
Did you try or think to use Gate Controller, like G202 which have a nano SIM inside. And you can call that SIM number and with that 3A signal to use it and start the car via phone. Could this device power up Arduino, or do you know how we can use this device to start car via phone call? Thank you! |
Appreciate
0
|
12-19-2023, 05:23 PM | #105 |
Private First Class
![]() ![]() 134
Rep 158
Posts |
Doing some more digging, the commercial solutions like bimmertech and easyguard use FEM A173*2B, pin 30 for driver door lock and FEM A173*4B, pin 16 for central locking to imitate keyfob lock press.
Last edited by sizanx; 12-26-2023 at 04:40 PM.. |
Appreciate
1
blueboxer0070.00 |
12-29-2023, 02:23 PM | #107 |
Private First Class
![]() ![]() 134
Rep 158
Posts |
By adding a 1000 ohm resistor to "driver door signal" on FEM A173*2B, pin 30 and to the relay, you can start the car without tapping into the keyfob lock button
![]() So next step is figuring out how to see if FEM A173*4B, pin 16 can circumvent this or some kind of CAN bus fiddling - I am trying to figure out what the default resistance is for engaging the fuel filler flap actuator is. |
Appreciate
0
|
01-01-2024, 02:12 PM | #108 |
Private First Class
![]() ![]() 134
Rep 158
Posts |
After some time playing around trying to figure out how do remote start without tapping in the key, here is my very work-in-progress solution
![]() What's changed:
The commercial solutions (Bimmertech, EasyGuard others) unlock to disarm alarm and lock to arm the alarm again. I cannot figure out how, I think via KCAN_2 but what CAN ID's and such I don't know - tried some sniffing without any luck.... Some solutions (older Bimmertech) use A173*4B, pin 16 central locking for fuel cap actuator, but I haven't figured out in what sequence it needs to triggered in order to unlock and lock the car, or even if this is needed. The newer Bimmertech for f30 uses the same pins as described in this post without central locking. (Researched via youtube and aliexpress) Good to know: If you have another arduino, a good thing is to use one arduino as ISP programmer to program the other. This removes the bootloader and the startup time decreases to about 500 ms instead of 2 seconds. This would help in catching the first keypress when using terminal 30b/or other non constant 12v source. Changes to code: The relay for DOOR LOCK should only be open for 100 ms as if it's longer the alarm beeps for longer (the alarm does disengage). The code change is very small: Code:
if (millis() - engine_do_start_time < 300) { //KEY_POWER_ON - 300 ms digitalWrite(RELAY_KEY_POWER, RELAY_HIGH); Serial.println("1) Turn on the in-car key (300 ms)"); } else if (millis() - engine_do_start_time < 400) { //DOOR_LOCK - 100 ms digitalWrite(RELAY_DOOR_LOCK, RELAY_HIGH); Serial.println("2) Imitate door lock (100 ms)"); } else if (millis() - engine_do_start_time < 800) { //WAIT - 400 ms digitalWrite(RELAY_DOOR_LOCK, RELAY_LOW); Serial.println("3) Release door lock and wait (400 ms)"); } else if (millis() - engine_do_start_time < 2800) { .... Conclusion: So it is still a WIP, but it is still usable as is. If anyone has any idea how to disarm/unlock the car and arm/lock the car again in software, feel free to contact pm or respond in post. I mean you could use A173*7B pin 27 to "press" the central locking in the car twice to unlock and lock, however, the alarm would stay disarmed and the fuel cap remains open. I'll post a youtube video when I have added it to the car again ![]() |
Appreciate
3
|
01-01-2024, 04:18 PM | #109 | |
Colonel
![]() ![]() 765
Rep 2,116
Posts |
Quote:
(Could replace the relays with MOSFET/transistor switching for faster/more durable operation: https://www.pololu.com/category/121/...power-switches) Here is a cheap and easy CANBUS sniffing setup (Part 1-4):
__________________
Help each other: if you manage to fix your issue (especially with help from this forum), don't be a d*ck and disappear. Follow-up by posting the solution so you can help others.
Last edited by fe7565; 01-01-2024 at 04:29 PM.. |
|
Appreciate
0
|
01-01-2024, 04:58 PM | #110 |
Private First Class
![]() ![]() 134
Rep 158
Posts |
I've tried his code with both Arduino and Esp32, the connection is quite unstable but I can sniff data. How to interpret is the problem.
I've looked at the available E65 library to see if some of the same IDs come up, and they do: https://rusefi.com/forum/viewtopic.p...25bc2f6#p43671 And BMW has thought of can bus tampering, so a simple central locking control (which is 2A0 for E65) will not disarm the alarm, as the CAS authenticate itself with the DWA every unlock/lock event. I have been doing my research ![]() I know the basic electronics stuff but not when to use MOSFETs etc, someone else with that knowledge should optimize that ![]() Last edited by sizanx; 01-01-2024 at 05:05 PM.. |
Appreciate
0
|
Post Reply |
Bookmarks |
Tags |
f30, remote, remote start |
Thread Tools | Search this Thread |
|
|