It's a big red button that posts a message to Slack when you push it.
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.
- 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 git@github.com:themadinventor/esptool.git
. - Run
python setup.py install
inside 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 run
to compile the script. - Once the compile succeeds, type
platformio run --target upload
to upload to NodeMCU. - If the upload fails with PlatformIO, run
./upload.sh
to compile and upload with esptool instead.
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.
MIT