All Projects → kmalinich → Node Bmw Client

kmalinich / Node Bmw Client

Licence: mit
A node.js powered interface for E38/E39/E53 + E6x/E9x BMW vehicles (Client side)

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Node Bmw Client

Sdl core
SmartDeviceLink In-Vehicle Software and Sample HMI
Stars: ✭ 207 (+204.41%)
Mutual labels:  car, vehicle
Googlemap
Google Map to use create path on map and play vehicle on path like Uber and Ola
Stars: ✭ 112 (+64.71%)
Mutual labels:  car, vehicle
Esp32 Obd2 Emulator
Open-source OBD-II emulator based on an ESP32 + CAN transceiver IC, controllable via WiFi through a simple web UI (or via API)
Stars: ✭ 207 (+204.41%)
Mutual labels:  car, vehicle
car-logos-dataset
Collection of 374 car logos images with few variations of sizes and JSON file for better usability.
Stars: ✭ 47 (-30.88%)
Mutual labels:  car, vehicle
carmechanic
Car Mechanic Simulator mechanics in Unity
Stars: ✭ 39 (-42.65%)
Mutual labels:  car, vehicle
Carrecognition
This is one of the best vehicle recognition applications. It can determine the car's license plate number, color, model, brand and year.
Stars: ✭ 34 (-50%)
Mutual labels:  car, vehicle
ELMduino
Arduino OBD-II Bluetooth Scanner Interface Library for Car Hacking Projects
Stars: ✭ 274 (+302.94%)
Mutual labels:  car, vehicle
Stuntrally
The main repository containing Stunt Rally sources and game data. A 3D racing game based on VDrift and OGRE with track editor.
Stars: ✭ 314 (+361.76%)
Mutual labels:  car, vehicle
Mvvmhabitcomponent
👕基于MVVMHabit框架,结合阿里ARouter打造的一套Android MVVM组件化开发方案
Stars: ✭ 857 (+1160.29%)
Mutual labels:  retrofit
Meteorite
一个基于Android MVP的简单明了的指引性通用架构,目的是帮助更多的开发者去全面了解实践开发相关的各种技术,快速搭建属于自已的APP。这个项目涉及到如下技术的实际应用:1、MVP 2、网络请求(Novate基于rxjava,okhttp,retrofit封装架构)3、DbFlow(可保存文件入SD卡) 4、6.0权限申请 5、XRecyclerView 6、万能Adapter7、异常处理 8、日志打印 9、屏幕适配 10、代码混淆 11、多渠道打包 12、内存泄露检测 13、热修复 14、升级更新 15、极光推送 工程更新完善中……欢迎关注 @特别感谢ZJ.Y的Logo支持。
Stars: ✭ 49 (-27.94%)
Mutual labels:  retrofit
Didicallcar
这是我自己做的一个类似滴滴打车的Android出行项目,主要针对滴滴等出行平台一直饱受质疑的“人车不符”问题,以及当前越发火热的或计划和出海战略,给出行项目增加了下面几个功能: 1. RFID识别验证功能:在司机证件或者车内识别硬件嵌入RFID识别芯片,乘客使用手机读取到芯片信息,并且通过网络发送到出行平台数据库进行验证(我用JNI加了一个C语言的MD5加密算法对识别到的信息进行了加密)。如果不是合规的“人”或“车”,则不能完成订单并向平台或监管单位汇报当前位置。(为了方便读者测试,可以使用手机读取任何一个加密或非加密RFID芯片,比如银行卡、公交卡等,我在代码中的验证前阶段把芯片信息都换成我自己的司机信息,确保读者测试时可以收到服务器的回复) 2. 海外版功能:点击切换当前语言。 3. 司机证件号码识别功能:读取司机证件上的证件号码,也可以用来与出行平台数据库的接单司机信息进行。I complete this whole project on my own . Including Android application programming,web server ( Apache + PHP + MySQL), and UI. 1.Map route planing。You can use mobile phone choose pick up & destination address,application provide address name hint and draw optimized route for user , then call car for you. 2.RFID authentication function:User can use application to scan driver license or other RFID hardware, then use NDK MD5 algorithm encrypt RFID number, and send it to Web Server Database, check with driver information and authenticate ID number , if ID number coherent with driver info , send back driver information to User and continue call car order . record user location and alert if ID not coherent. 3.Driver License Number Recognition : Application can recognize driver license digit number ,and also can send to web server for authentication & feed back result to user.
Stars: ✭ 935 (+1275%)
Mutual labels:  car
Awesome Third Library Source Analysis
📖 Deep understanding of popular open source library source code (optimizing...)
Stars: ✭ 866 (+1173.53%)
Mutual labels:  retrofit
Imbmw
BMW iBus .NET MF SDK and hardware
Stars: ✭ 50 (-26.47%)
Mutual labels:  car
Androidall
Android 程序员需要掌握的技术栈:数据结构算法、程序架构、设计模式、性能优化、插件化、热更新、Kotlin、NDK、Jetpack,以及常用的开源框架源码分析如 Flutter、Router、RxJava、Glide、LeakCanary、Dagger2、Retrofit、OkHttp、ButterKnife 等
Stars: ✭ 849 (+1148.53%)
Mutual labels:  retrofit
Jetpackmvvm
🐔🏀一个Jetpack结合MVVM的快速开发框架,基于MVVM模式集成谷歌官方推荐的JetPack组件库:LiveData、ViewModel、Lifecycle、Navigation组件 使用Kotlin语言,添加大量拓展函数,简化代码 加入Retrofit网络请求,协程,帮你简化各种操作,让你快速开发项目
Stars: ✭ 1,100 (+1517.65%)
Mutual labels:  retrofit
Kotlin Options
Kotlin Options with functional operators
Stars: ✭ 25 (-63.24%)
Mutual labels:  retrofit
Offit
Simple but powerful API mocking library. Make mocks great again.
Stars: ✭ 25 (-63.24%)
Mutual labels:  retrofit
Contentful.java
Java SDK for Contentful's Content Delivery API
Stars: ✭ 63 (-7.35%)
Mutual labels:  retrofit
Caranimation
A sample project about car animation in a route
Stars: ✭ 55 (-19.12%)
Mutual labels:  car
Easygo
基于Kotlin、OkHttp的声明式网络框架,像写HTML界面一样写网络调用代码
Stars: ✭ 40 (-41.18%)
Mutual labels:  retrofit

