diy solar

diy solar

Off-grid Solar / Battery monitoring and control freeware

My hardware tinkering is coming to an end finally, once I complete the final battery pack and finishing tweaks.
Next up Software:
Raspi-4B, Node-Red Grafana, INfluxDB, Python.
Samlex EVO -> ModBus <-> USRIOT-410S <-> Raspi
Midnite Classic -> ModBus <-> Raspi
4 Chargery BMS8T -> RS232 -> USR/IOT-N540 -> Raspi
1 JBD 12V/120A -> UART-PC -> Raspi

The USRIOT / PUSR devices interface RS232/RS485 devices to Ethernet IPaddress : Port which I will have to sort out on the Raspi side... On Win-10 accessing the sub-ports is a freakin nightmare and have to use VCOM (Virtualized comm ports). Hopefully with Raspberry OS NIX it will be easier to work around.

I already have a setup running with the Midnite Classic & Node-Red to Influx & Grafana, so I'm going to pick that up and build out as above. Having already experienced the "fluffy influxDB" I'm installing a 1TB M.2.SATA as I have a feeling it will get quite fluffed with all the datasets. A Good Winter project for January & February.
Consider dropping influx DB on the pi and use the light weight prometheus DB instead. Then everything works well on the minimal Pi Zero.

See my github page for details on the setup.
Using windows as a server is not feasible, unix is the only way to go.

For most cases, a 32gb onboard SD card on the pi is plenty of storage, no need for external drives.

For backup, simply push the prometheus prom files with scp to a low cost cloud server running Centos or Ubuntu, install Grafana again with and you have world wide visibility of your data.
 
Last edited:
No Windows Server. Not even considered.
Pi4 Server with 1TB SSD goes to powerhouse, Pi4 Monitoring Station with 500GB SSD is for in-house monitoring / display.
No Cloud Services to be used. Satellite Connection is only up when I want it up.

I'll look into prometheus.
 
Prometheus is a simpler time series DB, it rolls over after a months use (configurable) keeping the storage requirements minimal.

The key with Pi SD cards is writing frequent IO to memory ramdisk to avoid corruption and help performance. The setup for this is on my github page.

Have fun!
 
Also i like using Dweet.io with the 8266...

Combined with deep sleep, I can get nearly a years use out of a single 18650 battery.

Do you have enough memory for the www client/server software?
Thank you for giving me the dweet.io advice. That is an interesting option to publish data as a low-profile alternative to thinger.io
My ESP8266 are workhorses, they never sleep. They have a lot to do. They not only take all the measures, manage MPPT and drive the buck converters, manage the different battery chemistries charging profiles, but also provide a lot of statistics, calculate the battery's internal resistance, update the display, dashboards on the cloud and a few other things...
I currently have put about 1400 lines of code in "Soft-Power".
And, about 55% of the memory is still available...
 
Hi, After looking at the 8266 and its low power claims, I did a direct comparison of power consumption with the PiZero and my 8266 NodeMCU running fulltime, both reading data from a DHT11, powered by a 2400mv 18650 battery. They both lasted around 25hours. There was very little difference. So considerig how much functionality you give up with an 8266 based system, and that a PiZero running UNIX is as feature filled as any super computer, you really have to ask yourself why you would use an 8266 other than for fun. Its advantages I see are the 8266 boots much faster, is more reliable in some situations (less components) has deep sleep modes that work well, but it gives up so much functionality.
Did I miss something?
Hi Barking Spider,

I am on the same trip. With however another focus.
My aim is to make the low-power end as much effective as possible, to power off grid instruments all year unattended.

My platform is an ESP8266 microcontroller controlling buck converters to force them to do a software controlled MPPT..
The "instrument" can be a Raspberry Pi, which would (with 3-10W) be at my high-end of power consumption :ROFLMAO: ,
the low end being the own ESP8266 and a total permanent power consumption of 0,15W.
Cu+
46F8E8CC-C248-4E84-ABA7-15C409E62128.jpeg
NodeMCU 8266 system on breadboad and a PiZero below. Huge difference in capabilities, performance and storage. The Pi is a full blown computer.
 
