Automate Your Life With Node-RED (Plus A Dash Of MQTT)

For years we’ve seen a trickle of really interesting home automation projects that use the Node-RED package. Each time, the hackers behind these projects have raved about Node-RED and now I’ve joined those ranks as well.

This graphic-based coding platform lets you quickly put together useful operations and graphic user interfaces (GUIs), whether you’re the freshest greenhorn or a seasoned veteran. You can use it to switch your internet-connected lights on schedule, or at the touch of a button through a web-app available to any device on your home network. You can use it as an information dashboard for the weather forecast, latest Hackaday articles, bus schedules, or all of them at once. At a glance it abstracts away the complexity of writing Javascript, while also making it simple to dive under hood and use your 1337 haxor skills to add your own code.

You can get this up and running in less than an hour and I’m going to tackle that as well as examples for playing with MQTT, setting up a web GUI, and writing to log files. To make Node-RED persistent on your network you need a server, but it’s lean enough to run from a Raspberry Pi without issue, and it’s even installed by default in BeagleBone distributions. Code for all examples in this guide can be found in the tutorial repository. Let’s dive in!

Continue reading “Automate Your Life With Node-RED (Plus A Dash Of MQTT)”

Node-RED Laser Shooting Gallery Goes Anywhere

When you think of a shooting gallery, you might envision a line of tin cans set up along a split-rail fence, or a few rows of ducks or bottles lined up at a carnival. But what do these have in common? You, standing in one spot, and shooting in the same general direction. You’re exposed! If those targets could shoot back, you’d be dead within seconds. Wouldn’t it be more fun if the targets were all around you in 360°? We think so, too.

So how could you possibly set up a shooting gallery this way? [Another Maker] already solved that problem for you with ESP32s and Node-RED (YouTube). Each target has an ESP32, a laser sensor, and an LED that lights up when the target is ready, and turns off once it’s been hit. They all make an enticing ‘shoot me’ sound that goes with their graphics, and a second mp3 plays upon direct hit.

The PVC gun houses an ESP8266, a laser module at the end of the barrel, and runs on a cylindrical USB battery slipped down in the secondary grip. [Another Maker] can spread the targets out far and wide, as long as they all stay in range of the localized WiFi access point.

The best part is that the Node-RED system is target-agnostic — it doesn’t care how many you have or how they’re made, and it can juggle up to 250 of them. Because of the way the target objects are programmed, it would be quite easy to add actuators that make them drop down or fall backward when hit. You could also implement [Another Maker]’s fantastic suggestion of hitting arcade buttons with NERF darts instead. Charge those lasers and fire at the break button to see the demo and walk-through video.

If you plan to knock the targets down or over in your implementation, you’ll want an easy way to reset them. Here’s a scrap-built shooting gallery that uses a windshield wiper motor to set ’em back up.

Continue reading “Node-RED Laser Shooting Gallery Goes Anywhere”

Over-Engineered Cat Door Makes Purrfect Sense

On paper, pet doors are pretty great. You don’t have to keep letting the cat in and out, and there should be fewer scratches on the door overall. Unfortunately, your average pet door is indiscriminate, and will let any old creature waltz right in. Well, [Jeremiah] was tired of uninvited critters, so he built a motorized door with a built-in bouncer. Now, only animals with pre-approved BLE tags can get in.

The bouncer is a Raspi 3 running Node-RED, which scans continuously for BLE advertisements from the cats’ collars. [Jeremiah] settled on Tile tags because they’re reliable and cat-proof. The first version used an Arduino and RFID tags for the cats, but they had to get too close to the door to trigger it.

We love [Jeremiah]’s choice of door actuator, a 12V retractable car antenna. [Jeremiah] uses the antenna itself to lift and lower the removable lockout panel that comes with the door. He removed the circuit that retracts the antenna when power is lost, so that power outages don’t become free-for-alls for shelter-seeking animals.

There’s also a nice feature for slow creatures—the door won’t close until 15 seconds after the last BLE ad, so they cats won’t ever have to Indiana Jones it through the opening. Magnetic switches currently limit the door travel at the top and bottom, though [Jeremiah] will eventually replace them with standard switches. Paw at the break until you get a walk-through video.

Cats will be cats, and the ones that go outside will probably rack up a body count. Here’s a cat door that looks for victims clenched between cat jaws and starts a 15-minute lockout period.

Continue reading “Over-Engineered Cat Door Makes Purrfect Sense”

Monitor Your 3D Printer With Node-RED And Tasker

Anyone with a desktop 3D printer knows that it can be a bit nerve-wracking to leave the machine alone for any extended period of time. Unfortunately, it’s often unavoidable given how long more complicated prints can take. With big prints easily stretching beyond the 20 hour mark, at some point you’re going to need to leave the house or go to sleep. We hope, anyway.

In an effort to make his time away from his printer a bit less stressful, [Mat] from NotEnoughTECH has put together a comprehensive framework for monitoring his machine on the go. After looking at existing remote monitoring solutions, he found none gave him the level of information he was after. His system collects up an incredible number of data points about the printer’s current status and pushes it all to his Android phone as a rich notification. Best of all, he’s documented the entire system in exquisite detail for anyone else who might want to follow in his footsteps.

