Wemos gateway to ELM

For remote testing purposes we have implemented an Elm327OverHttp gateway driver in CanZE. What it does is in CanZE is requesting the two frame types used through high level primitives over http. This allows for different easy to build implementations of CANbus drivers or driver emulators. At this moment there are two services available:

  • a simple webserver running a few PHP scripts emulating a gateway to a car. There is no real car connected and the data returned are entirely static. It allows for easy testing of CanZE though without a car connected;
  • a device based on a WeMos D1 mini board and a HC-05 Bluetooth interface. The Bluetooth interface connects to an ELM327 dongle in the car and the WeMos is both a small webserver implementing said primitives and doing all the hard work talking to the dongle.

For high speed testing I am building a second WeMos based interface that connects directly to the car with a CANbus interface. Once that one is done, I will add another page in the hardware section for it.

These http based interfaces allow for testing away from the car, keeping Android Studio’s debugger connected to the phone or tablet while testing and even running CanZE in an emulator.

USB powered Wemos D1 mini + HC-05 on perf board

Wiring is very easy:

Wemos <--> HC-05
3.3V  <--> 3.3V
G     <--> GND
TX    <--> RXD
RX    <--> TXD
D1    <--> WAKEUP

The source code is available here on github:

2 comments on “Wemos gateway to ELM
  1. SiW says:

    Any update on this team?

    Would like to use an ESP8266 to remotely monitor the car when parked.

    Simon

    • Jeroen Meijer says:

      Well that gateway sort of works. But when you say “remotely monitor”, that can only be done with an ESP8266 when it is connected to a known WiFi spot (stating the obvious 😉 ). So I assume you want to check on it while it is on your or your employers premises. You then still need it to post whatever you want to monitor on a public facing server. Are you sure you can’t use the (limited, I know) API? I query that every 15 minutes using a Node-RED flow.

Leave a Reply