Introduction: Battery Powered Wi-Fi Smart Button to Control HUE Lights

This project demonstrates how to build a battery powered IoT Wi-Fi button in less than 10 min. The button controls HUE lights over IFTTT.

Today you can build electronic devices and connect them to other smart home devices literally in minutes. What's more you can do it without dedicated programmers and writing a single line of code. In this blog we show a battery powered Wi-Fi Smart Button, which controls HUE lights remotely over the internet. It can be built effortlessly by developers at all skills level.
The button will last 15k activation events on 2xAAA lithium batteries - this is by far the best low-power smart button. If we take into account 8x pushes/events a day it will last 5+ years. It is due to the IoT module, which is used in this project, doesn't drain any current when is not activated - true 0A. This instruction comprises with the following steps:

  1. Assembly using bread board
  2. Setting-up IFTTT and HUE service
  3. Configuring IoT module
  4. Connecting IoT module to the internet

Everything can be done under 10 minutes without a single line of code or cloud knowledge.

Supplies

Parts

Software apps and online services

Tools

  • Soldering iron (generic)

Step 1: Assembly

Solder Pin Header PCB breakaway connector to Cricket module. The header makes it easier to connect Cricket module to breadboard.

  • Connect 1st pin from the button to battery VCC (+)
  • Connect 2nd pin from the button to WAKE_UP port on Cricket module
  • Connect battery VCC (+) to BATT port on Cricket module
  • Connect battery GND (-) to GND port on Cricket module

Step 2: IFTTT Setup

Steps to follow:

  1. Go to: https://ifttt.com/
  2. Login or register
  3. Click Create from User / Account menu (top right corner)
  4. Click + to create new source event
  5. Select Webhooks service
  6. Click Continue
  7. Click Receive a web request (on the left hand side)
  8. Create event name e.g. button_event
  9. The source event should be set-up now, click + after Then event
  10. Search HUE service
  11. Select HUE service event
  12. if you do not have yet HUE you need to add by -> Connect
  13. Select device (light) to which this event will be attached
  14. Click Finish

Nearly done, we need to get a HTTP address to which we can post event from IoT module.

Search for Webhooks service and click in document in in the right up corner.

Next copy web links under "Make a POST or GET web request to:" you will need it latter.

Step 3: Configure Wi-Fi Cricket Module

Cricket is entirely configured OTA (Over The Air) through Things On Edge - Developer Portal (https://dev.thingsonedge.com). The configuration will be retrieved by Cricket via the internet when it is connected to your Wi-Fi (which is described in the next section). Now let's configure it first.

For the button we need to configure Cricket to send POST HTTP request when is woken up by high signal on IO1: WAKE_UP pin. This signal is provided when the button is pressed.

Now open TOE Developer Portal from any browser either from PC or mobile. You must register/login to Developer Portal to activate and configure the device in your account. Otherwise the device won't work.

After successful login / registration you need to click "Add new" device to activate your device in the system. You need to use the unique serial number printed on a label stick on the back of Cricket.
WARNING: You must keep the serial number for yourself only. Do not share it with anyone else.

Now you can configure your device.

Set the following configuration:

  • RTC: OFF
  • IO2: OFF
  • IO3: Off
  • Battery monitor: OFF
  • Force updates on - IO1 Wake Up: On
  • Force updates on - RTC Wake Up: OFF
  • Post Events: see below

Copy/Paste the link you copied from Webhooks into io1_wakeup and leave data empty

http://maker.ifttt.com/trigger/button_event/with/key/hfNIx8SKn_xxxxxxxxxxxxxxxxxxxxxx_YW3xx5yFw5MGD

Once you set the configuration hit Save button.

Well done! You are almost there! Now you just need to connect your device to the internet over your Wi-Fi network. Please follow the next section how to do it.

Step 4: Connecting IoT Module to the Internet

In a few steps you will connect your device to the internet over your Wi-Fi network. All you need to do is to activate Cricket's private Wi-Fi hotspot and then open a private web page to pass your Wi-Fi network credentials. Please follow the steps below:

  1. Press and hold a button on the module for 5 seconds until the LED is constantly lit.
  2. Once the LED is constantly lit Cricket opened a private Wi-Fi hot spot. Connect from either a laptop or smartphone to the hot spot with the following credentials:

    SSID: toe_device
    No password is required

  3. Once connected, open a private web page: http://192.168.4.1/index.html
    NOTICE: make sure LED is still ON! If is OFF repeat the steps from the beginning

  4. Now you can pass your Wi-Fi network credentials and click CONNECT. If you passed correct SSID and Password then after few seconds the device should report it is online and the LED will be OFF.

Congratulations! Now your device is live and connected to the internet!

Step 5: Summary

Now you can switch on/off HUE light with your button device !!!

You can find more information: