OpenEVSE provides energy monitoring architecture for Electric Vehicle Charging Stations as well as energy monitoring devices. It is a DIY kit for people wanting a charging station at home. It is one of the good ones out there, see the comparison. This device can have a huzzah module installed to make it IP enabled.
The goal of the Open Charge Point Protocol (OCPP) is to offer a uniform solution for the method of communication between charge point and the central system. With this protocol, it is possible to connect any central system with any charge point, regardless of the vendor. OCPP 1.6 is the most recent version released by OCA that incorporates a number of improvements suggested by OCA members who are working with OCPP in the field. Also, the 1.6 version is supported by a compliance testing tool for self-testing and by a Certification Program. OCA provides OCPP. The Open Charge Alliance (OCA) is a global consortium of public and private electric vehicle (EV) infrastructure leaders that have come together to promote open standards.
Huzzah module that is based on ESP8266 is used to IP enable OpenEVSE but does not have the processing power to act as an edge computing device. So you need to choose a more powerful computing module that is wifi enable to replace it and also establish OCPP protocol with a compliant server. We used Raspberry Pi A+ for our testing. Raspberry serial ports work at 0V-3.3V while OpenEVSE supports serial TTL devices at 5V on the 6 pin header. You can speak RAPI on this serial port to control or to get information from openEVSE. To connect the Raspberry Pi and OpenEVSE controller you need a level shifter. We used a bi-directional level shifter to connect the two.
Figure 1: Raspberry Pi connected to OpenEVSE and powered by it
Once they are connected you can issue serial commands from Pi to OpenEVSE. Once you have some code that speaks RAPI on the south end, all you need next is the OCPP protocol on the north end. We used python to get this whole thing working. For OCPP 1.6 we went with JSON over WebSocket. OCPP has primarily been written to be driven by the charging end. We modelled it so that the charging process is controlled from the server end that takes instructions from the mobile app.
In addition to OCPP implementation the Raspberry Pi also required the headless implementation to be able to switch from Ad-hoc mode to infrastructure mode read here.
For more information do get in touch.