Controlling Non-Googley Devices With Google Assistant

In the near future of the Smart Home, you will be able to control anything with your voice. Assuming that everything supports the Smart Home standard you chose, that is. If you have a device that supports one of the other standards, you’ll end up uselessly yelling at it. Unless you use gBridge. As the name suggests, gBridge is a bridge between Google Assistant devices and the rest of the smart home universe. It’s an open source project that is available as a Docker image can be run on a low power device in the home, or on a hosted service.

Fundamentally, gBridge is a Google Assistant to MQTT translator. Message Queuing Telemetry Transport (MQTT) is the messaging protocol that many smart home devices use, as it runs over TCP and doesn’t take much power to implement. We’ve covered how to bash around in MQTT and do much of this yourself here, but gBridge looks to be somewhat easier to use. It’s just come out of beta test, and it looks like it might be a good way to get into Smart Home hacking.

There are, of course, plenty of other ways of doing this, such as IFFFT, but [Peter Kappelt], the brains behind gBridge, claims that it is more flexible, as it offers support for the whole Google Assistant vocabulary, so you can do things like put devices into groups or do more conditional control (such as if the light level in the hallway rises above a certain amount, start recording with a camera) with non-Google devices. [Peter] is also looking to run gBridge as a hosted service, where he does the behind the scenes stuff to update servers, etc, in return for a small fee.

Continue reading “Controlling Non-Googley Devices With Google Assistant”

The Linux Throwie: A Non-Spacefaring Satellite

Throwies occupy a special place in hardware culture — a coin cell battery, LED, and a magnet that can be thrown into an inaccessible place and stick there as a little beacon of colored light. Many of us will fondly remember this as a first project. Alas, time marches inevitably on, and launching cheerful lights no longer teaches me new skills. With a nod to those simpler times, I’ve been working on the unusual idea of building a fully functional server that can be left in remote places and remain functional, like a throwie (please don’t actually throw it). It’s a little kooky, yet should still deliver a few years of occasional remote access if you leave it somewhere with sunlight.

A short while ago, I described the power stages for this solar-powered, cloud accessible Linux server. It only activates on demand, so a small solar cell and modest battery are sufficient to keep the whole show running.

Where we left off, I had a solar cell that could charge a battery, and provide regulated 12 V and 5 V output. For it to be a functional device, there are three high level problems to solve:

  1. It must be possible to set up the device without direct physical access
  2. You must be able to remotely turn it on and off as needed.
  3. It needs to be accessible from the Internet.

The funny thing is, this hardware reminds me of a satellite. Of course it’s not meant to go into space, but I do plan to put it somewhere not easy to get to again, it runs off of solar power, and there’s a special subsystem (ESP8266) to tend the power, check for remote activation, and turn the main computer (Raspberry Pi 3) on and off as necessary. This sounds a lot like space race tech, right?

As I have a bit more code than usual to share with you today, I’ll discuss the most interesting parts, and provide links to the full firmware files at the end of the article.

Continue reading “The Linux Throwie: A Non-Spacefaring Satellite”

Feeding Dogs Over Twitch Is Latest E-Sport Craze

The modern social-networking fueled Internet loves two things more than anything: pets, and watching other people do stuff. There’s probably a scroll tucked behind a filing cabinet at Vint Cerf’s house that foretells anyone who can harness these two elements will gain control of the Internet Ready Player One style. If so, we’re thinking [Tyler Pearce] is well on his way to ascending the throne.

In an effort to make the Overwatch Twitch streams of his betrothed even more enticing, [Tyler] came up with a way for viewers to feed their dog Larry by dropping a command in the chat. There’s a surprisingly complex dance of software and hardware to make this reliable and visually appealing, but it’s worth it as showmanship is important in the brave new world of competitive e-sports. We’re assuming that’s what it says in the issue of ESPN Magazine with the Fortnite player on the cover, but nobody at Hackaday would qualify for a subscription to it so we don’t really know for sure.

A server running on the computer provides a slick administrative dashboard for the treat system, including a running log of who fed Larry and when. There’s also a number of checks in place to prevent too many treats being dispensed in a short time period, and to keep an individual from spamming the system.

On the hardware side, he’s using two NodeMCU ESP8266 microcontollers connected to a local MQTT broker: one to handle the lighting and one to run the 3D printed auger that actually pushes the food out. The printed auger is powered by a standard hobby servo, and even includes an IR sensor to automatically stop spinning when it detects a treat has been dispensed. [Tyler] reports the auger works quite well, though does have a tendency to jam up if overfilled.

We’ve seen all manner of automated pet feeders over the years, even ones with their own email accounts. So it was probably only a matter of time until they came to Twitch. If you can install Linux with it, why not use it to feed your dog? Or somebody else’s, as the case may be.

How To Mash Up BLE, NodeJS, And MQTT To Get Internet Of Things

We’re living in the world of connected devices. It has never been easier to roll your own and implement the functionality you actually want, rather than live with the lowest common denominator that the manufacture chose.

