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”

ESP8266 Internet Controlled LED Dimmer

There’s no shortage of debate about the “Internet of Things”, largely centered on security and questions about how much anyone really needs to be able to turn on their porch light from the other side of the planet. But while many of us are still wrestling with the realistic application of IoT gadgets, there’s undoubtedly those among us who have found ways to put this technology to work for them.

One such IoT devotee is [Sasa Karanovic], who writes in to tell us about his very impressive custom IoT LED dimmer based on the ESP8266. Rather than rely on a commercial lighting controller, he’s designed his own hardware and software to meet his specific needs. With the LED strips now controllable by any device on his network, he’s started working on Python scripts which can detect what he’s doing on his computer and react accordingly. For example, if he’s watching a movie the lights will automatically dim, and come back up when he’s done.

[Sasa] has provided all the files necessary to follow in his footsteps, from the Gerber files for his PCB to the Arduino code he’s running on the ESP. The source code is especially worth checking out, as he’s worked in a lot of niceties that we don’t always see with DIY projects. From making sure the ESP8266 gets a resolvable DNS hostname on the network to using websockets which update all connected clients with status info in real-time, he’s really put a lot of work into making the experience as complete as possible.

He’s explains in his blog post what needs to be edited to put this code to work in your own environment, and there’s even some descriptive comments in the code and a helpful debug mode so you can see how everything works. It’s always a good idea to consider that somebody else down the road might be using your code; taking a few minutes to make things clear can save them hours of stumbling around in the dark.

If you need more inspiration for your ESP8266 lighting project, check out this ambient lighting controller for a kid’s room, or this professional under-cabinet lighting controller.

Hackaday Belgrade: Luka Mustafa On Exploiting IoT Niches

Ecology is a strange discipline. At its most basic, it’s the study of how living things interact with their environment. It doesn’t so much seek to explain how life works, but rather how lives work together. A guiding principle of ecology is that life finds a way to exploit niches, subregions within the larger world with a particular mix of resources and challenges. It’s actually all quite fascinating.

But what does ecology have to do with Luka Mustafa’s talk at the 2018 Hackaday Belgrade Conference? Everything, as it turns out, and not just because Luka and his colleagues put IoT tools on animals and in their environments to measure and monitor them. It’s also that Luka has found a fascinating niche of his own to exploit, one on the edge of technology and ecology. As CEO of Institute IRNAS, a non-profit technology development group in Slovenia, Luka has leveraged his MEng degree, background in ham radio, and interest in LoRaWAN and other wide-area radio networks to explore ecological niches in ways that would have been unthinkable even 10 years ago, let alone in the days when animal tracking was limited by bulky radio collars.

Continue reading “Hackaday Belgrade: Luka Mustafa On Exploiting IoT Niches”

A Super Simple ESP8266 IOT Motion Sensor

It’s really hard to overstate how awesome ESP8266 development boards like the Wemos D1 Mini really are. For literally a couple of dollars you can get a decently powerful Wi-Fi enabled microcontroller that has enough free digital pins to do some useful work. Like the Arduino and Raspberry Pi before it, the ESP8266 is a device that’s opening up whole new areas of hacking and development that simply weren’t as practical or cost-effective as previously.

As a perfect example, take a look at this stupendously simple Internet-connected motion detector that [Eric William] has come up with. With just a Wemos D1 Mini, a standard PIR sensor, and some open source code, you can create a practical self-contained motion sensor module that can be placed anywhere you want to keep an eye on. When the sensor picks up something moving, it will trigger an IFTTT event.

It only takes three wires to get the electronics connected, but [Eric] has still gone ahead and provided a wiring diagram so there’s no confusion for young players. Add a 3D printed enclosure from Thingiverse and the hardware component of this project is done.

Using the Arduino Sketch [Eric] has written, you can easily plug in your Wi-Fi information and IFTTT key and trigger. All that’s left to do is put this IoT motion sensor to work by mounting it in the area to be monitored. Once the PIR sensor sees something moving, the ESP8266 will trigger IFTTT; what happens after that is up to you and your imagination. In the video after the break, you can see an example usage that pops up a notification on your mobile device to let you know something is afoot.

With its low cost and connectivity options, the ESP8266 is really the perfect platform for remote sensing applications. Though to give credit where credit’s due, this still isn’t the simplest motion sensor build we’ve seen.

Continue reading “A Super Simple ESP8266 IOT Motion Sensor”

SPINES Design Makes For Modular Energy Harvesting

The SPINES (Self-Powered IoT Node for Environmental Sensing) Mote is a wireless IoT environmental sensor, but don’t let the neatly packed single PCB fool you into thinking it’s not hackable. [Macro Yau] specifically designed SPINES to be highly modular in order to make designing an energy harvesting sensor node an easier task. The way [Macro] sees it, there are two big hurdles to development: one is the energy harvesting itself, and the other is the software required to manage the use of every precious joule of that harvested energy.

[Macro] designed the single board SPINES Mote in a way that the energy harvesting portion can be used independently, and easily integrated into other designs. In addition, an Arduino library is being developed to make it easy for the power management to be done behind the scenes, allowing a developer to concentrate on the application itself. A solar-powered wireless sensor node is one thing, but helping people get their ideas up and running faster in the process is wonderful to see.

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.

Welcome To The Internet Of Hamsters

It was only a matter of time. Everything else is getting its data logged and reported to the Internet for detailed analysis, so why should our rodents be any different? The cover story is that [Nicole Horward] hooked her pet hamster Harold up to the web because she wanted to see if he was getting as much exercise as he should. The real reason is, of course, that Harold wanted to show off to his “friends” on Hamsterbook.

The hardware side of this hack is very simple, a magnetic door sensor (like the kind used in alarm systems) is used to detect each time the wheel makes a complete rotation. The sensor is hooked up to the GPIO pins of a Raspberry Pi, where it’s read by a Python script. A small LCD screen was added to give some visual feedback on Harold’s daily activity, and the whole thing was boxed up in a laser cut enclosure.

That gave [Nicole] a cute little display next to Harold’s cage, but it didn’t do much for analyzing his activity. For that, a script is used to upload the data every minute to a ThingSpeak channel via MQTT. This automatically generates attractive graphs from the raw data, making it much easier to visualize what’s happening over the long term.

Now might be a good time to brush up on your MQTT knowledge, so that your pet could be the next to join the IoT revolution.

Continue reading “Welcome To The Internet Of Hamsters”