Universal WiFi Interface

Discussion about various user interfaces such as web interface, displays and apps
User avatar
dima
Posts: 157
Joined: Sun Dec 09, 2018 9:35 pm
Location: Canada
Been thanked: 1 time

Re: Universal WiFi Interface

Post by dima »

Ah I think I understand, there is a "middle" device, maybe Arduino CAN ...Damien likes to use Arduino :) that translates CAN to UART and then ESP8266 takes comma separated (self developed/propriety) format and makes a web interface out of it.

A more universal solution would be to interface ESP8266 directly to CAN (a module like MCP2515) there are Arduino libraries available.
IMG_0689.JPG
EDIT: I got the inspiration to start the project! :D https://github.com/dimecho/Open-Inverter-Dashboard
User avatar
joromy
Posts: 371
Joined: Fri Jun 28, 2019 12:56 pm
Has thanked: 1 time
Been thanked: 3 times

Re: Universal WiFi Interface

Post by joromy »

The hardware dos not really matter, I use Teensy 4.0, it has 3 native CAN bus ports (one CAN FD!)
But that is because I don't want to have, lamps, instrument cluster, infotainment on same CAN bus as brake, trottle....

Web interface and monitoring is one thing, but it should be able to config the different modules via CAN.
That is possible with the openinverter, but not on Simp BMS or tesla charger.

The software is the big hurdle.
But you have the advantage there, with your inverter web interface.
Thomas A. Edison “I have not failed. I've just found 10,000 ways that won't work"
User avatar
jason_arnold
Posts: 23
Joined: Wed Sep 11, 2019 4:42 pm
Location: Canada
Has thanked: 4 times
Been thanked: 2 times

Re: Universal WiFi Interface

Post by jason_arnold »

Taking things further (and NOT to minimise the great work being done here), I submit that a proper "universal" solution doesn't involve rolling our own from scratch. The MegaSquirt crowd is far ahead of the OpenInverter project both in terms of development as well as experience with digital dashboards and they have an absolutely brilliant third-party solution in RealDash. What's more, it's quite customizable/extensible and proposes a CAN protocol that is Arduino-friendly. Would it be out of line to suggest we look at integration with this solution?

http://realdash.net/manuals.php

http://realdash.net/manuals/realdash_can.php
User avatar
joromy
Posts: 371
Joined: Fri Jun 28, 2019 12:56 pm
Has thanked: 1 time
Been thanked: 3 times

Re: Universal WiFi Interface

Post by joromy »

jason_arnold wrote: Fri Feb 28, 2020 8:02 am Taking things further (and NOT to minimise the great work being done here), I submit that a proper "universal" solution doesn't
Hi and welcome to the forum!
Have tried it, It's a nightmare to configure the openinverter from it. Line by line. Not anything like the Web interface that already are for the openinverter.
And you have to pay for it.
And its not open source!
And it's not made for EV.

And it's not a web interface, like dima, and bigpie, that will run on a ESP.
This tread is under forum category "Web Interface".

Remember that these new "universal web interfaces" are tailored for the openinverter, Joh. 4ch BMS, Simp BMS, tesla charger.....
Or at lest come with some standard setup, i hope :)

The name Universal web inteface, may be a little confusing. Open inverter web inteface (with all the other mentioned modules) would be a more appropriate name.
Thomas A. Edison “I have not failed. I've just found 10,000 ways that won't work"
User avatar
joromy
Posts: 371
Joined: Fri Jun 28, 2019 12:56 pm
Has thanked: 1 time
Been thanked: 3 times

Re: Universal WiFi Interface

Post by joromy »

dima wrote: Wed Feb 26, 2020 11:21 pm EDIT: I got the inspiration to start the project! :D https://github.com/dimecho/Open-Inverter-Dashboard
Looks fantastic!! If this is followed up with the same configuration web interface as the inverter, then it will be great!

Trying to test it out, but my programming skills are not that good.
First fault I get is: Class MCP_CAN has no member 'sleep'
Do I need all the libs. that you use?
I use the ESP12E module, for testing.
Shouldn't the "web/SPIFFS" files be in DATA folder?

I have successfully u/l ino file and SPIFFS, for your openinverter web interface, but his seems to be made a little different.
Thomas A. Edison “I have not failed. I've just found 10,000 ways that won't work"
User avatar
dima
Posts: 157
Joined: Sun Dec 09, 2018 9:35 pm
Location: Canada
Been thanked: 1 time

Re: Universal WiFi Interface

Post by dima »

Thanks for feedback, much appropriated.

At the moment ironing out the GUI and then will focus on adding functionality. It would be helpful to post relevant CAN messages that you want gauges to be build for.
joromy wrote: Fri Feb 28, 2020 2:35 pm First fault I get is: Class MCP_CAN has no member 'sleep'
Do I need all the libs. that you use?
Yes all required libraries must be installed. I use CAN-BUS Shield by Speed Studio.
arduino_can_library.png
joromy wrote: Fri Feb 28, 2020 2:35 pm Shouldn't the "web/SPIFFS" files be in DATA folder?
No, To avoid confusion I use a different method to build spiffs. All files are GZIP compressed. Use provided scripts to build SPIFFS "spiffs-build-ox.sh or spiffs-build-win.ps1" This can fit a lot more into esp8266 - unfortunately uploading happens in binary format through http://192.168.4.1/update
User avatar
Bigpie
Posts: 1711
Joined: Wed Apr 10, 2019 8:11 pm
Location: South Yorkshire, UK
Has thanked: 77 times
Been thanked: 372 times

Re: Universal WiFi Interface

Post by Bigpie »

Does this make the version Damien started defunct? If so I'll cease making changes.
BMW E91 2006
ZombieVerter
GS450h
Outlander Charger DC/DC
Renault Kangoo 36kWh battery
User avatar
dima
Posts: 157
Joined: Sun Dec 09, 2018 9:35 pm
Location: Canada
Been thanked: 1 time

Re: Universal WiFi Interface

Post by dima »

Bigpie wrote: Fri Feb 28, 2020 6:30 pm Does this make the version Damien started defunct? If so I'll cease making changes.
No discouragement. This new CANbus-ESP8266 project is ambitious :o May look great but so far out from being functional (hope more people join the development) Being developed on the side of a desk ...not real-world tested.
IMG_0691.JPG
User avatar
joromy
Posts: 371
Joined: Fri Jun 28, 2019 12:56 pm
Has thanked: 1 time
Been thanked: 3 times

Re: Universal WiFi Interface

Post by joromy »

dima wrote: Fri Feb 28, 2020 4:18 pm At the moment ironing out the GUI and then will focus on adding functionality. It would be helpful to post relevant CAN messages that you want gauges to be build for.
Have tried to gather some CAN info in this wiki, but need more help from the guys doing the development of SW and HW.
Or anyone that have something to contribute.

https://openinverter.org/wiki/CAN_table_CAN_STD
Thomas A. Edison “I have not failed. I've just found 10,000 ways that won't work"
User avatar
Bigpie
Posts: 1711
Joined: Wed Apr 10, 2019 8:11 pm
Location: South Yorkshire, UK
Has thanked: 77 times
Been thanked: 372 times

Re: Universal WiFi Interface

Post by Bigpie »

I don't even have a running open inverter. I was just making changes that might be of use to others.

Just reminds me of the comic strip but with web interfaces. Makes more sense to decide on one to get behind as a community effort.
Attachments
standards_proliferate.png
20200228_211224.jpg
BMW E91 2006
ZombieVerter
GS450h
Outlander Charger DC/DC
Renault Kangoo 36kWh battery
User avatar
joromy
Posts: 371
Joined: Fri Jun 28, 2019 12:56 pm
Has thanked: 1 time
Been thanked: 3 times

Re: Universal WiFi Interface

Post by joromy »