Last edited:
Hi, After looking at the 8266 and its low power claims, I did a direct comparison of power consumption with the PiZero and my 8266 NodeMCU running fulltime, both reading data from a DHT11, powered by a 2400mv 18650 battery. They both lasted around 25hours. There was very little difference. So considerig how much functionality you give up with an 8266 based system, and that a PiZero running UNIX is as feature filled as any super computer, you really have to ask yourself why you would use an 8266 other than for fun. Its advantages I see are the 8266 boots much faster, is more reliable in some situations (less components) has deep sleep modes that work well, but it gives up so much functionality.
Did I miss something?

View attachment 31354
NodeMCU 8266 system on breadboad and a PiZero below. Huge difference in capabilities, performance and storage. The Pi is a full blown computer.
I do not know how you were measuring.
An ESP8266 draws 30mA at booting and 9mA between WiFi transmissions.
A Pi Zero W draws 120mA idling and 150mA transmitting WiFi.
(you must at least compare a PiZero W since WiFi is absolutely required).

I am frequently using Pi zeros, even linked to Arduinos to do the low-level job since these just have the better libraries and have a more reliable timing.
 
I do not know how you were measuring.
An ESP8266 draws 30mA at booting and 9mA between WiFi transmissions.
A Pi Zero W draws 120mA idling and 150mA transmitting WiFi.
(you must at least compare a PiZero W since WiFi is absolutely required).

I am frequently using Pi zeros, even linked to Arduinos to do the low-level job since these just have the better libraries and have a more reliable timing
Thanks for the feedback, Ill double check my measurements. I didnt go on the brochure, I just connected to a charged battery and timed them side by side.

Maybe the nodeMCU module uses much more power?

I was very surprised myself at the results.
 
Thanks for the feedback, Ill double check my measurements. I didnt go on the brochure, I just connected to a charged battery and timed them side by side.

Maybe the nodeMCU module uses much more power?

I was very surprised myself at the results.
No, there is not a lot of difference between Node MCU and Wemos D1.
But a LOT between an ESP8266 and a Raspberry PI Zero W.
 

Attachments

  • IMG_20201228_174942.jpg
    IMG_20201228_174942.jpg
    101.4 KB · Views: 3
If your like me and often need a display, keyboard and mouse to configure or debug your Pi, i found this tiny setup invaluable.

HDMI USB adaptor
OH! I thought that HDMI were designed to prevent video capture?
Interesting device to get a screen on site from a tablet, just to reconfigure a Pi.
I have built a mini-screen with a Pi at the backside:
1609233255040.png
It can be used as a test computer to prepare the SD card, that I will feed into the target PI, as a monitor and as a power supply:
1609233399274.png
As far as I can remember, the mini screen and the frame were less than 20$
But I mainly use my Pis headless over VNC anyway.
If you, like me, are serious about power draw of your devices, I found this small investment useful for lazy people:
usb power meter and else you can't be serious on solar without owning a good multimeter.
 
Last edited:
The HDMI capture device above is a clever device, it masquerades as a webcam. You could attach it to any video source and record movies all you want. I bet Hollywood hates it, but they probably dont know about it yet.
 
What kind of data usage is the Wanderer 10 setup using if you've tracked that? Trying to figure out what data plan to get for an IoT project running on the same Pi.
 
Dang, got lost in the cheat sheet setup. The "Test with promtool check config /etc/prometheus/prometheus.yml" returns

`promtool: error: path '/etc/prometheus/prometheus.yml' does not exist, try --help`

Any idea what I'm getting wrong?
 
Figured that out; didn't follow instructions *exactly*. Ok, next question: How do I get the information into the cloud? This is running on a remote pi (using remote.it to ssh in).
 
Create an account with Google cloud, they are doing $300 free right now, which is enough for a couple of years of free hosting. You need a gmail email to do it i think.

Create a minimal centos server with grafana and scp your pi xx.prom files to it.

Your charts are then accessible from anywhere.
 
Rad, thanks Joe! I'm almost at the point where I can see the data. Pi is hooked up via the cable you showed us how to make for the Renogy Wanderer 10, but I'm getting an error when I try and run
Code:
python3 RenogyWanderer.py

Code:
~/SolarShed $ python3 RenogyWanderer.py
Traceback (most recent call last):
  File "RenogyWanderer.py", line 15, in <module>
    import minimalmodbus
ModuleNotFoundError: No module named 'minimalmodbus'
 
Back
Top