© Anna_leni/Shutterstock.com
Mit NodeMCU einen Bot für das Smarthome einrichten

Smarteres Home mit Bot-Support


Haben wir uns nicht alle schon einmal die Frage gestellt, ob wir eigentlich das Licht im Wohnzimmer ausgemacht haben? Üblicherweise kommt der Gedanke auf, wenn wir schon mehrere Kilometer von zu Hause entfernt auf dem Weg in den wohlverdienten Urlaub sind. Dieser Artikel beschreibt, wie man sich einen Telegram-Bot einrichtet, der genau diese Frage beantworten kann. Der Bot braucht allerdings ein wenig Unterstützung von einem NodeMCU Board.

Die Idee hört sich einfach an: Ein Telegram-Bot, der mit einem NodeMCU verbunden ist und uns sagt, ob das Licht ein- oder ausgeschaltet ist. Die einzelnen Schritte sind auch wirklich nicht besonders schwer umzusetzen. Man muss allerdings darauf achten, dass am Ende alles zusammenarbeitet, damit das Projekt gelingt.

Wir starten zunächst mit dem Set-up eines Telegram-Bots. Falls Sie Telegram nicht kennen, finden Sie im Infokasten einige Basisinformationen darüber. Nachdem der Bot eingerichtet ist, brauchen wir eine Komponente, die die Funktionen des Bots bereitstellt. Hier kommt das NodeMCU Board ins Spiel. Darauf muss eine Software laufen, die auf Nachfrage den Status der Beleuchtung ausgibt. Wir verwenden einen einfachen Fotowiderstand, der uns einen Wert für die Helligkeit im Raum liefert. Wir gehen in unserem Beispiel vom typischen Computernerd aus, der sich überwiegend in seinem Bastelkeller aufhält, in dem es per Definition kein Sonnenlicht gibt, das unser Konzept stören könnte. Die Software für das NodeMCU Board erstellen wir mit der Arduino IDE.

Telegram

Telegram ist ein Kurznachrichtendienst, der neben einfachen Textnachrichten auch Sprach- und Videobotschaften übermitteln kann. Darüber hinaus kann man Gruppenchats, Umfragen und Bots erstellen. Das Benutzerkonto wird mit Hilfe der Mobilfunkrufnummer erstellt. Es gibt Clients für Smartphone und Desktop. Für Anwender, die keine zusätzliche Software auf ihrem Gerät installieren möchten/dürfen, existiert eine kostenfrei verwendbare Weboberfläche. Die Oberfläche von Telegram kann beliebig angepasst werden und bietet die Möglichkeit, sehr viele Emojis oder Sticker zu verwenden. Wenn Sie noch weitere Fragen zu Telegram haben, besuchen Sie einfach die Webseite [1] der Software.

Bot erstellen

Das Erstellen eines Bots unter Telegram ist denkbar einfach. Man beginnt einen Chat mit dem BotFather-Bot und erzeugt mit seiner Hilfe einen neuen Bot. Der BotFather versteht ein Set von Kommandos, die für das Erstellen, Verwalten und Löschen von Bots benötigt werden. Um eine Übersicht der Optionen angezeigt zu bekommen (Abb. 1), geben Sie einfach das Kommando /help ein. Mit dem Kommando /newbot leiten Sie den Dialog zum Erstellen eines Bots ein. Der BotFather fragt daraufhin nach einem Namen für den Bot. Bitte wählen Sie hier einen sprechenden Namen aus, das macht es später einfacher, den Bot wiederzufinden. Jetzt benötigt der Bot noch einen Usernamen. Der Username muss auf bot enden. Nachdem Sie alle nötigen Informationen eingegeben haben, erhalten Sie vom BotFather ein Access-Token. Bitte verwahren Sie diesen sicher, er wird später benötigt, um auf den Bot zuzugreifen.

mohr_nodeMCU_1.tif_fmt1.jpgAbb. 1: Die Übersicht der Kommandos kann mit /help aufgerufen werden

NodeMCU: Hardware

Das NodeMCU Board kann zum Programmieren über die USB-Schnittstelle an den Rechner angeschlossen werden. Auf dem Board ist ein ESP8266-Mikrocontroller verbaut, dessen technische Daten in Tabelle 1 dargestellt sind. Der ESP8266 hat eine integrierte WLAN-Schnittstelle, weshalb er in sehr vielen IoT-Produkten zu finden ist. Durch die hohen Stückzahlen ist der Preis des ESP8266 vergleichsweise niedrig. Man kann das NodeMCU-Modul bei AZ-Delivery [2] für ca. 6 € bestellen. Über das NodeMCU Board werden die GPIOs des Controllers auf Pfostenverbinder herausgeführt, die auf ein Standardprototypen-Board passen. So können wir ohne viel Aufwand schnell eine Schaltung mit dem Board verbinden.

32-Bit-RISC-CPU

Tensilica Xtensa LX106 mit 80 MHz

Programmspeicher

64 KB

Datenspeicher

96 KB

Externer Flash (optional)

512 KB bis 4 MB

GPIO

10 Pins. Mögliche Schnittstellen: SPI, I²C, I²S, UART. Es kann DMA und IRQ verwendet werden.

Wi-Fi

• IEEE 802.11 b/g/n

• WEP oder WPA/WPA2-Authentifizierung

• Wi-Fi Direct (P2P), soft-AP

• Integrierter TCP/IP Protokoll Stack

ADC

1x 10-Bit-Wandler

Antenne

integriert

Ausgangsleistung

+19.5 dBm im 802.11b-Modus

Größe

17.2 x 12.3 mm

Stromverbrauch im Stand-by-Modus

<1.0mA

Tabelle 1: Technische Daten des ESP8266

Sensor...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang