Online weather services are great for providing generic area forecasts, but they don’t provide hyperlocal data specific to your location. [Harald Kreuzer] needed both and built a Raspberry Pi Weather Station that provides weather forecasts for the next 7 days as well as readings from local sensors. The project is completely open source and based on a Raspberry Pi base station which connects to ESP32 based sensor nodes and online services to nicely present the data on a 7″ touch screen display.
The architecture is quite straightforward. The ESP32 based sensor nodes publish their readings to an MQTT broker running on the Raspberry Pi. The Pi subscribes to these sensor node topics to pick up the relevant sensor data. This makes it easy to add additional sensor nodes in future. Weather forecast data is collected by connecting to the OpenWeatherMap API. All of the collected information is then displayed through an app built using the Kivy: open source Python app development framework. Continue reading “Raspberry Pi Weather Station Features Wireless Sensor Nodes”
With the prevalence of libraries, it has never been easier to communicate with hundreds of different sensors, displays, and submodules. But what is really happening when you type SPI.begin() into the Arduino IDE? In his most recent video, [Ben Eater] explores the Serial Peripheral Interface (SPI) and how it really works.
Most Hackaday readers probably know [Ben] from his breadboard-based computers, such as the 6502 build we featured in 2019. Since then he has been hard at work, adding new and interesting additions to his breadboard computer, as well as diving into different communication protocols to better understand and implement them. For this video, [Ben] set the goal of connecting the BME280, a common pressure, temperature, and humidity sensor with an SPI interface, to his breadboard 6502 computer. Along the way, [Ben] discusses how exactly SPI works, and why there is so much conflicting nomenclature and operations when looking at different SPI devices.
If breadboard computers aren’t your thing, there are tons of other uses for the BME280, such as helping to modernize a Casio F-91W.
Continue reading “Taking A Deep Dive Into SPI”
We’re no strangers to DIY environmental monitors around these parts, in fact, it seems like that’s one of the most common projects hackers take on when confronted with the power of a modern Internet-connected microcontroller. But among such projects, this miniature nRF52-based weather station built by [Andrew Lamchenko] is among the most polished we’ve seen.
Externally, this looks as though it could easily be a commercial product. The graphical interface on the ePaper display is very well designed, delivering plenty of data while still looking attractive enough to hang in the kitchen. The enclosure is 3D printed, but [Andrew] poured enough elbow grease into sanding and polishing the front that you might not realize it at first glance.
Internally it uses the popular BME280 sensor to detect temperature, humidity, and barometric pressure, though the custom PCB is also compatible with the similar SI7021 and HTU21D sensors if you want to switch things up.
That said, you really want the ability to measure pressure, as it allows the firmware to do its own basic weather forecasting. All the collected data is beamed out over Bluetooth Low Energy (BLE), where it can be collected by the open source MySensors IoT framework, but we imagine it wouldn’t take much work to integrate it into your home automation system of choice.
As excited as we might be about the prospect of repurposing things such as electronic shelf labels, we’re happy to see the prices for general purpose electronic paper screens finally dropping to the point where projects of this caliber are within the means of the hacker crowd.
Continue reading “NRF52 Weather Station Gives Forecast With Style”
With a gorgeous view of the Italian seaside, we’re not surprised [Danilo Larizza] had a couple IP cameras set up to pull in real-time views. But using a Raspberry Pi, an environmental sensor, and some software trickery to overlay the current (and naturally, perfect) weather conditions over the images? Now he’s just teasing us.
Whatever his motives are, we have to admit that the end result is very nice. Especially when you find out that there’s no complex hardware or software at work here. An original Raspberry Pi is doing all the heavy lifting by pulling a frame from the external IP camera using
ffmpeg, polling the I2C-connected BME280 temperature and humidity sensor with a Python script, and then producing a final snapshot with the environmental data laid over top using ImageMagick.
[Danilo] gives the exact commands he’s using for each step of the process, making it easy to follow along and see how everything comes together in the end. That also makes it much easier to adapt for your own purposes should you feel so inclined. Once you see how all the pieces fit together, where the data and images come from is up to you.
We’ve previously shown how some simple Python code can be used to turn your raw data into attractive images, and combining that with real-world photographs is an excellent way of turning a text file full of values into a display worth showing off.
Custom weather stations are a common enough project these days, especially based around the ESP8266. Wire a sensor up to the MCU, power it up with an old phone charger, and you’re half way there. But if you want something that’s going to operate remotely on the long term, you’ve got to put a little more thought into it.
Which is exactly what [BuckarewBanzai] did for his solar powered Raspberry Pi weather station. With an industrial NEMA-rated enclosure, a beefy 35 watt photovoltaic panel, and enough lead-acid battery capacity to keep the show going for days, this build is certainly more robust than most. Some might call it overkill, but we think anyone who’s ever deployed hardware outdoors for more than a few days knows you can never be too careful when Mother Nature is involved.
To keep the 18 Ah battery topped off, [BuckarewBanzai] is using a 10 amp Wanderer charge controller. It sounds as though he burned through a few lesser models before settling on this one; something to consider for your own off-grid projects. An LM2596 regulator is then used to provide a stable 5 V for the Raspberry Pi.
In addition to the BME280 environmental sensor that picks up on temperature, humidity, and pressure, there’s also a AS3935 lightning sensor onboard which [BuckarewBanzai] says can pick up strikes up to 40 kilometers away. All of this environmental data is collected and stored in a local SQLite database, and gets pushed offsite every five minutes with a REST API so it can be visualized with Grafana.
Critics in the audience will no doubt pick up on the solderless breadboard located in the center of the weather station, but [BuckarewBanzai] says he’s already on the case. He’s working on a custom PCB that will accept the various modular components. Not only should this make the station more reliable, but he says it will cut down on the “spaghetti” wiring. Though for the record, this is hardly the worst offender we’ve seen in that department.
It’s an unfortunate reality that for many of us, our air isn’t nearly as clean as we’d like. From smog to wildfires, there’s a whole lot of stuff in the air that we’d just as soon like to keep out of our lungs. But in order to combat this enemy, you first need to understand it. That means figuring out just what’s in the air you breathe, and how much of it. That’s where devices like the Dust Box from [The IoT GURU] can come in handy.
Inside the 3D printed enclosure is a Wemos D1 Mini ESP8266 development board, sitting on a custom breakout PCB. This board gives you some easy expandability to add your own sensors and hardware, though in this particular configuration, the Dust Box is using the BME280 sensor for general environmental monitoring and the SDS011 laser particle sensor to determine what’s in the air. Just plug it into a convenient USB power source, make sure it’s connected to the WiFi, and off it goes.
But where does all that lovely data end up? That’s up to you, but in this case, the [The IoT GURU] is pushing everything out to a web interface that allows the user to view yearly, monthly, and weekly historical data for each of the parameters the Dust Box can check. This is probably a bit more granular than most of us need, but it’s a good example of what’s possible should you need that much information.
For a similar project that allows you to take your sensors a bit farther off the beaten path, checkout FieldKit, which was recently crowned winner of the 2019 Hackaday Prize.
Sometimes a clever hack of an off-the-shelf product can come courtesy of its dismantling and hardware modification, but at other times the most elegant of hacks can be made without ever turning a screwdriver. [Brian Lough] was given the request by a friend to replicate a commercial child’s night light that changed colour with temperature, and his response was to use an off-the-shelf colour changing kids light unmodified, sending it temperature-related colour commands via its infra-red control.
His device is a spectacularly simple one hardware-wise using an off-the-shelf Wemos D2 Mini ESP8266 board running an Arduino bootloader, coupled with a BME280 temperature sensor, IR receiver, and transmitter. His video which we’ve placed below the break is a handy primer to anyone with an interest in infra-red reverse engineering, and we can see that there will be other projects that could be seeded by it. For those curious enough to look, it can be found on GitHub.
[Brian] has appeared here so many times, and is definitely worth a follow. One of his more recent builds featured another child’s toy augmented to make it something really special.
Continue reading “IR Hack Turns Kid’s Lamp Into Temp Display”