Releases: DesconBelgrade/Klimerko
Klimerko Firmware v2.1.1
This minor release fixes a compile issue reported here.
Updating
If you're running Klimerko Firmware version 2.0.0 or newer, simply enter WiFi Configuration Mode in your Klimerko and upload the attached
Klimerko_Firmware.bin
file. Easy as that!
To update your device, go to Updating Firmware!
Klimerko Firmware v2.1.0
This update brings a highly requested feature: User-configurable temperature offset.
Previously, if you wanted to change the temperature offset, you'd need to do it in source code and then recompile and re-upload it.
This time around, all you need to do is enter WiFi Configuration Mode and input your desired temperature offset.
Not only that, but humidity is now compensated for the temperature offset, which means that humidity sensor readings are much more accurate now.
Configurable Temperature Offset
- Configured via WiFi Configuration Mode - user friendly web interface
- Humidity readings are compensated for the temperature offset, which results in more accurate humidity readings than before
- Your custom temperature offset is now stored in device memory, which means it persists over firmware updates - same as device credentials
- A factory reset resets the temperature offset value as well
- Current temperature offset is also published as an asset to your AllThingsTalk Maker account
- Make sure to create a
Sensor
asset of typeNumber
namedtemperature-offset
in order to use this feature
- Make sure to create a
- Default temperature offset is
-4
°C, same as before - Decimal values are supported (e.g.
-2.4
,0.2
,-5.12
) - Maximum positive offset is
+25
°C and maximum negative offset is-25
°C - Use value
0
to disable offset - Current temperature offset is always shown in WiFi Configuration Portal (as opposed to credentials, which aren't)
Other changes
- Updated WiFiManager
- Adds units when displaying sensor values via serial monitor
- Shows your input values for Device Token and Device ID via Serial output if the values you wrote are disregarded for any reason
- Informs you via Serial output if there are no WiFi credentials stored on the device
- Renamed some functions
Updating
If you're running Klimerko Firmware version 2.0.0, simply enter WiFi Configuration Mode in your Klimerko and upload the attached
Klimerko_Firmware.bin
file. Easy as that!
To update your device, go to Updating Firmware!
Klimerko Firmware v2.0.0
Buckle up, this is the biggest and most feature-packed Klimerko release since its inception so you'll definitely want to update your device to this one! - Vanja
WiFi Configuration Mode
You can now configure your Klimerko's WiFi and AllThingsTalk credentials using WiFi!
The feature is called WiFi Configuration Mode and you activate it by holding the "FLASH" button on the NodeMCU board for 2 seconds.
Once activated, use your computer or smartphone to connect to "KLIMERKO-XXX" WiFi network using password "ConfigMode".
The WiFi Configuration Portal will automatically open (if not, open 192.168.4.1 in your browser) and you can configure your WiFi and AllThingsTalk Platform credentials from there, as well as update the firmware, which also means:
Over-The-Air Firmware Updating (OTA)
You can now update your Klimerko's firmware wirelessly using WiFi Configuration Mode (once you're on this version).
Updating is as easy as clicking the "Update" button on the WiFi Configuration Portal, selecting the downloaded Klimerko_Firmware.bin file and clicking "Update"!
This means that once you initially flash your Klimerko, you'll never need to check if you plugged your USB correctly, if the USB cable supports data, if your Arduino IDE is on the latest version, if you have the latest/correct ESP8266 core, if you've selected the correct port, if you have the driver installed, if you've selected the correct upload speed, etc. to update your Klimerko to the newest firmware!
No More Missed Payloads
Your Klimerko will now constantly try to publish sensor data if it failed to publish it previously.
This means that even if you have the worst connection possible, a very short amount of active online time is enough for it to send the data.
The data published at the moment it succeeds is the average of last 10 sensor readings (which happen independently of publishing), so you will not get "stale" sensor data in case connection fails for a long time.
Improved Temperature, Humidity and Pressure Precision
You can now detect smaller changes in temperature, humidity and pressure because those values now have 2 decimals instead of just being integers. For example, temperature values before would be "23", "24" and now they're "23.87", "24.08".
Works Without Sensor(s)
Klimerko can now function without one or both sensors in case of a hardware problem.
It detects if a sensor is missing or if it failed and omits sending values from that specific sensor in order to eliminate bogus data being sent and recovers the sensor if it has been connected (or starts working again) and initializes it, runs tests and starts sending data for that sensor again.
And it does all this automatically even during operation! You could hot-swap your sensors! Or not. Nobody does that.
Factory Reset
You can now factory reset your Klimerko by pressing and holding the FLASH button on NodeMCU for 15 seconds. The LED will flash rapidly for 2 seconds and stay on (until restart), after which Klimerko automatically restarts with all the credentials wiped.
All Changes
- WiFi Configuration Mode (allows you to configure your Klimerko using only WiFi).
- Over-The-Air Updates (flashing the newest Klimerko firmware using only WiFi).
- If sensor data publishing failed, Klimerko will now retry until it succeeds with each retry loaded with fresh sensor data.
- Temperature, Humidity and Pressure precision improved. Those values now have 2 decimals as opposed to just being integers.
- Minimum data reporting interval decreased from 5 minutes to 1 minute. If set to 1 minute, sensor data is read every 6 seconds for averaging.
- Boot delay removed. It now takes ~5 seconds from powering it on to being connected to WiFi and AllThingsTalk.
- Publishes diagnostic data (Firmware Version, WiFi Signal Strength and Reporting Interval) at boot and every time it successfully connects to AllThingsTalk.
- Ability to recover failed sensors during runtime or run without them if necessary.
- If any sensor fails to be read a few times in a row, it will be considered offline.
- Data and data fields of an offline sensor is omitted from the payload that is sent to the platform.
- Averaging data is reset the moment the sensor is considered offline.
- Firmware will attempt to re-initialize any offline sensor every time data is being read.
- Utilizes NodeMCU's onboard "FLASH" button:
- Pressing the button quickly stops WiFi Configuration Mode (if started).
- Holding the button for 2 seconds (and releasing it) starts WiFi Configuration Mode.
- Holding the button for 15 seconds resets the device to factory settings (all credentials are deleted).
- Built-in NodeMCU LED Features:
- Slow blinking: Trying to connect to either WiFi or AllThingsTalk
- Quick blinking and then slow blinking: Connected to WiFi but still trying to connect to AllThingsTalk.
- Quick blinking and then turns off: Connected to both WiFi and AllThingsTalkWiFi Configuration Mode.
- Constantly on: WiFi Configuration Mode is currently active.
- Long rapid blinking and then turns on: Factory reset has been initiated.
- Unique ID is generated for every Klimerko (based on ESP8266 chipID) so that it's possible to differentiate between multiple devices.
- Fixes issues with ESP8266 Core v3.x.x. You can now update to the latest ESP8266 Core without any issues when compiling this firmware.
- Major code refactoring.
- README updated to account for all the new functionalities of this update.
- Credentials configuration using Serial interface has been deprecated/removed.
Updating
This is the last Klimerko Firmware Update that you'll need to install using Arduino IDE. After you install v2.0.0, you can install every new update Wirelessly.
Before you proceed, please note that updating to this firmware version will delete AllThingsTalk (and possibly WiFi) credentials from your Klimerko due to changes in how the credentials are now being stored in memory. Once you update, enter the credentials again and you're good to go. Your credentials won't be deleted again.
Use these instructions to update your Klimerko to this firmware version.
Klimerko Firmware v1.3.1
What's new?
- Utilize new version of AllThingsTalk WiFi SDK (v2.1.2) which fixes a memory leak issue and utilizes a new way of checking if WiFi is connected.
- Minor fixes to variable types & ogranization
- Updated website link printed to Serial monitor
Update Now
Follow the Updating Firmware section for detailed instructions
Klimerko Firmware v1.3.0
Important Announcement
Any Klimerko running an older firmware (below 1.3.0) will be deemed untrustworthy and will not be utilized in ongoing integrations (AirCare for example) until updated.
Update Now
Follow the Updating Firmware section for detailed instructions
What's new?
This update brings many improvements in data accuracy and connection stability as well as the files required to print the 3D case yourself!
- STL Files for 3D Printing the case
- Sensor data is now read 10 times before sending to the cloud and only average data is sent to the cloud.
- No matter the reporting interval set, data from all sensors will be sampled 10 times before publishing.
- Averaging dynamically adjusts based on the user-configurable reporting period.
- Fixed erratical readings with PMS7003 that some users had (independent from the new averaging system).
- Minimum reporting period is now 5 minutes.
- If set to 5 minutes, the air quality sensor does not sleep at all. This reduces its lifespan but may be useful if short periods between readings are necessary.
- Setting the reporting period to 6 minutes or higher enables air quality sensors' sleep.
- Textual pollution reference values now match regulations of Republic of Serbia completely.
From previous versions
- Utilize new production AllThingsTalk SDK with much improved stability (v1.2.0)
- Previously utilized SDK was unreleased and in beta stage.
- Improved temperature reading precision (v1.1.6)
- Calibration and testing done with 7 sensors (3 different models).
- It appears that BME280 has self-heating of about 2°C in addition to 1.6-2.0°C raise in temperature when placed inside the 3D printed case.
- Calibration and testing done with 7 sensors (3 different models).
Previous Firmware Release Notes
Version | Date | Notes |
---|---|---|
v1.3.0 | 28.1.2020 | Sensor data averaging system; 5 minutes minimum reporting interval; Erratic AQ readings fix; Textual values fixed |
v1.2.0 | 8.1.2020 | Utilize new publicly released AllThingsTalk SDK; Firmware version reporting |
v1.1.6 | 6.1.2020 | Temperature sensor (BME280) calibration |
v1.1.5 | 12.12.2019 | Fixed issue with unique device ID generation that could prevent the device to connect to AllThingsTalk |
v1.1.4 | 6.11.2019 | Improved PMS7003 reading stability; Fixed bug with payload sending that was introduced in v1.1.3 |
v1.1.3 | 5.11.2019 | Added Serial Monitor notification when BME280 fails to read data; Improved reliability when reconnecting to WiFi/AllThingsTalk and when loading credentials from memory |
v1.1.2 | 23.10.2019 | Fixed issue where quitting device credentials configuration dialog would still save changes for that session |
v1.1.1 | 23.10.2019 | Fixed configuring credentials on Linux |
v1.1.0 | 20.10.2019 | Ability to configure credentials using Serial Monitor (no need to re-flash the whole device anymore); Updated textual form "Air Quality" reporting to use PM 10 values |
v1.0.0 | 3.10.2019 | The initial firmware written for Descon 5.0 (2019) workshop |