Solar-powered weather station

@Cathprotech Martin...haven't you ever seen a weather rock? :rofl:

1 Like

So, they have already extended the sensors :wink:

Hi Martin,
It's one student's project - however I've given him a fair amount of help.
He's tackled the project in stages and has used some of the work he did with me last year.

The brown lump is a 'stone' (very low-tech) to stop the cardboard box being blown away by the wind.

I'll check if the ThingSpeak channel is 'public' or just 'private'.

We selected 'Beebotte' as it's a cloud-based MQTT broker. This means the student can get readings from the weather station at home as well as at school. Things have moved on a bit in the last two weeks as I've created an experimental MySQL database on my ISP (which gives global private access).

Over the summer holidays I've been storing the readings in a MySQL dB and playing around with a NR-flow to extract different sets of readings and graph them on the Dashboard.
i.e. doing some homework so I can give him another couple of stages to tackle in September onwards.

Graph of Wemos input and output voltage (that should be +3V3). You can see the charge on the battery had dropped to a very low level (no sunshine as it was kept indoors as it had rained for a few days!!).

Graph of air temperatue - you can see when I took the cardboard box out into the garden.

Cheers from David.

Well, it looks like Paul was right about the weather rock then, but your serves a different purpose!

Looking at your graphs, it appears you took the box outside just in time to charge the battery and you got a good dose of sunlight to top it up too.
What are you using for the graphs, its not the stock Thingspeak graph, so I assume you taking the data and producing your own.

I have recently been pointed to InfluxDB and Grafana, I must admit that both are very easy to use (after the initial shock).
I use MySQL at work and must say that InfluxDB is much easier and more useful for this type of data recording and integrating it with Grafana is fairly straight forward too.

What about adding an INA219 to measure the charge / discharge current? I tried with the ADS1115 and shunt resistors but found it to be too noisy for measuring low currents. An INA219 will give you voltage and current readings. Adding small sections gradually could keep you student from losing interest.

Martin

Hi Martin,
Thanks for your continued interest in this project.

You're spot-on with your observations from the graphs. I've since modified the NR-flow to check the Li-Ion battery voltage and send a message ( via the 'telegram' node ) to my mobile phone if the value drops below +3.5V

I've used a MySQL database to store the weather station readings and modified the Node-RED flow created by Csongor Varga to produce a semi-dynamic graphing facility. (i.e. you can select one dataset then overlay another and another.). Checkout his excellent series of Youtube videos.

I might re-visit InfuxDB and Grafana (which I have running on one of my RPi(s) ).

I like the idea of using the INA219 - I'll give that some thought.

I've built a second weather station (WS) and so has my friend Paul @zenofmud who is located in Boston, USA. Between us we have developed a NR-flow whereby we can control all our weather stations. (e.g. I can stop Paul's WS from going into 'deepsleep', perform some readings, then put it back to sleep remotely from the UK - great fun.)

I think that MySQL is possibly more useful to teach to people as they are more likely to come across SQL in general IT. However, there is no doubt that InfluxDB is far more useful for timeseries data. In terms of teaching though, one to keep for more advanced students possibly?

I love the idea of you setting up networks of weather sensors around the world - maybe with other schools? Though I would check to see if such networks maybe already exist. While it would be nice for a school to form a relationship with some other schools worldwide, it would also be great for students to participate in worldwide weather recording. It might give them a real sense of the possibilities of IoT and IT.

Hi Julian,
Thanks for your input and the suggestion about linking-up the weather stations with other schools.
I'll certainly suggest that to the IT and Computing staff at the school where I tutor the IoT Club.

Hi Martin,
Thanks for the heads-up on the INA219.
I've ordered a set of these devices from China.

Hi Dave,

Great.
Not sure if your using the school budget or your own personal pennies, but either way, the benefits of these additions / sensors far out way the cost. The knowledge and experience gained for the price of a school meal basically.

