TINKER PIEDESIGN IN INDIA

Doorbell notifier

Press A: a bell rings and your phone gets a notification, even from another room.

IoTWi-Finotifications

Open in TinkerPie Studio

What you need

Wiring

Put your Wi-Fi name and password in the first block. Then open the address shown in the console on a phone on the same Wi-Fi. On the phone, install the free "ntfy" app and subscribe to the same channel name as in the program (pick your own secret name).

Step by step

  1. Open Doorbell notifier in TinkerPie Studio. It opens as blocks.
  2. Wire it: Put your Wi-Fi name and password in the first block. Then open the address shown in the console on a phone on the same Wi-Fi. On the phone, install the free "ntfy" app and subscribe to the same channel name as in the program (pick your own secret name).
  3. Press Run to try it in the simulator. Use the sliders and buttons under the board picture to test it.
  4. Type your Wi-Fi name and password into the connect to Wi-Fi block.
  5. Connect TinkerPie with a USB-C cable in Chrome or Edge, press Connect, then Download. Or, with Studio started from the TinkerPie launcher on your computer, open the Arduino C++ tab and press Build & Flash.
  6. Change something: a colour, a number, a sound. Then run it again.

The code

This is the program the blocks make. The same program runs in the simulator and on the board.

JavaScript
input.onButtonPressed(Button.A, function () {
  basic.showLeds('..XX..|.XXXX.|.XXXX.|XXXXXX|..XX..', Colors.Yellow);
  music.playMelody('E5 C5', 120);
  iot.notify('Ding dong! Someone is at the door.');
  basic.showIcon(IconNames.Yes, Colors.Green);
});

wifi.connect('my-wifi', 'my-password');
iot.setNotifyTopic('tinkerpie-doorbell-change-me');
basic.showIcon(IconNames.Yes, Colors.Green);
Arduino C++ (TinkerPie library)
// Doorbell notifier
// Arduino C++ made by TinkerPie Studio from the blocks. Board: TinkerPie V1 (ESP32-S3).
// Arduino IDE: install the TinkerPie library (Studio menu > Arduino library), then Tools > Board > ESP32S3 Dev Module,
// USB CDC On Boot: Enabled, Flash Size: 16MB, Partition Scheme: 16M Flash (3MB APP/9.9MB FATFS), PSRAM: OPI PSRAM.
#include <TinkerPie.h>
using namespace tinkerpie;

void setup() {
  tinkerpie::begin();
  input::onButtonPressed(Button::A, []() {
    basic::showLeds("..XX..|.XXXX.|.XXXX.|XXXXXX|..XX..", Colors::Yellow);
    music::playMelody("E5 C5", 120);
    iot::notify("Ding dong! Someone is at the door.");
    basic::showIcon(IconNames::Yes, Colors::Green);
  });

  wifi::connect("my-wifi", "my-password");
  iot::setNotifyTopic("tinkerpie-doorbell-change-me");
  basic::showIcon(IconNames::Yes, Colors::Green);
}

void loop() {
  tinkerpie::loop();   // runs the forever blocks and handles events
}

More projects like this

Phone weather stationTemperature, humidity and light from the board, live on your phone.IoTPhone-controlled robotButtons on your phone drive a two-wheel robot. The slider sets the speed.IoTCloud thermometer (ThingSpeak)Logs temperature and light to a ThingSpeak channel every 20 seconds: graphs you can open anywhere.IoTSmart plant monitorSoil moisture on your phone dashboard, a notification when the plant is thirsty, and a ThingSpeak log.IoT