dima wrote: Fri Feb 28, 2020 4:18 pm Yes all required libraries must be installed. I use CAN-BUS Shield by Speed Studio.
I have the Seed studio lib.
Will do some more thinkering, would be fun to get it up and working.

Can not help on the software, but will certainly do testing and come with some negative feedback.
Remember negative feedback is the most positive feedback. ;)

If it comes to making some board or HW for this, I'm the right person 8-)
Thomas A. Edison “I have not failed. I've just found 10,000 ways that won't work"
User avatar
dima
Posts: 157
Joined: Sun Dec 09, 2018 9:35 pm
Location: Canada
Been thanked: 1 time

Re: Universal WiFi Interface

Post by dima »

Out of pure excitement!!! I am going to build the First Beta.

As usual flashing with command-line:

Code: Select all

esptool.py --port COM1 --baud 115200 write_flash 0x000000 flash-WeMos-D1.bin
esptool.py --port COM1 --baud 115200 write_flash 0x100000 flash-spiffs.bin
This is how back-side drag-drop interface looks like.
dash-back-config.png
User avatar
joromy
Posts: 371
Joined: Fri Jun 28, 2019 12:56 pm
Has thanked: 1 time
Been thanked: 3 times

Re: Universal WiFi Interface

Post by joromy »

dima wrote: Fri Feb 28, 2020 10:52 pm Out of pure excitement!!! I am going to build the First Beta.
Cool got it to work on ESP12E, but have no CAN bus.
Tried it on a ESP01 (1MB) not enough space......
Could I do something with it if I had CAN bus connection?

Have to do some upgrade to my brain, to get it to work on my Teensy 4.0 board........ :?
Thomas A. Edison “I have not failed. I've just found 10,000 ways that won't work"
User avatar
jason_arnold
Posts: 23
Joined: Wed Sep 11, 2019 4:42 pm
Location: Canada
Has thanked: 4 times
Been thanked: 2 times

Re: Universal WiFi Interface

Post by jason_arnold »

joromy wrote: Fri Feb 28, 2020 1:44 pm Hi and welcome to the forum!
Have tried it, It's a nightmare to configure the openinverter from it. Line by line. Not anything like the Web interface that already are for the openinverter.
Thanks for the welcome! While I see your points, there was no mention of scope in Damien's original post. My understanding of this project is that it was a dashboard tool, NOT a configurator.
joromy wrote: Fri Feb 28, 2020 1:44 pm And you have to pay for it.
And its not open source!
And it's not made for EV.
You actually DON’T have to pay for it, there are “premium” skins, of course, but monetizing that is the choice of the skin developer - no reason we couldn’t make ours free. “It’s not made for EV” is irrelevant; 90% of the things you need in a digital dash are drivetrain-agnostic, plus, as I said RealDash is extensible, so it could well become “made for EV” with not a lot of work.
joromy wrote: Fri Feb 28, 2020 1:44 pm And it's not a web interface, like dima, and bigpie, that will run on a ESP.
This tread is under forum category "Web Interface".
I’m certainly not trying to go off-topic by proposing an app-based solution in the “Web Interface” category, but I'd also argue that whether it's a "web" front end or an app-based one is also irrelevant - the end result is that CAN data is being shared over serial to some sort of GUI.

In a nutshell, my point is this: let’s NOT spend development time/effort on building what’s already been built. Dima’s latest offering looks great, but if this project is supposed to be THE solution for OpenInverter, et al., let’s plan with longevity and maintainability in mind. RealDash has a list of dozens of ECUs that it already integrates with, why should we roll our own and impose the development (and ongoing support) of an OpenInverter-specific dash on a select few in our community when there is a much bigger resource we can hitch our cart to? Plus, the integration factor - if I want vintage gauge faces for my old VW or Damien wants something to match the look and feel of all his BMWs, it’s a lot less work to go with the solution that already has that built in.
User avatar
Bigpie
Posts: 1711
Joined: Wed Apr 10, 2019 8:11 pm
Location: South Yorkshire, UK
Has thanked: 77 times
Been thanked: 372 times

