Fernbedienter SMS-Button mit Sigfox & Twilio – Arduino MKR Fox 1200
Komponenten und Zubehör
| Komponente | Menge |
|---|---|
| Arduino MKR Fox 1200 | 1 |
Apps und Onlinedienste
- Sigfox Backend
- Twilio SMS Messaging API
Über dieses Projekt
Einführung
Kennt ihr den Knopf, mit dem Trump angeblich Diet Coke bestellt? Wir bauen eine bessere Version: einen großen Button, der per Sigfox-Netzwerk eine SMS via Twilio versendet. Alles, was man braucht: ein großer Taster, ein Arduino MKR Fox 1200 und ein Twilio-Konto.
Was ist Sigfox?
Sigfox betreibt ein globales, energiesparendes Netzwerk für das Internet der Dinge (LPWAN). Es ist in 32 Ländern verfügbar, ergänzt bestehende Breitbandnetze und ermöglicht bidirektionale Übertragung kleiner Datenmengen über große Distanzen bei minimalem Energieverbrauch.
1. Hardware-Anforderungen
- Arduino MKR Fox 1200
- Ein großer Taster (Pushbutton)
- LiPo-Akku oder 2× AA/AAA-Batterien
- Ein Drucktaster (Schalter)
- thethings.io-Aufkleber (optional)
- Eine Trump-Maske (für den Spaßfaktor)
Der Schalter wird an Pin 7 und GND angeschlossen. Im Ruhezustand ist er geschlossen; beim Drücken öffnet er. Die Logik lässt sich im Code leicht umkehren.
2. Arduino-Code
Der vollständige Code liegt auf GitHub: https://github.com/aureleq/TrumpButton
Wir nutzen die ArduinoLowPower-Bibliothek für Deep Sleep. Ein Interrupt weckt den Board auf und sendet die Sigfox-Nachricht:
const uint8_t SWITCH_PIN = 7;
const String payload = "COKE NOW!";
const uint8_t debug = false;
void setup() {
if (debug) {
Serial.begin(9600);
while (!Serial);
}
if (!SigFox.begin()) {
Serial.println("Sigfox Shield nicht erkannt!");
return;
}
Serial.println("Sigfox Shield erkannt");
String ID = SigFox.ID();
Serial.println("ID = " + ID);
delay(100);
SigFox.end(); // Tiefschlafmodus aktivieren
pinMode(SWITCH_PIN, INPUT_PULLUP);
LowPower.attachInterruptWakeup(SWITCH_PIN, buttonPressed, RISING);
}
void loop() {
LowPower.sleep(); // Schlafen bis Interrupt
Serial.println("Button gedrückt!");
delay(100);
sendString(payload);
}
void sendString(String str) {
SigFox.begin();
delay(100);
SigFox.status();
delay(1);
SigFox.beginPacket();
SigFox.print(str);
int ret = SigFox.endPacket();
if (ret > 0) Serial.println("Keine Übertragung");
else Serial.println("Übertragung OK");
Serial.println(SigFox.status(SIGFOX));
Serial.println(SigFox.status(ATMEL));
SigFox.end();
}
void buttonPressed() { } // Interrupt-Handler (leer, nur Aufwecken)
3. Twilio einrichten
- Kostenlos registrieren unter twilio.com.
- Unter „Verified Caller IDs“ die Empfänger-Nummer hinzufügen.
- Notieren: Twilio-Telefonnummer, Account SID, Auth Token.
4. Sigfox-Callback konfigurieren
Im Sigfox-Backend (backend.sigfox.com) unter dem Gerätetyp einen neuen Custom Callback anlegen:
- Type: DATA UPLINK
- Channel: URL
- URL pattern:
https://[AccountSID]:[AuthToken]@api.twilio.com/2010-04-01/Accounts/[AccountSID]/Messages.json - HTTP Method: POST
- Content-Type: application/x-www-form-urlencoded
- Body:
From=[YourTwilioNumber]&To=[TargetNumber]&Body=covfefe!
Bei jedem Tastendruck wird die SMS „covfefe!“ versendet.
5. Validierung
Knopf fest drücken und auf den Butler (oder die SMS) warten!
Code (GitHub)
https://github.com/aureleq/TrumpButton
Herstellungsprozess
- Der Knopf: Vom antiken Verschluss zur modernen Innovation
- Sigfox startet Private Area Network, verbessert Geolocation und erweitert IoT-Lösungen
- LED-Helligkeit per PWM und Taster am Arduino Mega steuern
- Wassertropfen-Hochgeschwindigkeitsfotografie mit Arduino Nano – DIY Setup
- Giftduino: Das ultimative Arduino-Geschenkset für Bastler & Pädagogen
- Selbstbau: Schlagbare, anpassbare Tasten mit Arduino und Piezo-Element
- Erdmassen-Messung mit Arduino: Schritt-für-Schritt DIY-Anleitung
- MAX30100 Puls-Sensor mit Arduino integrieren: Schritt-für-Schritt-Anleitung
- Fridgeye-App mit Nextion-Display bauen: Schritt-für-Schritt-Anleitung
- Health Band: Smarter Wearable-Assistent für Senioren