node-bmw-client

Do magic with an E38/E39/E46/E53-ish BMW, Raspberry Pi 3, and Node.js 9.x.

Advisory

I dev way faster than I document.
This README is 12+ months out of date and needs to be completely rewritten, to include things like:

  • NBT retrofit support (HW 07)
    • Currently power on/off and steering wheel controls are working, very early WIP
  • iDrive controller to Kodi support
    • Supports K-CAN and K-CAN2 iDrive controllers
    • E38/E39/E53 MFL > NBT support
  • tvservice/vcgencmd HDMI screen control or HDMI-CEC screen control
  • Custom afterrun timer for accessory relays via Pi GPIO
  • SO MUCH OTHER STUFF
  • For snippets, check out my Instagram
    I'll get to it... eventually

Disclaimers

  • First and foremost, this project can and might hurt you.
    • If you rely on the auto lights, and they cut out at night, you might die.
    • If you are trapped in the vehicle, and the app locks up the GM and the door locks don't work, you might die.
    • If you drive into a body of water and need to roll down the window to release the pressure, and the app locks up the GM and the windows don't work, you might die.
    • If the app develops some bug/level of sentience .. it's worth knowing that it can talk to/hear from the airbag computer. If they deploy randomly.. you guessed it, you might die.
  • If it breaks/hurts/kills you/your car/your something else/etc... not my fault.
    • Harsh disclaimer but it is what it is.
    • See MIT license.
  • I routinely break master. Like, 100% un-functional.
  • I make no assertations that I am a professional. I'm just doing this for fun and to learn a little Node.js.
  • It's probably best to use this project as a reference versus fork it.

Currently being developed using a US-spec 2000 E39 540i, a US-spec 2002 E39 M5, two Raspberry Pi 3s running Raspbian stretch, Rolf Resler IBUS/KBUS adapters, NBT HW 07, PiCAN2 dual-channel CANBUS hats, a HDMI screen, NodeJS 9.x, and more. About 90% of it is done in a way I don't really like, but I have so little time to work on this... =/

It acts as, more or less.. plug-in custom firmware for the BMW modules.

It does:

  • BMW bus interface:
    • DBUS
    • IBUS
    • KBUS
  • Module emulation:
    • CDC (trunk-mounted CD changer - useful to repurpose as aux input)
    • MID (Multi-information display)
    • BMBT (Bordmonitor/On-board monitor)
    • DSPC (DSP controller)
  • Lights:
    • Standing lights auto on/off, essentially as DRLs
    • Low beam auto on/off, based on locale and sun position (latitude/longitude are set in config.json)
    • Rear fog LED in gauge cluster acts as auto-lights status light (since my car doesn't actually have a rear fog)
      • It only shows when fogs or low-beams are on =/
    • "Comfort" turn signal emulation, a la newer BMWs
      • 3-flash comfort turn is a joke, this does 5-flash
  • Media:
    • HDMI CEC control to power on/off HDMI display on ignition change
    • Kodi API integration
      • Steering wheel controls work with Kodi
      • Key on/off starts/stops Kodi playback
      • Song titles scroll in IKE cluster
  • Custom display in gauge cluster (IKE) with system load, coolant temp in deg C, and time (from OS, not from car)
  • Welcome message in gauge cluster (IKE) on key on/app start
  • WebUI:
    • Current vehicle status
      • Vehicle speed
      • Engine RPM
      • Engine status (running/not running)
      • Country coding/units (parsing is terrible, I do it all wrong, don't look..)
      • Coolant/exterior temperatures
      • VIN (last 7)
      • Odometer
      • Doors/hood/trunk opened/closed
      • Windows up/down
      • Central locking
      • Handbrake status
      • In reverse gear or not
      • Ignition position
      • OBC data:
        • Aux heat/vent timer 1+2
        • Average speed
        • Consumption 1+2
        • Date/time
        • Distance remaining
        • Range to empty
        • Speed limit
        • Stopwatch
        • Timer
    • Control vehicle modules:
      • DSP amp/equalizer
      • GM (windows/doors/locks)
      • IKE (gauge cluster)
      • LCM (light module)
      • OBC data set/reset
    • Control other things:
      • HDMI CEC on/off
        • GPIO outputs (for Sainsmart relays)
  • Other:
    • Time/date sync from OS to car
    • Auto-unlock doors when key is turned from run to accessory
    • Parsing/decoding of IO status from LCM and GM
    • WebSocket UI/dynamic table for displaying decoded data in WebUI, with 2-way communication for sending data as well
    • What I'm about 97% certain is the single largest documented collection of BMW IBUS commands, under /ref
  • .. and a lot of other stuff, I'm probably forgetting.

Future plans/ideas/to do list:

I'll add more to this once I'm out of the dirty-dev weeds, which might be never

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].