Re: Universal WiFi Interface

Post by Bigpie »

@dima do you have arduino-cli installed? Could you list the output of arduino-cli lib list? I'm getting the same build error as joromy " error: 'class MCP_CAN' has no member named 'sleep'"
BMW E91 2006
ZombieVerter
GS450h
Outlander Charger DC/DC
Renault Kangoo 36kWh battery
User avatar
joromy
Posts: 371
Joined: Fri Jun 28, 2019 12:56 pm
Has thanked: 1 time
Been thanked: 3 times

Re: Universal WiFi Interface

Post by joromy »

jason_arnold wrote: Sat Feb 29, 2020 6:13 am In a nutshell, my point is this: let’s NOT spend development time/effort on building what’s already been built.
I think this comes down a matter of taste I would be happy with the gauges that Bigpie made.
Don't need a lot of skins.
Most builds are hours of testing and tweaking, and to change some inverter or BMS settings with a touch, instead of connecting up a pc to dfferent modules. one with wifi another with USB, even TTL and RS232... it's a big step forward!

There are many possibilities with a "central computer" with tailor-made software for open inverter:
Software/firmware update to all CAN based modules, over wifi IP/cellular...
Configure prameters from the sofa, or on the road.

I think this will be possible, with CAN upgrade to the "openinverter" stuff that don't have it.
And new stuff from the openinvetrer guys, will certainly have CAN!
Thomas A. Edison “I have not failed. I've just found 10,000 ways that won't work"
User avatar
joromy
Posts: 371
Joined: Fri Jun 28, 2019 12:56 pm
Has thanked: 1 time
Been thanked: 3 times

Re: Universal WiFi Interface

Post by joromy »

Bigpie wrote: Sat Feb 29, 2020 8:37 am @dima do you have arduino-cli installed? Could you list the output of arduino-cli lib list? I'm getting the same build error as joromy " error: 'class MCP_CAN' has no member named 'sleep'"
I just commented out CAN0.sleep, CAN0.wake and CAN0.setMode. Then it compiles.
Don't want to use 'mcp_can.h' anyway, will go for Teensy 4.0 and FlexCAN_T4
Thomas A. Edison “I have not failed. I've just found 10,000 ways that won't work"
User avatar
joromy
Posts: 371
Joined: Fri Jun 28, 2019 12:56 pm
Has thanked: 1 time
Been thanked: 3 times

Re: Universal WiFi Interface

Post by joromy »

jason_arnold wrote: Sat Feb 29, 2020 6:13 am but I'd also argue that whether it's a "web" front end or an app-based one is also irrelevant
I want to argue with you on that point to ;)
I have a old home control system with web based touch screens all around the house, was very cool in 1995.... It still works.
And It's easy to edit a HTML to do minor changes, not so easy with an app.

This means that non programmers can add their own simple HTML pages, to go with their home made power window, or other stuff.
jason_arnold wrote: Sat Feb 29, 2020 6:13 am let’s NOT spend development time/effort on building what’s already been built.
Many of us are using more time on posting about programming, then programming :)
Thomas A. Edison “I have not failed. I've just found 10,000 ways that won't work"
User avatar
dima
Posts: 157
Joined: Sun Dec 09, 2018 9:35 pm
Location: Canada
Been thanked: 1 time

Re: Universal WiFi Interface

Post by dima »

jason_arnold wrote: Sat Feb 29, 2020 6:13 am let’s NOT spend development time/effort on building what’s already been built.
Woof ...where is the excitement? Oh wait this is the Internet. Just looked into RealDash ....no source code! The main reason anyone is doing this is to "Learn".

And you cannot learn without do (speaking like yoda now). Some of us do IT for a leaving. It is an extremely competitive market. Project like this can show cases your skills, collaboration, teamwork, and may be land a better job ....and save the environment ;)
jason_arnold wrote: Sat Feb 29, 2020 6:13 am there are “premium” skins, of course
Planning for dynamic skins (open-source).
Bigpie wrote: Sat Feb 29, 2020 8:37 am Could you list the output of arduino-cli lib list?
Yes I must have used conflicting CAN libraries on the other computer, just comment out offending lines for now.

Code: Select all

Name           Installed Available Location
RemoteDebug    3.0.5     -         user    
WebSockets     2.1.4     -         user    
CAN-BUS_Shield 1.0.0     -         user    
AESLib         2.0.6     -         user 
User avatar
joromy
Posts: 371
Joined: Fri Jun 28, 2019 12:56 pm
Has thanked: 1 time
Been thanked: 3 times

Re: Universal WiFi Interface

Post by joromy »

dima, are you updating bin files, when you do changes?

I use Arduino for the ino file and SPIFFS.
But I don't know how to u/l SPIFFS, with directories.
Thomas A. Edison “I have not failed. I've just found 10,000 ways that won't work"
User avatar
Bigpie
Posts: 1711
Joined: Wed Apr 10, 2019 8:11 pm
Location: South Yorkshire, UK
Has thanked: 77 times
Been thanked: 372 times

Re: Universal WiFi Interface

Post by Bigpie »

SPIFFs doesn't support directories, it'll just create a file named "css/index.css" for example.

I've fired up the web interface and it looks pretty nice, not tried it on my MOD-WIFI-ESP6288 yet, I'll take on looking at making it support Damiens Lexus-GS450H-Inverter-Controller.
BMW E91 2006
ZombieVerter
GS450h
Outlander Charger DC/DC
Renault Kangoo 36kWh battery
User avatar
dima
Posts: 157
Joined: Sun Dec 09, 2018 9:35 pm
Location: Canada
Been thanked: 1 time

Re: Universal WiFi Interface

Post by dima »

Bigpie wrote: Sun Mar 01, 2020 6:40 pm I'll take on looking at making it support Damiens Lexus-GS450H-Inverter-Controller.
I started the view, look at /views/teensy.json
view_teensy.png
Also planning to add OpenDBC for easy CAN picking :D
User avatar
Jack Bauer
Posts: 3564
Joined: Wed Dec 12, 2018 5:24 pm
Location: Ireland
Has thanked: 1 time
Been thanked: 93 times
Contact:

Re: Universal WiFi Interface

Post by Jack Bauer »

Great to see how this has evolved. My requirement is to have a wifi interface for my various projects which I explained in the first post. Following with interest and I'm glad it sowed a seed.
I'm going to need a hacksaw
User avatar
dima
Posts: 157
Joined: Sun Dec 09, 2018 9:35 pm
Location: Canada
Been thanked: 1 time

Re: Universal WiFi Interface

Post by dima »

Thanks Elon.

Ready for live test! ESP8266 binary here

Once loaded you will need to switch the view (default is Open Inverter).
Click the background, the view will flip, then select "View Menu" -> Lexus GH450
gs450-vcu_test1.png
Turns out connecting ESP8266 to CAN is not easy, full SPI connection (Olimex not supported)

EDIT: Connect TJA1050 separately to external 5V, because TJA1050 can not run with 3V3.
esp8266-mcp2515.png
User avatar
joromy
Posts: 371
Joined: Fri Jun 28, 2019 12:56 pm
Has thanked: 1 time
Been thanked: 3 times

Re: Universal WiFi Interface

Post by joromy »

Bigpie, setup in my truck. works very well.
I can now setup a gauge view of all modules.

Would be nice to have different pages for different modules in action.
Like Charge screen, Drive screen, battery diag and so on.
And have it switch to the right screen, when charger is 'conencted' or truck is in 'run' mode.

Would suggest to have some kind input possibilities, like buttons with configurable commands?
The inverter already have the option to be configured via CANbus.

This is my temporary setup, will have a phone or pad in the place of the 2-din stereo.
IMG_20200306_194737_7.jpg
Thomas A. Edison “I have not failed. I've just found 10,000 ways that won't work"
Post Reply