Big Red Slack Button
It's a big red button that posts a message to Slack when you push it.
What You Need
NodeMCU. I used the LoLin v3 board on AliExpress.
- PlatformIO to compile and upload your code. It's Arduino code, so it should compile just fine using Arduino IDE too.
- esptool if the PlatformIO uploader for ESP8266 doesn't work.
- A Slack team that doesn't mind you making a mess of their #random channel.
Let's Build a Button
- Acquire a Big Red Button.
- Solder some jumper wires to its terminals.
- Connect the jumpers to pin 0 and ground on your NodeMCU. Your pin numbers may differ from what's printed in silk on the board—on my LoLin v3 board, I had to use pins D3 and GND.
- Go to https://YOUR-TEAM.slack.com/apps/build/custom-integration.
- Create an Incoming Webhook and configure it to post to your channel.
- Optional: Give your webhook a friendly name and icon, such as Big Red Button and
- Edit the constants in slack_button.ino to configure your wifi network and your Slack webhook URL.
- Install PlatformIO.
- Install support for NodeMCU:
platformio platforms install espressif.
This bit is optional. You only need to install and use esptool to upload to your NodeMCU if PlatformIO fails.
- Clone esptool with
git clone email@example.com:themadinventor/esptool.git.
python setup.py installinside the esptool directory to install esptool and pyserial.
- Make sure the esptool executable is in your system $PATH.
- Connect your NodeMCU via USB.
- Inside the project directory, type
platformio runto compile the script.
- Once the compile succeeds, type
platformio run --target uploadto upload to NodeMCU.
- If the upload fails with PlatformIO, run
./upload.shto compile and upload with esptool instead.
PUSH THE BUTTON
Just push it. You know you really want to.
But don't push it too many times or your boss will fire you.
NodeMCU: If you want to connect something to the internet, this is easily the cheapest and easiest way to do it. The dev board is crazy good—and it's $4 on AliExpress for just one.
PlatformIO: If you're looking to write, compile, and upload Arduino scripts, PlatformIO is the best tool I have ever used. It's got an awesome interface and is much nicer to use than Arduino IDE.
ESP8266 Arduino Core: If you want to write more ESP8266 Arduino code, here's where you'll find the API docs.