the display node for my camper, based on a Arduino Mega clone
fsgraz
@fsgraz
Best posts made by fsgraz
-
RE: What did you build today (Pictures) ?
-
A few sensors for my camper (pandemic lockdown edition ...)
Charge Monitors
Batteries Monitor
Controller and Mobile Router
Fresh Water Level Monitor
Fridge Fan Controller
Display -
RE: What did you build today (Pictures) ?
A collection of the sensors and actuators I buit for my camper in the past year
the power supply system under the dinette seat
the battery management system (purchased) data are read via wifi by an ESP32, which reports the info to the GW via nRF24L01+.a closed look at 2 sensors.
the one on the left reads voltage and current from the solar PV panel and to the battery management system
the one on the right reads voltage and current from/to the start and service batteriers
both sensors report instant power and energy.Fresh water sensor reads the water level, flow and temperature.
has 4 optcoupled outputs to send the information to the 4 LEDs of the original control panel of the camper
gray water tank sensor reports water level with an ultrasound sensor. has an optocoupled output to the "full" LED of the original control panel
bettry supplied temperature and humidity sensor.
I use it in the fridge but also at home, where I have also one with BME280.
A fan controller to help the fridge to work better, controlling the condenser temperature using an optical thermometer sensor.
I have 3 other units, one in the power supply system, one in the closet and one on the roof.
They are all with a PID controller.
-
RE: What did you build today (Pictures) ?
Some updates in almost one year.
I moved all the gateways and controller part in a most suitable location
I've created a dual current sensor for the fuse box and the inverter. Each Current sensors can withstand 90A max, so I used both channels in parallel. The sensors are defined for both Channel 1, 2 and Sum(Ch1+Ch2) to handle this case easily
Recently I made an updated version of my Photovoltaic monitor since the 20A that the old one could withstand are not enough now, so the new version is capable of 50A max. Still waiting the Hall sensors though...
Finally, I cleaned up a bit the deployment under the bench
but I am not done yet -
RE: What did you build today (Pictures) ?
Finally I had the time to refine it:
-
ESP WiFi hung solution
This is how I solved the issue of ESP32 GW hanging when WiFi connection is lost or not established. It is not 100% my original work, it has been put together using bits and pieces, but it works.
I simply use a watchdog timer:
#include "esp_system.h" // added for WDT hw_timer_t* timer = NULL; // WDT related void IRAM_ATTR resetModule() { Serial.println("reboot\n"); ESP.restart(); } void WdtReset() { timerWrite(timer, 0); //reset timer (feed watchdog) } void StartWatchDog() { timer = timerBegin(0, 240, true); //timer 0, div 80 timerAttachInterrupt(timer, &resetModule, true); timerAlarmWrite(timer, 5000000, false); //set time in us timerAlarmEnable(timer); //enable interrupt } IPAddress ConnectWiFi() { Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(MY_WIFI_SSID); /* Explicitly set the ESP to be a WiFi-client, otherwise, it by default, would try to act as both a client and an access-point and could cause network-issues with your other WiFi-devices on your WiFi-network. */ #ifdef ESP32 WiFi.persistent(false); WiFi.mode(WIFI_STA); #endif // ESP32 WiFi.begin(MY_WIFI_SSID, MY_WIFI_PASSWORD); while (WiFi.status() != WL_CONNECTED) { digitalWrite(LED_BUILTIN, LED_ON); wait(500); Serial.print("."); digitalWrite(LED_BUILTIN, LED_OFF); wait(500); } #ifdef ESP32 WiFi.setAutoReconnect(true); #endif // ESP32 return WiFi.localIP(); } void before() { StartWatchDog(); // We start by connecting to a WiFi network localIP = ConnectWiFi(); myHostname = WiFi.getHostname(); WdtReset(); Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(localIP); Serial.println(myHostname); // do other stuff ... } void loop() { // check WiFi connection if (WiFi.status() != WL_CONNECTED) return; // the WDT is not reset WdtReset(); // do other stuff ... }
Hope it helps
-
Auxiliary Loads and Mains Charger Controller for my Smart Mobile Home
A simple node to enable/disable the 12V power supply to auxiliary non vital loads (e.g. water boiler) based on the service battery voltage. A relay is controlled by the presence of a charging source.
Additionally, in presence of other charge sources, the Mains Charger is disconnected from the Service Battery. The Mains Charger relay is enabled if there are no other charge sources and the camper is connected to the Shore Power.There are 2 additional analog voltage input.
I tend to create edge nodes, with full capability of serving the desired use cases, even if Gateway/Controller are down. In this case I can Arm/Disarm some automations from the controller using S_DOOR sensor types.
-
RE: Project enclosures
This is my temperature-humidity-pressure sensor in a 1151v3wh enclosure.
-
RE: RF Nano = Nano + NRF24, for just $3,50 on Aliexpress
Hello,
I use the RF-NANO widely in my sensors. At the beginning of the year I reordered 10 pcs and I got the new version.
I discovered that between V1 (bought in 2019) and V2 (bought in 2020) D9 and D10 are reversed between the 2 versions.V1
V2
links:
https://github.com/emakefun/emakefun-nano-plus/blob/master/RF-Nano/Schematic/RF-Nano-Schematic.pdf
https://github.com/emakefun/rf-nano/blob/master/RF-Nano-Schematic.pdfHope it helps.
Franco
Latest posts made by fsgraz
-
Auxiliary Loads and Mains Charger Controller for my Smart Mobile Home
A simple node to enable/disable the 12V power supply to auxiliary non vital loads (e.g. water boiler) based on the service battery voltage. A relay is controlled by the presence of a charging source.
Additionally, in presence of other charge sources, the Mains Charger is disconnected from the Service Battery. The Mains Charger relay is enabled if there are no other charge sources and the camper is connected to the Shore Power.There are 2 additional analog voltage input.
I tend to create edge nodes, with full capability of serving the desired use cases, even if Gateway/Controller are down. In this case I can Arm/Disarm some automations from the controller using S_DOOR sensor types.
-
RE: What did you build today (Pictures) ?
Finally I had the time to refine it:
-
RE: Arduino Nano Every problem
Given the chip shortage of ATmega328, would the ATmega4809 architecture support be developed ?
The advantages of Arduino Nano Every is undeniable for non-battery-supplied nodes -
ESP WiFi hung solution
This is how I solved the issue of ESP32 GW hanging when WiFi connection is lost or not established. It is not 100% my original work, it has been put together using bits and pieces, but it works.
I simply use a watchdog timer:
#include "esp_system.h" // added for WDT hw_timer_t* timer = NULL; // WDT related void IRAM_ATTR resetModule() { Serial.println("reboot\n"); ESP.restart(); } void WdtReset() { timerWrite(timer, 0); //reset timer (feed watchdog) } void StartWatchDog() { timer = timerBegin(0, 240, true); //timer 0, div 80 timerAttachInterrupt(timer, &resetModule, true); timerAlarmWrite(timer, 5000000, false); //set time in us timerAlarmEnable(timer); //enable interrupt } IPAddress ConnectWiFi() { Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(MY_WIFI_SSID); /* Explicitly set the ESP to be a WiFi-client, otherwise, it by default, would try to act as both a client and an access-point and could cause network-issues with your other WiFi-devices on your WiFi-network. */ #ifdef ESP32 WiFi.persistent(false); WiFi.mode(WIFI_STA); #endif // ESP32 WiFi.begin(MY_WIFI_SSID, MY_WIFI_PASSWORD); while (WiFi.status() != WL_CONNECTED) { digitalWrite(LED_BUILTIN, LED_ON); wait(500); Serial.print("."); digitalWrite(LED_BUILTIN, LED_OFF); wait(500); } #ifdef ESP32 WiFi.setAutoReconnect(true); #endif // ESP32 return WiFi.localIP(); } void before() { StartWatchDog(); // We start by connecting to a WiFi network localIP = ConnectWiFi(); myHostname = WiFi.getHostname(); WdtReset(); Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(localIP); Serial.println(myHostname); // do other stuff ... } void loop() { // check WiFi connection if (WiFi.status() != WL_CONNECTED) return; // the WDT is not reset WdtReset(); // do other stuff ... }
Hope it helps
-
RE: What did you build today (Pictures) ?
Some updates in almost one year.
I moved all the gateways and controller part in a most suitable location
I've created a dual current sensor for the fuse box and the inverter. Each Current sensors can withstand 90A max, so I used both channels in parallel. The sensors are defined for both Channel 1, 2 and Sum(Ch1+Ch2) to handle this case easily
Recently I made an updated version of my Photovoltaic monitor since the 20A that the old one could withstand are not enough now, so the new version is capable of 50A max. Still waiting the Hall sensors though...
Finally, I cleaned up a bit the deployment under the bench
but I am not done yet -
RE: What did you build today (Pictures) ?
the display node for my camper, based on a Arduino Mega clone
-
RE: What did you build today (Pictures) ?
A collection of the sensors and actuators I buit for my camper in the past year
the power supply system under the dinette seat
the battery management system (purchased) data are read via wifi by an ESP32, which reports the info to the GW via nRF24L01+.a closed look at 2 sensors.
the one on the left reads voltage and current from the solar PV panel and to the battery management system
the one on the right reads voltage and current from/to the start and service batteriers
both sensors report instant power and energy.Fresh water sensor reads the water level, flow and temperature.
has 4 optcoupled outputs to send the information to the 4 LEDs of the original control panel of the camper
gray water tank sensor reports water level with an ultrasound sensor. has an optocoupled output to the "full" LED of the original control panel
bettry supplied temperature and humidity sensor.
I use it in the fridge but also at home, where I have also one with BME280.
A fan controller to help the fridge to work better, controlling the condenser temperature using an optical thermometer sensor.
I have 3 other units, one in the power supply system, one in the closet and one on the roof.
They are all with a PID controller.
-
A few sensors for my camper (pandemic lockdown edition ...)
Charge Monitors
Batteries Monitor
Controller and Mobile Router
Fresh Water Level Monitor
Fridge Fan Controller
Display -
RE: RF Nano = Nano + NRF24, for just $3,50 on Aliexpress
Hello,
I use the RF-NANO widely in my sensors. At the beginning of the year I reordered 10 pcs and I got the new version.
I discovered that between V1 (bought in 2019) and V2 (bought in 2020) D9 and D10 are reversed between the 2 versions.V1
V2
links:
https://github.com/emakefun/emakefun-nano-plus/blob/master/RF-Nano/Schematic/RF-Nano-Schematic.pdf
https://github.com/emakefun/rf-nano/blob/master/RF-Nano-Schematic.pdfHope it helps.
Franco -
RE: Project enclosures
This is my temperature-humidity-pressure sensor in a 1151v3wh enclosure.