June 2021
If any of you have built the mySQM+ controller, please replace the LM7805 regulator with a LM7808 regulator. The pins and orientation is the same.
There is an issue using the LM7805 regulator to power the board when running off 12V
I have updated PDF and board information
Cheers
Robert
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
17-Jul-2021
New PDF 120-5
The new PDF covers all the changes in firmware 120+
New Firmware 120-b6 (with help from Gintautas D - Fixes for Sparkfun Weatherkit)
120-b6 is a major release, as many things have been improved, some features removed (like TSL2591 adjustment via WebServer)
In addition, the myESP32DB Daughter Board examples have been updated to reflect firmware 120-b6
Cheers
Robert
New Windows App 0_0_0_20
THIS IS A MAJOR UPDATE.
UNINSTALL APP USING CONTROL PANEL BEFORE INSTALLING THIS VERSION
Firmware 120-b6
Make sure to upgrade the library arduinojsn to the latest version v6.18.0 or higher
Changes to controllerconfig layout
Add new defines (mydefines.h) for Wind Speed, Wind Direction and RainBucketGauge sensors
Overhall definitions of Wind Speed, Wind Direction and RainBucketGauge sensors (focuserconfig.h)
Remove Admin server page6 for modifying TSL2591 sensor settings
Add new admin page 6 to handle MQTT
Move MQTT from admin1 to new admin MQTT page 6
Add MQTT broker subscription code
Add calls (comms.h) to Set and Get the MQTT subscribe topic
Expand /mqtt JSON call to include subscribe and publish topics
Add targeted debugging
Move MQTT and OTA updates into Main State Engine
Fix for alternative credentials being set incorrectly
Rewrite Client code for multiple connections
119-8
Fix for Wind Direction Sensor Sparkfun (R4-1K, R5=2K, using 5k Pullup from SIG to 5V)
Fix for Wind Speed Sensor Sparkfun (R3=100k pulldown resistor from SIG to GND)
119-7
Fix for Wind Direction Sensor WINDDIRECTIONLIYUAN
Last edit: brownrb 2021-07-17
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
22-Jul-2021
WARNING: An issue has been identified with the PCB Version 12.
The LM7808 regulator also outputs 8V to wired sensors, which should have been 5V
Version 11 PCB or earlier is correct.
Version 12 - an interim fix would be to replace the LM7808 regulator with an LM7805 regulator.
A new version PCB will be available shortly
Apologies for the error.
Robert
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
27-Jul-2021
New firmware update 121-3
New ASCOM OC Driver 012
New ASCOM Driver Test Application 1009
New Windows Application 00022
These updates fix a number of issues across both Serial, TCP/IP and ASCOM
These updates are marked as essential.
Please uninstall the existing Windows application using control panel before installing the update
List of Issues
Unable to connect via USB Serial
After disconnection with USB Serial, cannot re-connect
Controller connects then disconnects via TCP/IP or Serial
Fixes for a number of JSON calls retrieving incorrect values
Some values could not be updated (like mqtt publish topic)
Changing GPS format output had no effect
Checks placed around WindChillfactor to prevent calculating invalid value
Changes to Admin web pages
Add mqtt Subscribe Topic
Fixes for Windspeed and Wind Direction (SparkFun Weather Kit or Misol)
Fixes for Rainbucket (Sparkfun Weather kit or Misol)
Rewrite of Over The Air update code
Add mDNS
Improvements made to building admin webpages and handling POST data
Updated code for myESP32DB Daughter board examples
Last edit: brownrb 2021-07-27
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
New Document PDF 120-0
New Protocol PDF 014
New Firmware 220
New Windows Application mySQMPLUS_0_0_1_1
New TCP/IPLogger Application and Sources 023
Cheers
Robert
Firmware Changes for 120-0
120-0
// Fix for MQTT Debug errors
// Fix for cloud flag percent, temp clear and temp overcast on admin4 web page
// Fix for webserver XHTML request /wc for WindChill factor to handle invalid calculations
// Remove handler for POST events to root (index.html) web server page (no longer required)
// Fix for case 59: comms
121-4
// Change some configuration checks in controllerconfig.h
// Change index web-page about raining status to match xhtml code
// Fix for xhtml script to use correct syntax for refreshing values on home web-page
121-3
// Fix for serial and other connection issues [invalid mqtt broker ip]
121-2
// Add code check when calculating wind chill factor, if invalid, return -1
// Fix: should not be able to set Sync RTC to NTP if (NTP AND RTC) is not defined (on /admin1 pg)
121-1
// Add system up-time
// Fix /g1 error in json string (gps format was not changing)
121-0
// Add mDNS
// Rewrite portions of OTA code
Windows Application Changes mySQMPLUS_0_0_1_1
// 0.0.1.1
// Change filename and logged data date/time from dd-MM-yyyy to yyyy-MM-dd
// Change filenames from mySQMPLUS to mySQMPlus
// Fix for gpsdata in log files
// Add Shortcut keys and Menu for Shortcuts
// 0.0.1.0
// Fix for page display option string on display tab obscuring text
// Fix for CSII logging issues
// Fix for datalogfile (not CSII) output format (change xx,xx to xx.xx) - override locale settings
// Fix for locale issues (RainVolts) causing problems with Excel loading logfiles
// Fix for Cloud Model tab, CFP, TC and TOC values wrong type and invalid checking
// Fix for IntervalTimer logging issue
// Add rain tipping bucket data to datalog file
// Add CSII settings page for boundary checks when generating CSII log file
Windows TCP/IP Logger Application 023
// 0.0.23
// Adjustment of DayCondition boundaries
// 0.0.21
// Additional Fixes
// Add settings tab
// 0.0.20
// Fix Raining issue (caused by JSON de-serialization error)
// Fix locale issues for xx,xx which causes problems loading into Excel
// Add rainfall to mySQM+ data logfile
// 0.0.19
// Replace automate check box with Start/Stop logging button
// code changes made to rain flag, wet flag, skystate, wind condition, rain condition, daylight condition
// 0.0.18
// Extra logging to log JSON responses from server and deserialized results
// Fixes for a number of values
// 0.0.17
// Remove Boltwood
// 0.0.16
// Rewrite cloud sensor file code
// 0.0.15
// Add status indicator label for interval timer
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
017
Add error handling for data format conversions
Save/Restore LogData, LogErrors, LogCS2 checkbox states in INI file
Add error handling to file operations
Add autodetect logpath on startup, ask user for location folder to store logfiles
016
Add CSII logfile
Add CSII Settings tab
Add CSII settings to INI file
Add MQTT Settings tab
Add MQTT settings to INI file
Add GPS data to datalog file instead of "" no information
Add header line to datalogfile
Change Logfiles date stamp to yyyy-MM-dd
Move Connected State and Status from Connection Tab to above Status Messages
Rename MLX90614 tab to Cloud Model tab
Remove Lux sensor configuration tab
Remove Lux sensor gain and integration settings from INI file
015
Combine TCP/IP and Serial Interface into single application
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Update Firmware 122-4 https://sourceforge.net/projects/mysqmproesp32/files/FIRMWARE/mySQMPLUS-Firmware-122-4.zip/download
122-4
Add system uptime to root web page, update via XHTML
122-3
Fix for XHTML scripts (rv, rd, rh)
Fix for incorrect code in RainBucket.h
Move TLSCORRECTIONFACTOR into SPIFFS
Add change at runtime for TLSCorrectionFactor via JSON or web server (pg2)
Add comms TCP/IP calls 25/26 to handle TLSCorrectionFactor
Do not forget to upload the Sketch data files after programming the controller
Cheers
Robert
Last edit: brownrb 2021-09-09
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
mySQM+ Update
01-Oct-2021
Just a quick update -
New Linux application available soon (in testing)
New firmware 122-5 available soon (in testing)
New ASCOM OC driver available soon (coding has begun)
New PDF available soon
Cheers
Robert
Last edit: brownrb 2021-10-02
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
14-Dec-2021
Update release for mySQM+
Over the next week or so, I will be slowly updating firmware, apps, pdf etc on this site releated to the new updates.
Today I uploaded the new mySQM+ 125-60 and mySQM+ Protocol 023 PDF documents.
This coming release is a significant update, and many things have changed, added, replaced compared to the previous release on this site.
I want to acknowledge that a special group of people have made significant contributions to this release, and they are mentioned in the PDF and new Firmware
The upcoming release, firmware and apps, are designed to work together.
If you program the controller with the new firmware 125-60, then you need to use the new apps to talk to the new firmware. You will also need to upload the data sketch files otherwise the controller will not start correctly.
Once the new applications are posted, you will need to UNINSTALL existing apps, logviewers, logger apps etc BEFORE installing the new apps.
i posted the new pdf today, to give users a chance to read about all things that are different.
Over the next week I will be uploading the new apps and new firmware to this site. I am also in the process of removing the older files.
There are a small nmumber of improvements to 125-40 that we are working on, but they are not enough to stop this release.
20-Dec-2021
Today I have started to upload the next update, as the new update is being finalized.
This has been made possible the hard working team of people that have contributed to this update. I thank them for the significant contributions that have been made and have recognised their efforts in the documentation and firmware.
The current version of firmware available here is 122-4. So you can see that we are up to 125-63 and this represents a significant update. It will be posted here very shortly. I intend to give it the final look over and formatting tidy up before posting here. Its 2:31am here so time for me to wrap things up.
The updated applications (Windows, Linux)
WILL NOT WORK WITH ANY FIRMWARE LESS THAN v125
Everything I upload here today and the next few days all go together. Do not use these new versions with older firmware, and do not use the new firmware with old applications.
It is best to uninstall the existing windows applications before intalling the new ones.
This represents a huge leap forward. So may new things have been added, it would take me ages to list them all.
I did post a video on update 124 some time back now (on Yahoo), which covered a small portion of that update, and now there is more.
The new apps have a feature called background load timer (this is covered in the pdf). At load time, there are so many settings to get from the controller that it took too long to connect, so only the important data is loaded at connection time, and a backgroud timer loads the rest at timed intervals
The apps also have the auto connect feature (something again covered in the pdf). Auto connect is a setting that you can enable, and the application will connect to the controller and start logging without user interaction. This means a user can set up a task or cron job to start the app in unattended mode.
We also have made significant changes to NTP (again the pdf explains all), MQTT and RTC (there are now a choice of 2 different real time clock sources).
There is a choice between two different Over The Air updating of firmware and sketch files.
The list goes on, but thats enough from me at the moment.
Now for the files that were uploaded today
PDF 125-63
Protocol pdf 024
Windows application 0_0_3_6
Linux application 1116-2
Logviewer app 0_0_0_6
JSON logger app 0_0_0_6
Remember to use control panel to remove current apps before installing the new ones
Right now the decision is yours to make. Stay with what you have or migrate to the new.
I shall list the entire firmware changes from 122-4, the current firmware here on SF, and the new 125-63 below
If you have any questions, you can ask here or drop me an email,
Regards
Robert
125-63
Add conversion to sea level pressure for BME280 sensor
125-62
Fix for compiler error when EXTERNALRAINFALL is enabled
125-61
Fix error in comms.h related to set RTC date time
125-60
Add avgwindspd and maxgustwindspd to /rd and /w1 json calls
Add avgwindspd and maxgustwindspd to webserver home page
Add avgwindspd and maxgustwindspd to TCP/IP interface
Add max wind gust and average windspeed calculations to code for voltage wind speed sensors
Add /wa and /wm XHTML calls so values can be dynamically loaded on home page
Remove defines that are not referenced
Remove all TRACE code, when executed, causes long delays
Fix for rain sensor using wrong timer flag
Fix for trailing " in /ntp JSON call
Fix for init_struct() to set weekday to monday (jan 1 1990 was a monday)
Fix error RtcPrinttln , line 465 rtc.h
Fix error in calculation of averagewindspeed 30s for wind speed sensors
Fix gps message error when nmea message was successfully decoded
Fix error in display.h preventing display from showing pages
125-59
Changes to NTP gettimezonestring() to allow running even if ntp is not enabled
Changes to NTP code logic, and to the setting of ntp flags
Fix errors in wrong flags being used for wind direction and wind speed timers
Fix for display code not refreshing
Fix for Weather Underground starting when not enabled
Fix for external rainfall not refreshing
Fix for sync-rtc-to-tmp time interval shown in seconds and not minutes
Fix for /admin8 LocalDateTime value not updating correctly when timezone is changed
Fix print error in mqttclient.h
Fix for comms.h call to set new timezone not updating ntpclient
125-58
Add ESP32RTC as alternative to ds1307 rtc
Add ntp code to handle scanning of tz.h file for the users timezone setting
Add TZ file for Time Zones (see controllerconfig.h) Section 14: NTP
Add rtctontp sync interval (comms.h and /admin5)
Add timezone string (myntp.h) and text input on /admin5 (webserver.h)
Add debug defines for RTC, RAINFALL, RAINBUCKET
Add k1-k7 input fields to /admin4 so cloud model parameters can be changed
Add check for null arguments when set value is used (comms.h)
Add ability to change TimeZone whilst running, no reboot required
Add reconnect to ntp, will automatically attempt reconnection every 60s
Add mylocaldatetime - select source on /admin8 page (gps, ntp, rtc)
Add mylocaldatetime - /date json call
Add mylocaldatetime - contructed in each gps/ntp/rtc code for generating date/time
Delete ntpsynchr, timezone hour and time zone minutes (comms.h and /admin5)
Delete ntpsynchr, timezone hour and time zone minutes (display.h)
Delete obsolete reference to raintime (rainfall.h)
Change task_timer code
Change comms.h code
Change webserver,h code
Change mysqmplus***.ino code
Change mqtt code, kept reconnecting, publish intervals not consistent
Change usermqtt code to integrate with changed mqttclient,h code
Change /ntp json call to return time zone info
Change /admin5 layout, add timezone info
Change /admin5 handler to restart ntp when timezone is changed
Change admin page 2 layout /admin2
Change rainfall.h to use get_rtc_date_time() instead of get_rtc1307()
Change rainbucket.h to use get_rtc_date_time() instead of get_rtc1307()
Change rainbucket.h to use rtc_loc in place of local vars rtc_minute, hour etc
Change to initialization of RTC in setup()
Change /ntp json call to add time-zone-string (webserver.h)
Change /rd /w1 json calls to return windspeed/cloudcover/rainfalls 2 decimal places
Change /d1 json call to return cloudcover as 2 decimal places
Change xhtml calls to return skyambient/skyobject/cloudcover 2 decimal places
Change MDNSSERVER to ENABLEMDNS
Move ntp server to /admin5 from /admin1
Move tz.h to /data sketch folder
Generate time zone on controller boot by parsing tz.h
Rename ntpserver as ntpclient
Fix for tasktimer - some tasks not running on time
Fix for sending SQM value immediately after a Get NTP time zone string
Fix for timeout error getting date and time when RTC is not defined
Fix for init_ntpclient(0 being called twice (webserver.h)
Fix for calcwindchillfactor in not returning an invalid reading
Fix for rainbucket and external rainfall (using wrong counters)
Fix for external rainfall counter not being set correctly (rainfall.h)
Fix for rainbucket counter not being set correctly (rainbucket.h)
Fix for set RTC in comms.h (case :94# )
Fix for oled not showing time zone offset in minutes
Fix for ntp query time using wrong interval time in mytasktimer.h
Fix for /list truncating file names in web server
Fix for Cloud Model calculations in getskystate()
Fix for mqtt publish topic not set correctly (comms.h)
Fix for set ntp time zone (comms.h)
Fix for set RTC time (comms.h) - incorrect values
Fix for error ntptime (display.h)
Fix for RTC not working when using ESP32 Arduino Core 2.0.1
Fix for SYNC RTC TO NTP not being restored correctly on a controller reboot
Fix for MDNS state not displayed correctly on /admin11 web page
Fix for convert_utc_to_local_time not handling month correctly
Fix for compilation error for RTCDS1307
Fix for Compilation error: updatewindspeed not found
Fix for Compilation error: controllerconfig.h:486:2: error: invalid preprocessing #halt
Fix for Compilation error: myespnow undefined reference
Fix for rtc values not initialised when ENABLERTC is not enabled
125-0
Add myElegantOTA (provided by Paul)
Move RTC code to myrtc.h (change required for ease of adding different RTC methods later)
Change web-home page in JSON to include controllertype
Fix error in mytasktimer when using Rain Bucket
Fix error in main ino file when using Rain Bucket
Fix error in webserver when building home page as JSON string
Fix Set RTC on /admin8 page returning wrong page /admin7 page
124-4
Fix for Daylight saving values /admin5 not being displayed/saved correctly
Changes to /admin2 web page, layout and readibility improved
Changes to /admin7 web page, ayout and readibility improved
Changes to /admin10 web page,layout and readibility improved
Add comms calls so the Windows app can stop and restart the web service
124-3
Fix for external rainfall not updating rainfall values when enabled
Fix flag issue of update_mqttcheck_flag not correctly initialized
Fix issue of task intervals for assigned tasks varying in occurence
Fix issue of unterminated #ifndef in rainfall_h
Change rain updates from 15s to 6.1s
Change rainbucket updates from 2.3s to 9.7s
Add Mutexes around volatile update flags used by task timer
124-2
Add ElegantOTA as additional option for OTA (works in Accesspoint or Stationmode)
Add task timer to handle updates for all sensors and services
Add MQTT publish interval to /admin6, and add handler for updating publish interval
in SPIFFS file cntlr_config.jsn
Add MQTT publish interval when saving controller config in cntlr_config.jsn
Add TCP/IP call (comms.h) to get and set MQTT Publish Interval
Add new admin pg7 to handle selection of data elements to send using MQTT
Add new code handler for admin pg7 to set/clear user selected MQTT data elements
Add example of receiving commands via MQTT
Add support for home page user configuration code to mySetupData (save/restore)
Add new admin pg10 for setting what data elements appear on home page of web-server
Add code to build the home page that applies user configuration selections, both as
an HTML document or as a JSON formatted response when FORMAT HOME PAGE AS JSON is
enabled in the admin server
Add new admin pg11 (System Information)
Add checks to trap if EXTERNALRAINFALL and RAINBUCKET are both enabled
Add addition information about when to use ENABLEJSONSUPPORT
Add protocol calls for get and set static gps coordinates
Add synchronize RBG to RTC option on admin pg2
Remove colorpicker page
Remove global vars packetsreceived, packetssent
Remove global vars ws_kph, ws_mph, ws_mps;
Remove obsolete, un-referenced strings in mydefines.h
Remove SHOWSTARTSCREEN and use a Bootup message on the display
Remove update timer tests and sensor tests from all sensor, display, calc routines
Remove old data comma separated stuff from MQTT etc
Remove MQTT JSON, because JSON is now default
Remove MQTT JSON call in /admin6.html
Remove WINDCHILLFACTOR from controllerconfig.h because this is now the default
Remove GPSFORMAT (decimal not supported at this)
Change all sensors/services to use new task timer
Change loop() to work with the new task timer
Change admin page layout and formatting (all pages)
Change footers of all admin server pages to link in new /admin7 MQTT option page
Change MQTT init, connect, reconnect code to allow retries when Broker IP is changed
Change the /mqtt URI call to include MQTT Publish Interval time in the JSON response
Change the MQTT publish code to use the selected data elements enabled on /admin7
Change display code for MQTT status information
Change MQTT publish code, publish topic is sent in JSON, a few key names have changed
Change key names in usermqttcode.h for MQTT JSON messages to conform to naming conventions
Change loop() code to test for sensor/update-time-elapsed before calling sensor code
Change skystate() so code runs if MLX sensor not fitted (values can come from another device)
Change SPIFFS test code for each web page, replaced by filesystemloaded flag
Change Weather Underground code (improve cloud values)
Rename RAINFALL define to EXTERNALRAINFALL
Rename /data/admin7-admin8 as /data/admin8-admin9
Rename JSON SUPPORT as HOME PAGE FORMAT /admin2 page
Rename SQMSUPPORT as EMULATESQMMETER controllerconfig.h
Move enablejsonsupport code to the file mysqmsupport.h
Fix for static/truncate/format issues related to GPS coordinates
Fix for makehay value not refreshing on web home page
Fix for SUT (system uptime) not displaying correctly on some /admin pages
Fix for page display time re-setting to 10s
Fix for MQTT showing disabled in parts of web server
123-3
make some hay for Paul
Change mqtt message format to use same variable order as logfiles for applications
123-2
Move static gps from controllerconfig.h into admin server /admin2
Fixes for truncate gps code not working correctly for negative latitudes
Add static gps state to OLED display page 2
Add static gps state to spiffs file data_per.jsn
Add enable/disable static gps to /admin2 web page
Add enable/disable static gps to comms routines
Add enable/disable truncate gps to comms routines
Add get/set gps output format to comms routines
Rewrite /g1 json code for gps values
Rewrite mqtt (and user mqtt) publish code to send correct gps settings
Write new rules that handle gps truncation and static gps values
Write new rules that handle gps conversions between degrees and decimal notation
Rewrite comms code to apply new rules to getting gps co-ordinates
Rewrite webserver admin code to apply new rules for gps co-ordinates
122-5
Fix for rain bucket gauge (rainbucket.h)
Fix for Rainfall day not updating on main web page (fix in inclxhtml.js file)
122-4
Add system uptime to root web page, update via XHTML
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
20-Dec-2021 Update
Today I have uploaded the new ASCOM OC driver. If you are upgrading the OC driver, you must first uninstall the current one using control panel in Windows.
Once that has been done then you can install the new OC driver 016.
v016 has different application settings, so if you do not uninstall the driver currently on your computer then it will not work because it would be unable to find the new settings.
I have updated the 125-63 pdf to include the updated screen shots for the new OC driver.
More to come
R
Last edit: brownrb 2021-12-20
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
31-jan-2021
New Windows APP
New ASCOM OC Driver
New Linux App + Source
New PDF
7-Feb-2021
New Windows application.
This fixes the disconnect error that occurs when the Rain Timer is enabled.
08-Feb-2021
New firmware release 014
// 114
// Fix for error when mqtt enabled
// 113
// Add additional comms and webserver calls
7th-Feb-2021
New firmware update 118. Fixes an OLED issue.
Regards
Robert
June 2021
If any of you have built the mySQM+ controller, please replace the LM7805 regulator with a LM7808 regulator. The pins and orientation is the same.
There is an issue using the LM7805 regulator to power the board when running off 12V
I have updated PDF and board information
Cheers
Robert
July 8-2021
Please do not use Windows app 17 - there are issues.
I have corrected those issues and uploaded v18
Cheers
Robert
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/WINDOWS/mySQMPLUS_0_0_0_18.zip/download
08-June-2021
New PDF 119-6
New Firmware 119-6
New Windows App 0_0_0_19
17-Jul-2021
New PDF 120-5
The new PDF covers all the changes in firmware 120+
New Firmware 120-b6 (with help from Gintautas D - Fixes for Sparkfun Weatherkit)
120-b6 is a major release, as many things have been improved, some features removed (like TSL2591 adjustment via WebServer)
In addition, the myESP32DB Daughter Board examples have been updated to reflect firmware 120-b6
Cheers
Robert
New Windows App 0_0_0_20
THIS IS A MAJOR UPDATE.
UNINSTALL APP USING CONTROL PANEL BEFORE INSTALLING THIS VERSION
Firmware 120-b6
Make sure to upgrade the library arduinojsn to the latest version v6.18.0 or higher
Changes to controllerconfig layout
Add new defines (mydefines.h) for Wind Speed, Wind Direction and RainBucketGauge sensors
Overhall definitions of Wind Speed, Wind Direction and RainBucketGauge sensors (focuserconfig.h)
Remove Admin server page6 for modifying TSL2591 sensor settings
Add new admin page 6 to handle MQTT
Move MQTT from admin1 to new admin MQTT page 6
Add MQTT broker subscription code
Add calls (comms.h) to Set and Get the MQTT subscribe topic
Expand /mqtt JSON call to include subscribe and publish topics
Add targeted debugging
Move MQTT and OTA updates into Main State Engine
Fix for alternative credentials being set incorrectly
Rewrite Client code for multiple connections
119-8
Fix for Wind Direction Sensor Sparkfun (R4-1K, R5=2K, using 5k Pullup from SIG to 5V)
Fix for Wind Speed Sensor Sparkfun (R3=100k pulldown resistor from SIG to GND)
119-7
Fix for Wind Direction Sensor WINDDIRECTIONLIYUAN
Last edit: brownrb 2021-07-17
22-Jul-2021
WARNING: An issue has been identified with the PCB Version 12.
The LM7808 regulator also outputs 8V to wired sensors, which should have been 5V
Version 11 PCB or earlier is correct.
Version 12 - an interim fix would be to replace the LM7808 regulator with an LM7805 regulator.
A new version PCB will be available shortly
Apologies for the error.
Robert
27-Jul-2021
New firmware update 121-3
New ASCOM OC Driver 012
New ASCOM Driver Test Application 1009
New Windows Application 00022
These updates fix a number of issues across both Serial, TCP/IP and ASCOM
These updates are marked as essential.
Please uninstall the existing Windows application using control panel before installing the update
List of Issues
Unable to connect via USB Serial
After disconnection with USB Serial, cannot re-connect
Controller connects then disconnects via TCP/IP or Serial
Fixes for a number of JSON calls retrieving incorrect values
Some values could not be updated (like mqtt publish topic)
Changing GPS format output had no effect
Checks placed around WindChillfactor to prevent calculating invalid value
Changes to Admin web pages
Add mqtt Subscribe Topic
Fixes for Windspeed and Wind Direction (SparkFun Weather Kit or Misol)
Fixes for Rainbucket (Sparkfun Weather kit or Misol)
Rewrite of Over The Air update code
Add mDNS
Improvements made to building admin webpages and handling POST data
Updated code for myESP32DB Daughter board examples
Last edit: brownrb 2021-07-27
08-Aug-2021
04-August-2021
New Document PDF 120-0
New Protocol PDF 014
New Firmware 220
New Windows Application mySQMPLUS_0_0_1_1
New TCP/IPLogger Application and Sources 023
Cheers
Robert
Firmware Changes for 120-0
120-0
// Fix for MQTT Debug errors
// Fix for cloud flag percent, temp clear and temp overcast on admin4 web page
// Fix for webserver XHTML request /wc for WindChill factor to handle invalid calculations
// Remove handler for POST events to root (index.html) web server page (no longer required)
// Fix for case 59: comms
121-4
// Change some configuration checks in controllerconfig.h
// Change index web-page about raining status to match xhtml code
// Fix for xhtml script to use correct syntax for refreshing values on home web-page
121-3
// Fix for serial and other connection issues [invalid mqtt broker ip]
121-2
// Add code check when calculating wind chill factor, if invalid, return -1
// Fix: should not be able to set Sync RTC to NTP if (NTP AND RTC) is not defined (on /admin1 pg)
121-1
// Add system up-time
// Fix /g1 error in json string (gps format was not changing)
121-0
// Add mDNS
// Rewrite portions of OTA code
Windows Application Changes mySQMPLUS_0_0_1_1
// 0.0.1.1
// Change filename and logged data date/time from dd-MM-yyyy to yyyy-MM-dd
// Change filenames from mySQMPLUS to mySQMPlus
// Fix for gpsdata in log files
// Add Shortcut keys and Menu for Shortcuts
// 0.0.1.0
// Fix for page display option string on display tab obscuring text
// Fix for CSII logging issues
// Fix for datalogfile (not CSII) output format (change xx,xx to xx.xx) - override locale settings
// Fix for locale issues (RainVolts) causing problems with Excel loading logfiles
// Fix for Cloud Model tab, CFP, TC and TOC values wrong type and invalid checking
// Fix for IntervalTimer logging issue
// Add rain tipping bucket data to datalog file
// Add CSII settings page for boundary checks when generating CSII log file
Windows TCP/IP Logger Application 023
// 0.0.23
// Adjustment of DayCondition boundaries
// 0.0.21
// Additional Fixes
// Add settings tab
// 0.0.20
// Fix Raining issue (caused by JSON de-serialization error)
// Fix locale issues for xx,xx which causes problems loading into Excel
// Add rainfall to mySQM+ data logfile
// 0.0.19
// Replace automate check box with Start/Stop logging button
// code changes made to rain flag, wet flag, skystate, wind condition, rain condition, daylight condition
// 0.0.18
// Extra logging to log JSON responses from server and deserialized results
// Fixes for a number of values
// 0.0.17
// Remove Boltwood
// 0.0.16
// Rewrite cloud sensor file code
// 0.0.15
// Add status indicator label for interval timer
19-Aug-2021
New Linux Application
017
Add error handling for data format conversions
Save/Restore LogData, LogErrors, LogCS2 checkbox states in INI file
Add error handling to file operations
Add autodetect logpath on startup, ask user for location folder to store logfiles
016
Add CSII logfile
Add CSII Settings tab
Add CSII settings to INI file
Add MQTT Settings tab
Add MQTT settings to INI file
Add GPS data to datalog file instead of "" no information
Add header line to datalogfile
Change Logfiles date stamp to yyyy-MM-dd
Move Connected State and Status from Connection Tab to above Status Messages
Rename MLX90614 tab to Cloud Model tab
Remove Lux sensor configuration tab
Remove Lux sensor gain and integration settings from INI file
015
Combine TCP/IP and Serial Interface into single application
10-Aug-2021
Updated Windows Application tester for testing ASCOM OC driver.
// 1_0_0_12
// Fix for exception handling returned from ASCOM OC Driver
// Rename application
// 1_0_0_11
// Fix for SkyTemperature not being retrieved when connecting
16-Aug-2021
Updated PDF manin document
Updated Linux application
Updated Windows application
Cheers
Robert
22-Aug-2021
Updated PDF. Provides new information on Logging capability and new application support for additional logging support.
New Firmware 122-1
Currently in test there is a revised Log Viewer app, and a new JSON logger application.
Regards
Robert
24-Aug-2021
New firmware 122-2 update. This fixes an issue with the OLED causing a reboot.
Regards
Robert
01-Sep-2021
Update for TCPIP Logger application. Fixes data log issues.
09-Sep-2021
Update PDF document 122-6
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/mySQM%2B%20122-6.pdf/download
Update PDF Protocol document 015
https://sourceforge.net/projects/mysqmproesp32/files/DOCUMENTATION/mySQM%2B%20Protocol%20015..pdf/download
Update Linux USB application
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/LINUX/mySQMPLUSLUSB-019.zip/download
Update Linux TCP/IP application
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/LINUX/mySQMPLUSTCPIP-019.zip/download
Update Windows application mySQMPLUS_0_0_1_4
https://sourceforge.net/projects/mysqmproesp32/files/APPLICATIONS/WINDOWS/mySQMPLUS_0_0_1_4.zip/download
// 0.0.1.4
// Add system up time Connection tab
// 0.0.1.3
// Add TLS sensor correction factor to tls tab
Update Firmware 122-4
https://sourceforge.net/projects/mysqmproesp32/files/FIRMWARE/mySQMPLUS-Firmware-122-4.zip/download
122-4
Add system uptime to root web page, update via XHTML
122-3
Fix for XHTML scripts (rv, rd, rh)
Fix for incorrect code in RainBucket.h
Move TLSCORRECTIONFACTOR into SPIFFS
Add change at runtime for TLSCorrectionFactor via JSON or web server (pg2)
Add comms TCP/IP calls 25/26 to handle TLSCorrectionFactor
Do not forget to upload the Sketch data files after programming the controller
Cheers
Robert
Last edit: brownrb 2021-09-09
mySQM+ Update
01-Oct-2021
Just a quick update -
New Linux application available soon (in testing)
New firmware 122-5 available soon (in testing)
New ASCOM OC driver available soon (coding has begun)
New PDF available soon
Cheers
Robert
Last edit: brownrb 2021-10-02
06-Nov-2021
Update 124-3 is coming very soon.
Video link
https://youtu.be/zZ-Y9TsLtS8
Last edit: brownrb 2021-11-06
Spoiler alert
18-Nov-2021
Another update is coming soon.
Firmware update 125
Windows update 0024
Linux app update 1115
Updated PDF 125
mySQM+ Log Viewer app 0005
R
14-Dec-2021
Update release for mySQM+
Over the next week or so, I will be slowly updating firmware, apps, pdf etc on this site releated to the new updates.
Today I uploaded the new mySQM+ 125-60 and mySQM+ Protocol 023 PDF documents.
This coming release is a significant update, and many things have changed, added, replaced compared to the previous release on this site.
I want to acknowledge that a special group of people have made significant contributions to this release, and they are mentioned in the PDF and new Firmware
The upcoming release, firmware and apps, are designed to work together.
If you program the controller with the new firmware 125-60, then you need to use the new apps to talk to the new firmware. You will also need to upload the data sketch files otherwise the controller will not start correctly.
Once the new applications are posted, you will need to UNINSTALL existing apps, logviewers, logger apps etc BEFORE installing the new apps.
i posted the new pdf today, to give users a chance to read about all things that are different.
Over the next week I will be uploading the new apps and new firmware to this site. I am also in the process of removing the older files.
There are a small nmumber of improvements to 125-40 that we are working on, but they are not enough to stop this release.
If you have not watched the recent video update on v124 then I would suggest taking a look.
https://www.youtube.com/watch?v=zZ-Y9TsLtS8
R
20-Dec-2021
Today I have started to upload the next update, as the new update is being finalized.
This has been made possible the hard working team of people that have contributed to this update. I thank them for the significant contributions that have been made and have recognised their efforts in the documentation and firmware.
The current version of firmware available here is 122-4. So you can see that we are up to 125-63 and this represents a significant update. It will be posted here very shortly. I intend to give it the final look over and formatting tidy up before posting here. Its 2:31am here so time for me to wrap things up.
The updated applications (Windows, Linux)
WILL NOT WORK WITH ANY FIRMWARE LESS THAN v125
Everything I upload here today and the next few days all go together. Do not use these new versions with older firmware, and do not use the new firmware with old applications.
It is best to uninstall the existing windows applications before intalling the new ones.
This represents a huge leap forward. So may new things have been added, it would take me ages to list them all.
I did post a video on update 124 some time back now (on Yahoo), which covered a small portion of that update, and now there is more.
The new apps have a feature called background load timer (this is covered in the pdf). At load time, there are so many settings to get from the controller that it took too long to connect, so only the important data is loaded at connection time, and a backgroud timer loads the rest at timed intervals
The apps also have the auto connect feature (something again covered in the pdf). Auto connect is a setting that you can enable, and the application will connect to the controller and start logging without user interaction. This means a user can set up a task or cron job to start the app in unattended mode.
We also have made significant changes to NTP (again the pdf explains all), MQTT and RTC (there are now a choice of 2 different real time clock sources).
There is a choice between two different Over The Air updating of firmware and sketch files.
The list goes on, but thats enough from me at the moment.
Now for the files that were uploaded today
PDF 125-63
Protocol pdf 024
Windows application 0_0_3_6
Linux application 1116-2
Logviewer app 0_0_0_6
JSON logger app 0_0_0_6
Remember to use control panel to remove current apps before installing the new ones
Right now the decision is yours to make. Stay with what you have or migrate to the new.
I shall list the entire firmware changes from 122-4, the current firmware here on SF, and the new 125-63 below
If you have any questions, you can ask here or drop me an email,
Regards
Robert
125-63
Add conversion to sea level pressure for BME280 sensor
125-62
Fix for compiler error when EXTERNALRAINFALL is enabled
125-61
Fix error in comms.h related to set RTC date time
125-60
Add avgwindspd and maxgustwindspd to /rd and /w1 json calls
Add avgwindspd and maxgustwindspd to webserver home page
Add avgwindspd and maxgustwindspd to TCP/IP interface
Add max wind gust and average windspeed calculations to code for voltage wind speed sensors
Add /wa and /wm XHTML calls so values can be dynamically loaded on home page
Remove defines that are not referenced
Remove all TRACE code, when executed, causes long delays
Fix for rain sensor using wrong timer flag
Fix for trailing " in /ntp JSON call
Fix for init_struct() to set weekday to monday (jan 1 1990 was a monday)
Fix error RtcPrinttln , line 465 rtc.h
Fix error in calculation of averagewindspeed 30s for wind speed sensors
Fix gps message error when nmea message was successfully decoded
Fix error in display.h preventing display from showing pages
125-59
Changes to NTP gettimezonestring() to allow running even if ntp is not enabled
Changes to NTP code logic, and to the setting of ntp flags
Fix errors in wrong flags being used for wind direction and wind speed timers
Fix for display code not refreshing
Fix for Weather Underground starting when not enabled
Fix for external rainfall not refreshing
Fix for sync-rtc-to-tmp time interval shown in seconds and not minutes
Fix for /admin8 LocalDateTime value not updating correctly when timezone is changed
Fix print error in mqttclient.h
Fix for comms.h call to set new timezone not updating ntpclient
125-58
Add ESP32RTC as alternative to ds1307 rtc
Add ntp code to handle scanning of tz.h file for the users timezone setting
Add TZ file for Time Zones (see controllerconfig.h) Section 14: NTP
Add rtctontp sync interval (comms.h and /admin5)
Add timezone string (myntp.h) and text input on /admin5 (webserver.h)
Add debug defines for RTC, RAINFALL, RAINBUCKET
Add k1-k7 input fields to /admin4 so cloud model parameters can be changed
Add check for null arguments when set value is used (comms.h)
Add ability to change TimeZone whilst running, no reboot required
Add reconnect to ntp, will automatically attempt reconnection every 60s
Add mylocaldatetime - select source on /admin8 page (gps, ntp, rtc)
Add mylocaldatetime - /date json call
Add mylocaldatetime - contructed in each gps/ntp/rtc code for generating date/time
Delete ntpsynchr, timezone hour and time zone minutes (comms.h and /admin5)
Delete ntpsynchr, timezone hour and time zone minutes (display.h)
Delete obsolete reference to raintime (rainfall.h)
Change task_timer code
Change comms.h code
Change webserver,h code
Change mysqmplus***.ino code
Change mqtt code, kept reconnecting, publish intervals not consistent
Change usermqtt code to integrate with changed mqttclient,h code
Change /ntp json call to return time zone info
Change /admin5 layout, add timezone info
Change /admin5 handler to restart ntp when timezone is changed
Change admin page 2 layout /admin2
Change rainfall.h to use get_rtc_date_time() instead of get_rtc1307()
Change rainbucket.h to use get_rtc_date_time() instead of get_rtc1307()
Change rainbucket.h to use rtc_loc in place of local vars rtc_minute, hour etc
Change to initialization of RTC in setup()
Change /ntp json call to add time-zone-string (webserver.h)
Change /rd /w1 json calls to return windspeed/cloudcover/rainfalls 2 decimal places
Change /d1 json call to return cloudcover as 2 decimal places
Change xhtml calls to return skyambient/skyobject/cloudcover 2 decimal places
Change MDNSSERVER to ENABLEMDNS
Move ntp server to /admin5 from /admin1
Move tz.h to /data sketch folder
Generate time zone on controller boot by parsing tz.h
Rename ntpserver as ntpclient
Fix for tasktimer - some tasks not running on time
Fix for sending SQM value immediately after a Get NTP time zone string
Fix for timeout error getting date and time when RTC is not defined
Fix for init_ntpclient(0 being called twice (webserver.h)
Fix for calcwindchillfactor in not returning an invalid reading
Fix for rainbucket and external rainfall (using wrong counters)
Fix for external rainfall counter not being set correctly (rainfall.h)
Fix for rainbucket counter not being set correctly (rainbucket.h)
Fix for set RTC in comms.h (case :94# )
Fix for oled not showing time zone offset in minutes
Fix for ntp query time using wrong interval time in mytasktimer.h
Fix for /list truncating file names in web server
Fix for Cloud Model calculations in getskystate()
Fix for mqtt publish topic not set correctly (comms.h)
Fix for set ntp time zone (comms.h)
Fix for set RTC time (comms.h) - incorrect values
Fix for error ntptime (display.h)
Fix for RTC not working when using ESP32 Arduino Core 2.0.1
Fix for SYNC RTC TO NTP not being restored correctly on a controller reboot
Fix for MDNS state not displayed correctly on /admin11 web page
Fix for convert_utc_to_local_time not handling month correctly
Fix for compilation error for RTCDS1307
Fix for Compilation error: updatewindspeed not found
Fix for Compilation error: controllerconfig.h:486:2: error: invalid preprocessing #halt
Fix for Compilation error: myespnow undefined reference
Fix for rtc values not initialised when ENABLERTC is not enabled
125-0
Add myElegantOTA (provided by Paul)
Move RTC code to myrtc.h (change required for ease of adding different RTC methods later)
Change web-home page in JSON to include controllertype
Fix error in mytasktimer when using Rain Bucket
Fix error in main ino file when using Rain Bucket
Fix error in webserver when building home page as JSON string
Fix Set RTC on /admin8 page returning wrong page /admin7 page
124-4
Fix for Daylight saving values /admin5 not being displayed/saved correctly
Changes to /admin2 web page, layout and readibility improved
Changes to /admin7 web page, ayout and readibility improved
Changes to /admin10 web page,layout and readibility improved
Add comms calls so the Windows app can stop and restart the web service
124-3
Fix for external rainfall not updating rainfall values when enabled
Fix flag issue of update_mqttcheck_flag not correctly initialized
Fix issue of task intervals for assigned tasks varying in occurence
Fix issue of unterminated #ifndef in rainfall_h
Change rain updates from 15s to 6.1s
Change rainbucket updates from 2.3s to 9.7s
Add Mutexes around volatile update flags used by task timer
124-2
Add ElegantOTA as additional option for OTA (works in Accesspoint or Stationmode)
124-1
fix for brokeripchanged compiler link error
124-0
Switch to using library PubSubClient instead of myPubSubClient
You need to download it and install it
Nick O'Leary, https://github.com/knolleary/pubsubclient
Add task timer to handle updates for all sensors and services
Add MQTT publish interval to /admin6, and add handler for updating publish interval
in SPIFFS file cntlr_config.jsn
Add MQTT publish interval when saving controller config in cntlr_config.jsn
Add TCP/IP call (comms.h) to get and set MQTT Publish Interval
Add new admin pg7 to handle selection of data elements to send using MQTT
Add new code handler for admin pg7 to set/clear user selected MQTT data elements
Add example of receiving commands via MQTT
Add support for home page user configuration code to mySetupData (save/restore)
Add new admin pg10 for setting what data elements appear on home page of web-server
Add code to build the home page that applies user configuration selections, both as
an HTML document or as a JSON formatted response when FORMAT HOME PAGE AS JSON is
enabled in the admin server
Add new admin pg11 (System Information)
Add checks to trap if EXTERNALRAINFALL and RAINBUCKET are both enabled
Add addition information about when to use ENABLEJSONSUPPORT
Add protocol calls for get and set static gps coordinates
Add synchronize RBG to RTC option on admin pg2
Remove colorpicker page
Remove global vars packetsreceived, packetssent
Remove global vars ws_kph, ws_mph, ws_mps;
Remove obsolete, un-referenced strings in mydefines.h
Remove SHOWSTARTSCREEN and use a Bootup message on the display
Remove update timer tests and sensor tests from all sensor, display, calc routines
Remove old data comma separated stuff from MQTT etc
Remove MQTT JSON, because JSON is now default
Remove MQTT JSON call in /admin6.html
Remove WINDCHILLFACTOR from controllerconfig.h because this is now the default
Remove GPSFORMAT (decimal not supported at this)
Change all sensors/services to use new task timer
Change loop() to work with the new task timer
Change admin page layout and formatting (all pages)
Change footers of all admin server pages to link in new /admin7 MQTT option page
Change MQTT init, connect, reconnect code to allow retries when Broker IP is changed
Change the /mqtt URI call to include MQTT Publish Interval time in the JSON response
Change the MQTT publish code to use the selected data elements enabled on /admin7
Change display code for MQTT status information
Change MQTT publish code, publish topic is sent in JSON, a few key names have changed
Change key names in usermqttcode.h for MQTT JSON messages to conform to naming conventions
Change loop() code to test for sensor/update-time-elapsed before calling sensor code
Change skystate() so code runs if MLX sensor not fitted (values can come from another device)
Change SPIFFS test code for each web page, replaced by filesystemloaded flag
Change Weather Underground code (improve cloud values)
Rename RAINFALL define to EXTERNALRAINFALL
Rename /data/admin7-admin8 as /data/admin8-admin9
Rename JSON SUPPORT as HOME PAGE FORMAT /admin2 page
Rename SQMSUPPORT as EMULATESQMMETER controllerconfig.h
Move enablejsonsupport code to the file mysqmsupport.h
Fix for static/truncate/format issues related to GPS coordinates
Fix for makehay value not refreshing on web home page
Fix for SUT (system uptime) not displaying correctly on some /admin pages
Fix for page display time re-setting to 10s
Fix for MQTT showing disabled in parts of web server
123-3
make some hay for Paul
Change mqtt message format to use same variable order as logfiles for applications
123-2
Move static gps from controllerconfig.h into admin server /admin2
Fixes for truncate gps code not working correctly for negative latitudes
Add static gps state to OLED display page 2
Add static gps state to spiffs file data_per.jsn
Add enable/disable static gps to /admin2 web page
Add enable/disable static gps to comms routines
Add enable/disable truncate gps to comms routines
Add get/set gps output format to comms routines
Rewrite /g1 json code for gps values
Rewrite mqtt (and user mqtt) publish code to send correct gps settings
Write new rules that handle gps truncation and static gps values
Write new rules that handle gps conversions between degrees and decimal notation
Rewrite comms code to apply new rules to getting gps co-ordinates
Rewrite webserver admin code to apply new rules for gps co-ordinates
122-5
Fix for rain bucket gauge (rainbucket.h)
Fix for Rainfall day not updating on main web page (fix in inclxhtml.js file)
122-4
Add system uptime to root web page, update via XHTML
20-Dec-2021 Update
Today I have uploaded the new ASCOM OC driver. If you are upgrading the OC driver, you must first uninstall the current one using control panel in Windows.
Once that has been done then you can install the new OC driver 016.
v016 has different application settings, so if you do not uninstall the driver currently on your computer then it will not work because it would be unable to find the new settings.
I have updated the 125-63 pdf to include the updated screen shots for the new OC driver.
More to come
R
Last edit: brownrb 2021-12-20
20-Dec-2021
Firmware 125-63 is available.
All the data/sketch files MUST be uploaded after programming the controller with the new firmware
regards
Robert