I have thought about approaching my son's school with similar ideas, but worried I would bite off more than I can chew and would not want to let anyone down.
I also work away from home (as I am at the moment) so I don't have access to my own system to experiment with either.

It's nice to help with some ideas even though I am very new to this myself, funny enough, I gained a lot of information from Julian's post, he has been most helpful.

Thanks
Martin

Hi Martin,
It's been my money for the last 2-years. I retired from being a computer science lecturer (teaching microelectronics and computing) 3-years ago. I approached one of the local senior schools in my area and for some reason they bit my hand off to set-up and run their (after school) IoT Club.

It's been great fun with the groups of students who have attended the Club. A couple of them (including the guy who has been working on the weather station) have been with me for the whole 3-years and want to carry on next year.

Let me know if you do decide to offer your expertise to your son's school as I have a larger number of tutorials and projects (I've created during the last 3-years) that I could share with you.

David.

2 Likes

That's a kind offer Dave, but I was thinking more of advising the school IT / DT teacher, not actually teaching myself.
I was trying to explain to a colleague here, how to use Node-Red to check 'Fortnite' (the game) stats and display them as simple text on the dashboard, and my explanation was just a jumbled mess!
I may have put him off rather than encourage him.

Martin

Ha, ha - I doubt if you did.

Sorry I got the wrong end of the stick in respect of you helping at the school.

From my experience I've not found many IT / STEM / DT teachers interested in taking on IoT as well as their current workload.

Last year my son brought home an electronic dice that he made in DT.

It involved a little soldering a small bit of electronics but disappointingly that was about the extent of it.

The chip they used was a very small 'PIC' chip, that was programmed via a serial connection on a 3.5mm jack from a school computer running a pre-compiled program.

They had no involvement with the source program, it was already compiled, they just connected and hit send, to program the chip.

On the good side, it gave my son a little interest when I explained he could do the same with an Arduino and some LED's, but HE could write the program himself.
After showing him the basics, he not only wrote a program to emulate the dice made at school, but he then went on to make a binary counter with LED's and various light pattern effects. This was all in one evening.

Unfortunately, next day he was back playing games!

Martin

Well you ought to get him interested in using a Wemos D1 Mini - very inexpensive (approx Ā£2 GBP).
He could connect LEDs, LCD panels, relays, touch-buttons, ultrasonic distance detectors and send the information to Node-RED running on a PC or better still a Raspberry Pi even a Pi-Zero-W.

The students in my IoT Club use Wemos devices each week. I think we probably have 40+ such devices.

I have quite a few of those (D1 Mini's) already at home and my environmental monitor is using one at this moment.

I also have the ESP32's and STM32 Bluepill. I have even started to see what I can squeeze onto the ATtiny85!
I have so many different sensors and displays too, its just trying to get my son interested. Occasionally he will ask if we can do something with an Arduino and I jump at the chance to let him learn.

What I mentioned before about explaining how to get stats from 'Fortnite' with Node-Red, I only know how because I recently showed my son how to do it. What surprised me is that within an hour after showing him how to pick out the topics he wanted and display them on the Node-Red dashboard, he has made a whole page of different stats.
Took me days what he picked up and carried on in less than 1 hour.... kids now days!

I'm thinking of following your lead, as it sounds like a nice solution. Could you post a screenshot?
My data is currently stored in influxdb, I'm assuming that I can query the db in much the same way using different timeframes and criteria.
The video link you posted is helpful.

Paul

Hi Paul,
If you scroll-up this thread you should find a couple of screen-shots showing the overlay.
I cleared the dB last night so I have no data at the moment. As soon as the dB fills-up I'll post more charts.

Note:
Grafana produces much more attractive graphs - however I wanted something simple for my students.

You can, of course, do all of that very easily with Influxdb and Grafana.

Yes, that's what I've got at the moment Julian, but would prefer all the data & functions to be available in just one format, instead of switching between node-RED & Grafana dashboards.

You could always go the other way :wink: