I am building a battery energy storage application and recently discovered OpenEMS which appears to suits my needs perfectly.
I have a basic question about deploying the OpenEMS edge in a production context which I was not able to answer from the documentation.
What type of hardware can I deploy the OpenEMS on? I read on the site that it can be deployed on many commercial IOT Gateway devices, but is it possible to get a more concrete list of the types of IOT Gateway that are suitable - e.g requirements such as:
- Operating system
- Required I/O ports
Or ideally a list of IOT gateways which have been found to be suitable and effective for other users.
After selecting a suitable IOT Gateway edge device, is there any more information about what needs to be done to prepare the device and deploy my application on it?
Any help with this topic would greatly be appreciated!
Hi Thomas and welcome to the OpenEMS Community.
As OpenEMS Edge is Java-based it runs on every operating system. In practice a lot of developers use Windows for development, but productive IoT devices usually run Linux. Most of them rely on Debian.
The lowest spec hardware we currently run in production is a Beaglebone Black. This is what I would consider the minimum tested requirements.
Processor: AM335x 1GHz ARM® Cortex-A8
512MB DDR3 RAM
4GB 8-bit eMMC on-board flash storage
Source: BeagleBoard.org - black
OSGi was originally made for even much weaker devices so with some development effort these requirements could be decreased even more, but this is what we use successfully in production.
Other IoT gateways that have been successfully tested:
After you chose the device you need to consider your deployment and update strategy:
If your operating system supports systemd (like Debian, Ubuntu, etc.) you can follow the docs: Deploy OpenEMS Edge :: Open Energy Management System. Regarding the update strategy, we use Debian packages natively, combined with some custom scripts. If you are interested to join forces here, please get in touch.
Alternatively you may use a separate IoT infrastructure, that e.g. allows you to deploy OpenEMS Edge (and UI) via Docker containers. You can find examples for creating custom Docker containers here in the forum.
Please keep us updated on the progress.
PS: Please consider joining the OpenEMS Association if you plan to use OpenEMS in production. It’s not obligatory, but it helps us advertising the idea of an “Open Source Energy Management for the 100 % Energy transition”. Thanks!