• Stars
    star
    140
  • Rank 261,473 (Top 6 %)
  • Language
    Java
  • Created over 9 years ago
  • Updated over 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Open sourced WiFi Button

ESP8266 Dash Button

full

This is a small box with only one button. Every time you push the button. It will connect to WiFi and access an URL.

WiFi SSID and Password can be configured through ESP-TOUCH protocol and the URL can be changed by UDP packet. Two LEDs on it's case shows status of module and circuit.

Internal Structure

This button consists of following parts: Two AA batteries and battery holder, ESP8266 module and circuit, a big button for better experience, case, button cover.

How it works

When button is pressed, the circuit powers ESP8266 module and the module will connect to WiFi with SSID and password in flash memory. Once Wifi connection is established, this button will request a certain URL in flash memory and turn itself off to save power.

How to config WiFi network and URL

There is an minimal Android app in this repo that can do configuration wirelessly.

The app is a barely working one and it lacks advanced features for now. However it does work. You can hold button on ESP8266 board for 5 seconds and it will enter ESP-TOUCH mode. The Android code is a bit messy because they are decompiled from a obfuscated APK file.

You can connect your phone to target WiFi network, fill textbox with SSID and password and press "ESPTouch", then the app will encode SSID and password in length of UDP packets and broadcast packets to all devices. If ESP8266 decodes WiFi information successfully, it will broadcast a UDP packet back to your phone to end pairing process and listen UDP packets for URL. You can enter URL into third textbox and press "SET URL" to finish setting process.

If you want to change the URL only, press button once when it is in ESP-Touch mode.

How to make one

You can use the gerber files in this repo or you can order PCB with OSH Park directly.

After you solder all parts and ESP-12 module, you can either compile the source code on your own or use the pre-compiled bin files.

How to do more things with IFTTT

Currently IFTTT can not be triggered with a HTTP request. So I created a App Engine app to send a Email to IFTTT. The app can print all email it received in log file so you can create account with App Engine Email Address.

Here is an example of add Google Calendar entry with button.

More Repositories

1

BLE-Keyboard-Mouse-Dongle

A CC2540 dongle firmware to control Raspberry Pi/HTPC with Smartphone via BLE
C
41
star
2

Prototyping-Electronic-Devices

An ITP Class
JavaScript
16
star
3

bare_glass_app

Google glass talks with XMPP
Python
14
star
4

Debugging-Arduino-Uno

Shell
12
star
5

unoDebugTestPackage

Arduino Board Package to Debug Uno/ATmega328P with CH552 debugger in Arduino IDE 2.0.0
Shell
10
star
6

CC2541WristBandHack

Experiment to build a home-brew firmware
C
10
star
7

Debug-Arduino-Zero-with-ST-Link-V2

C++
9
star
8

USB_flashlight_Glass

App for my own usb flashlight accessory
C
8
star
9

Teachable-Machine-on-K210

This is a project porting the Teachable Machine project to the K210 platform, a piece of low-cost hardware. No coding is needed to play with this project.
Jupyter Notebook
6
star
10

Debug-Arduino-ATSAMD21G18-with-CMSIS-DAP

C++
5
star
11

CH552-Automatic-Test-Jig

This is a test jig that do automatic hardware test for CH55xduino
Python
5
star
12

XP-T58KC_On_Mac

Drive thermal printer on Mac
Processing
4
star
13

Google_Glass_Trinket

Using micro-usb port on Google Glass to connect hardware
Java
4
star
14

ch573-Automatic-Uploader

C
4
star
15

Plinko-Poetry

Color tracking and Poetry generation
C++
3
star
16

Arduino_HID_frontendJS

Connect Arduino input to JS with joystick HID
HTML
2
star
17

Arduino_Due_USBHost_Experiment

C
2
star
18

Machine-Learning-Experiment-on-8-bit-Arduino

Jupyter Notebook
2
star
19

webBluetoothWithCC2541

share my experience with WebBluetooth
C
2
star
20

UX-Week-2018-Workshop

Experience Prototyping with IoT Devices
2
star
21

CH32V307_ROS

C
1
star
22

webUSBwithSTM32

C
1
star
23

AVR-standalone-ISP

Based on Adafruit one
Arduino
1
star
24

Javascript-Signal-Processing

JavaScript
1
star
25

Button_Android_Mic_Port

Connect swtich to Android via headphone port
Java
1
star
26

721InteractiveWebsite

1
star