Start a new topic

OpenEVSE over Ethernet

Hi,


I am using a home automation system to permanently monitor and adjust the charge current of my OpenEVSE.


I wasn't fully satisfied with the wifi option because

  1. I was having random disconnections
  2. I try to avoid using radiowaves when possible


As I didn't find any ad-hoc solution to wire the OpenEVSE to my Ethernet network, I gathered info and parts to make mine. Here I decided to share my experience.



Hardware choice

TCP232-T2


I bought a cheap TCP232-T2 module, lost half a day trying to use it setup software which never worked, ended-up using the setup options of the virtual comport appliance instead to set the device to my need:


image


The "TCP Server" protocol is crucial.

The BaudRate and COM Parameters should match the OpenEVSE ones, generally as pictured.

The network settings are up to your choices.


Wiring

image

The OpenEVSE outputs 5V on its serial pins but the TCP232 is designed for 3.3V only so I tinkered a little bit with connectors, wires and resistors I had around.

I reused the Ubec from the Wifi kit. Ground is already connected between the Ubec 0V and the OpenEVSE GND, so no need to wire it.



Box Setup


image


I 3D-printed an enclosure to insulate and secure the TCP232 in the box.

I routed the ethernet cable through a PG in the box and crimped a RJ45 connector.



Software


The manufacturer of the TCP232 is providing software solutions for windows, but my home automation runs on a raspberry pi under raspbian gnu/linux.


I found the following netcat commands to fulfil my needs:



 Get max current "Pilot" setpoint ($GE rapi command):

echo '$GE' | netcat -C -w 1 192.168.1.51 10000

 

Set max current "Pilot" setpoint ($SC xx rapi command), example for 10A:

echo '$SC 10' | netcat -C -w 1 192.168.1.51 10000

 

Get actual charge current value ($GG rapi command):

echo '$GG' | netcat -C -w 1 192.168.1.51 10000

 

I "pipe" the rapi command to netcat.

Of course you may extend the principle to any rapi command.

The -C option adds CrLf to each command, needed by the TCP232.

The -w 1 sets a timeout of 1s before ending the tcp session.

There are different netcat versions that may not support these options, or have different switches, please check yours.

The IP and port just match the earlier made settings of my TCP232.



The end


I think the most valuable info from my project is there.

I hope my english is OK.

Any mistake in this post? There are better ways to achieve the same goal; Any idea in mind, please comment!


1 person likes this idea
1 Comment

Thanks for sharing, very cool project...

Login or Signup to post a comment