-
Notifications
You must be signed in to change notification settings - Fork 5
News
A rolling log of news from Frugal IoT. (Note some of the more recent developments might not yet be in current release)
The ugly home page is now gone :-) Replaced by a more aesthetic design
This won't be visible to anyone but developers, but now the Logger, Server, and Client all use the same configuration files, making adding new modules and topics for new sensors, controls etc easy.
A few changes to the client including:
- better graphing of boolean values make it clearer how, for example, your fan related to the temperature.
- displaying and changing the
manualstate of a Sonoff
The admin dashboard is now live, the allows Administrators to control who can access certain functions, in particular who can OTAUPDATE i.e. upload new versions to their devices.
All of the developers AFAIK are using PlatformIO, but I still here newbies wanting to use the simpler Arduino IDE. I ran some tests, and some of the recent code exploited features only on PlatformIO, especially application-wide #define. I built a python script (OK - confession, I used Claude to do so!) that builds a new platform.h file for each example, allowing them to compile properly on Arduino IDE.
If there are further problems on Arduino IDE, please raise a new issue, as without our attention drawn to it, we'll most likely miss them.
I want to welcome a new contributor - Yousef Hindy, he has added a climate control examples/climate which demonstrates how someone can easily build their own control class, hook it to some inputs and outputs.
The contribution was particularly useful in surfacing some limitations in the ability of third parties to add elements which need new UI - still working on fixing that.
A new version fixes a problem with mobile graphing, where the graph was really small - its now quite usable, try it out! Click the graph icon on any value or values and watch the graph build. Click the fat left-arrow to get historical data.
Building on some of the ideas from Graam Disha's Varta project, I've added examples/agri which combines atmospheric temperature and humidity (SHT3x or SHT4x); Soil temperature (DS18B20) and Soil Moisture. It can also test the battery voltage, as - in most cases - this will be deployed with solar and battery.
Yash from SwayAlgo has added Progressive Web capability. The website can now be saved to the home page on phones, and then run just like any other app.
On an iPhone - click the "..." then "Share" then"..." then "Add to Home Screen". You should see the new icon, and can open that directly in future.
On Android - it appears to be "Add to" then "Home Screen"
We now have an Icon, the idea is to show the world, regenerative agriculture, and a circuit board. I like the sketch character of it, as, at least to me, it suggests something we do ourselves.
Buttons are tricky to work with - the devices typically only have one, so the UX has to be carefully thought through. I have no added a button control on the Sonoff which works as follows.
- Its integrated into the Control that was already in the Sonoff that turns the device on or off based, for example, on temperature or humidity.
- A single click toggles the on-off state and sets the Sonoff into Manual mode.
- The LED indicates when the device is in Manual
- A long click toggles between Manual and Automatic mode. Going from Automatic to Manual should not change the on/off status, but going from Manual to Automatic should make it calculate what the current of the device is and set it.
Intuitively this works how you would expect. The exercise was useful as it should make it easier to define button controls.
Ongoing: Issue#187 add UX so the extended Hysterisis Control can be switched in and out of auto from the browser and/or captive.
In field trials we notice sometimes some odd readings, often this is just after a device has power-cycled and the sensor has not stabilized yet. There has been a hook in the code so sensors can check readings, but not widely implemented. DS18B20 (soil temperature)and BS1750 (light) and SHT (Temperature and Humidity) now ignore obviously bad readings.
Varta's device reached a big milestone today, with a demonstration at the University agriculture research plots of their device. This is the first device built by a third party on top of Frugal-IoT. In the process they added a new sensor (DS18B20 for soil temperature), and built a solar power supply based on parts available in India.
While there were translations in the device into Hindi, the characters were turning up in a strange font on iPhones. This is now fixed and should work on any iPhone (and probably on Androids)
Ongoing: Add screenshot
The frugal-iot-logger now supports live export to Firebase (in addition to Google Sheets). GDT's Varuna project are using it to move data across to an app that farmers will use.
The Heltec is a nice LoRa board, very similar to the LilyGo T3S3, its a little more expensive, but can be bought with a nice shell that may make it suitable for other projects.
See Supported Hardware for the full list of boards currently supported. See Issue#176 for work to support more functionality on the board, or any problems you find.
I love the Sonoff switches as a safe way to control mains-powered devices (fans, lights etc), but the Sonoff Basic R2 only has 1Mb of memory, so cannot support OTA (Over The Air updates). The newer R4 device is now supported. See Programming a Sonoff.
Ongoing issues: I want to add some great button control to it - other Sonoff specific discussion at Issue 108.
While the SHT30, is great for many applications, the holes in the casing (to allow for humidity measuring) make it inappropriate for situations where it will be immersed. For this the DS18b20 looks like the right solution.
GDT added support for this sensor for their Varta project, and it is now in the main library.
For people purchasing in India, a lot of the boards cheaply available on AliExpress are not available. Taruun at GDT has confirmed that the Node MCU Wroom32S works well and the board spec has been added to the examples
Graam Disha Trust, who are building a system for smallholder farmers, bought SHT40 sensors instead of SHT30s. It turns out that along with being a physical improvement, they are not compatible with the SHT30 libraries. This is now fixed, and Taruun at GDT has confirmed its working well, so SHT40's can now be used in devices.
People with the appropriate permissions can now upload binaries and have devices in the field automatically update Over The Air "OTA". New Releases can be targeted to single nodes, or all nodes of a certain type.
Ongoing issues: There have been some problems on really small devices - like Sonoff's hopefully solvable.
The drop-down on the UX now shows WiFi single strength, and which WiFi SSID it is connected to, this may help with debugging intermittently connecting sensors.
I've been gradually improving the captive portal, that the user sees if they connect their phone to the device's WiFi.
It can now display data from any of the sensors, and its much smarter now, allowing individual parameters to be configured without redrawing the screen. For example this is used for "Tare" and "Calibrate" for the Load Cells and Soil meters.
There has been support for load sensor's in Frugal IoT, but AFAIK this is the first device built with it. Its a simple scale, using a piece of plywood mounted on a set of four load-sensors. Total build cost is under €10, and requires minimum skill. We know of one project planning to experiment with this soon.
The device can be field calibrated from the captive portal, as long as a suitable known weight is available.
See Building a weight sensor for instructions.
Ongoing issues: There seem to be some fluctuation of measurements, with about 2% variation between readings.
Sometimes you want to see what is happening locally on the device, and boards such as the T3S3 have built in OLED displays. Frugal-IoT now has support for managing that display. The examples/sht30 will now drive an OLED display if it finds one, displaying temperature and humidity live.
Ongoing issues: The color control doesn't seem to work (yet) on T3S3. Also, this will probably need some modifications to drive OLEDs on other boards.
To make it easier for developers, Frugal-IoT is now available in both PlatformIO and Arduino IDE library management tools. This means a developer can write an app in just a few lines, leaving it to their IDE to manage libraries and dependencies.
Ongoing issues: We are not aware of anyone using Arduino IDE actively, so while it has been tested, there is a risk of bitrot breaking something, and it not being noticed.
Sensors like the ESP32 can enter a deep sleep mode where power consumption is dramatically reduced. There is now some support (by changing the power mode in your main.cpp). Its not perfect, but it should allow experimenting with, for example, waking up once an hour - taking a reading - and going back to sleep.
Ongoing issues: Deep sleep is really dependent on the boards, and we anticipate having to tweak it as we learn how certain boards work, or don't work with deep sleep.
The BH1750 is a common light meter, that can be purchased in a number of physical structures. Frugal-IoT has had some support for the meter for a while, but the linear graphics in the UI didn't lend themselves well to display something like lux which is an exponential measurement. This has now been fixed, and any sensor type can now be configured for exponential measurement, making the BH1750 a lot more useful.