There’s a considerable amount of hardware and software involved in this system, and getting it up and running won’t be quite as straightforward as using some of the turn-key solutions out there. Octoprint is responsible for controlling and monitoring the printer, and [Mat] is pulling data from its API using Node-RED. That data is formatted and ultimately delivered to his Android device as a notification with Tasker. On the hardware side he’s got a Sonoff POW R2 to not only turn the printer on and off but measure its energy consumption, a USB camera to provide a live view of the printer, and a couple of Raspberry Pis to run it all.

Even if you don’t have a 3D printer, or maybe just don’t leave the house to begin with, the video [Mat] has put together after the break that shows how all the elements of this system are pulled together in Node-RED is a fascinating look at the flow-based visual programming tool. Similarly, it’s a great demonstration on how Tasker can be used to add some very slick Android notifications for your project without having to commit to developing a native application for the platform.

If you like the idea of remotely monitoring your printer but aren’t ready to dive into the deep end like [Mat], there are easier options. With a Raspberry Pi running Octoprint added to your 3D printer and one of the existing mobile monitoring and control front-ends installed, you’ll be well on the way to tackling those big prints without having to pitch a tent in the lab.

Continue reading “Monitor Your 3D Printer With Node-RED And Tasker”

Add Nest Functionality To Your Thermostat For $5

The Nest Thermostat revolutionized the way that people control the climate in their homes. It has features more features than even the best programmable thermostats. But, all of the premium features also come at a premium price. On the other hand, for only $5, a little coding, and the realization that thermostats are glorified switches, you can easily have your own thermostat that can do everything a Nest can do.

[Mat’s] solution uses a Sonoff WiFi switch that he ties directly into the thermostat’s control wiring. That’s really the easy part, since most thermostats have a ground or common wire, a signal wire, and a power wire. The real interesting work for this build is in setting up the WiFi interface and doing the backend programming. [Mat’s] thermostat is controlled by software written in Node-RED. It can even interface with Alexa. Thanks to the open source software, it’s easy to add any features you might want.

[Mat] goes through a lot of detail on the project site on how his implementation works, as far as interfacing all of the devices and the timing and some of the coding problems he solved. If you’ve been thinking about a Nest but are turned off by the price, this is a great way to get something similar — provided you’re willing to put in a little extra work. This might also be the perfect point to fall down the home automation rabbit hole, so be careful!

Continue reading “Add Nest Functionality To Your Thermostat For $5”

Adding Energy Use And Cost To “Laundry Done” Notifications

Some time ago [Xose Pérez] got interested in generating a notification when his washer had completed a cycle, and now with added features like reporting power usage and cost, he’s put it all together into a Node-Red node that makes it easy to modify or integrate with other projects.

[Xose] started this journey with a Laundry Monitor he created that effectively used cheap hardware (and his own firmware) to monitor his washing machine’s current usage. That sensor was used as the basis for sending notifications informing him whenever the appliance’s cycle was done. Since then, he has continued to take household power monitoring seriously, and with a bit of added work can not only tell when a given appliance has been started and stopped, but can also summarize the energy usage and cost of the appliance, making the notifications more useful. The package is named node-red-contrib-power-monitor and is also hosted on GitHub.

Cheap WiFi-enabled smart switches are making it possible for even the dumbest of appliances to join the Internet of Things, so don’t ignore [Xose]’s complementary work on ESPurna, which is an alternative open-source firmware for a wide variety of ESP8266 and ESP8285 based smart switches, lights and sensors.

Internet Of Laundry — Let The ESP8266 Watch Your Dirty Drawers Get Clean

When you think of world-changing devices, you usually don’t think of the washing machine. However, making laundry manageable changed not only how we dress but how much time people spent getting their clothes clean. So complaining about how laborious our laundry is today would make someone from the 1800s laugh. Still, we all hate the laundry and [Andrew Dupont], in particular, hates having to check on the machine to see if it is done. So he made Laundry Spy.

How do you sense when the machine — either a washer or a dryer — is done? [Andrew] thought about sensing current but didn’t want to mess with house current. His machines don’t have LED indicators, so using a light sensor wasn’t going to work either. However, an accelerometer can detect vibrations in the machine and most washers and dryers vibrate plenty while they are running.

The four-part build log shows how he took an ESP8266 and made it sense when the washer and dryer were done so it could text his cell phone. He’d already done a similar project with an Adafruit HUZZAH. But he wanted to build in some new ideas and currently likes working with NodeMCU. While he was at it he upgraded the motion sensor to an LIS3DH which was cheaper than the original sensor.

[Andrew] already runs Node – RED on a Raspberry Pi, so incorporating this project with his system was a snap. Of course, you could adapt the approach to lots of other things, as well. The device produces MQTT messages and Node – RED subscribes to them. The Pushover handles the text messaging. Node – RED has a graphical workflow that makes integrating all the pieces very intuitive. Here’s the high-level workflow:

You might wonder why he didn’t just have the ESP8266 talk directly to Pushover. That is possible, of course, but in part 2, [Andrew] enumerates some good reasons for his design. He wants to decouple components in the system for easier future upgrades. And MQTT is simple to publish on the sensor side of things compared to API calls which are handled by the Raspberry Pi for now.

Laundry monitoring isn’t a unique idea and everyone has a slightly different take on it, even some Hackaday authors. If phone notification is too subtle for you, you can always go bigger.