In a previous article I walked though a small python script to talk to a BLE light and used it to cycle through some colors. Now I want to delve deeper into the world of Internet Connected BLE devices and how to set up a simple Internet-Of-Things light. With this example in hand the sky’s the limit on what you can build and what it will be able to do.

Join me after the break as I demonstrate how to use NodeJS to bridge the digital world with the physical world.

Continue reading “How To Mash Up BLE, NodeJS, And MQTT To Get Internet Of Things”

WiFi Pool Controller Only Cost $20

Pools have come a long way. It used to be you had a pump and if you were lucky it had a mechanical timer switch on it. That was it. Now you have digital controllers and spa jets and heaters. You can even get them that connect to your home automation system. If your pool isn’t new enough to do that already, you can get a range of add-on accessories. For a price. [Rob] paid $500 to get a remote for his pool. It wasn’t even WiFi, just a simple RF remote. In 3 years, the transmitter had burned out ($300 to replace) and he decided he had enough. For $20, [Rob] added MQTT control and monitoring to his pool using an ESP8266. You can see the video description of the project below.

Naturally, the instructions are a bit specific to the Pentair system he has. However, it isn’t as specialized as you might think. The project relies on the connection for a wired “spa-side remote” that most modern pool systems support. The electrical connections for these aren’t quite standard, but they are all very similar, so you have a good chance of reproducing this for your setup assuming you have a connection for one of these wired remotes.

Continue reading “WiFi Pool Controller Only Cost $20”

Boozer Tells The Internet How Much You Drink (If You Want It To)

Over the past few years, Reddit user [callingyougoulet] has created Boozer, a DIY beer dispenser that keeps track of how much of your brew you have left in your kegs. Installed in a Keezer (a freezer that contains beer kegs and faucets) [callingyougoulet]’s dispenser uses a Raspberry Pi to keep track of things. A series of flow sensors determine how much liquid has passed through them and, when the drink is poured, can calculate how much you poured and how much you have left.

Starting with a chest freezer, [callingyougoulet] built a nice wooden surround as well as installed a tower on top to hold the faucets. The top of the freezer has nice granite tiles covering it, and some LED accent lighting adds to the end product. However, taking the granite off in order to get at the kegs inside takes some time (about 20 minutes.)

Inside the freezer is the Raspberry Pi and four flow sensors, each one connected to a GPIO port on the Pi. After some calibration, the Python code running on the Pi can calculate a pretty close estimate of the amount of liquid poured. There’s also a temperature sensor in the freezer, so that you can tell how cool your beer is.

If the build had stopped there, it would have been a great project as-is, but [callingyougoulet] added twitter, Slack and MQTT outputs as options, so that a home automation system (or the entire internet) can tell how much and when you’ve been drinking and, more importantly, you can know how much is left in your kegs! There are some very cool keg cooling builds on the site, such as, a kegerator built from the ground up, and a very elegant kegerator built on the cheap check them out for ideas!

Via Reddit.

Talking To Laptop Batteries With The ESP8266

It’s not something you often give a lot of thought to, but the modern consumer laptop battery is a pretty advanced piece of technology. Not only does it pack several dozen watt-hours of energy into a relatively small and lightweight package, but it features integrated diagnostic capability to make sure all those temperamental lithium cells are kept in check. Widely available and extremely cheap thanks to the economies of scale (unless you try to get them from the OEM, anyway), they’re a very compelling option for powering your projects.

Of course, it also helps if, like [teliot] you have a bunch of the things lying around. For reasons we won’t get into, he’s got a whole mess of Acer AL12x32 battery packs which he wanted to use for something other than collecting dust. He had the idea of hooking one up to a solar panel and using it as a power supply for some ESP8266 projects but wanted to be able to talk to the battery for status and diagnostic information. After studying the Smart Battery System (SBS) protocol the batteries use, he was able to come up with some code that lets him pull 37 separate fields of information from the pack’s onboard electronics using his ESP8266.

Battery consumption over time

It took some fiddling with a multimeter to figure out which pin did what on the eight pin interface of the battery. Two of the pins need to be shorted to enable the dual 12 VDC pins to kick in. Technically that’s all you really need to do if you want to utilize the battery in a low-tech sort of way. But to actually get some information from the battery, [teliot] had to identify the two pins which are for the System Management Bus (SMBus) interface where the SBS data lives.

Once he knew which pins to talk to the battery on, the rest was fairly easy. SBS is well documented, and the SMBus interface is very similar to I2C. Like all the cool kids are doing these days, his code publishes the battery info to MQTT where he can plot it and get finely grained info on the performance of his solar power system.

This isn’t the first time we’ve seen a hacker wrangle laptop batteries through SMBus, but it’s always nice to get multiple perspectives on a topic. If you plan on making this kind of thing part of your standard bag of tricks, you might even want to take the time to build a dedicated SMBus scanner.

[via /r/esp8266]