8.10 Android-Anwendung - RGB-LED-Steuerung über Arduino und Bluetooth

Ziel dieses Projekts ist die Entwicklung einer Android-Anwendung, die in der Lage ist, den Farbton einer RGB-LED über ein Smartphone mittels Bluetooth-Technologie zu manipulieren.

Diese Android-Anwendung wird mit Hilfe einer kostenlosen webbasierten Plattform namens MIT App Inventor 2 erstellt. Das Projekt bietet eine hervorragende Gelegenheit, Erfahrungen im Umgang mit der Schnittstelle zwischen einem Arduino und einem Smartphone zu sammeln.

Benötigte Komponenten

Für dieses Projekt benötigen wir die folgenden Komponenten.

Es ist definitiv praktisch, ein ganzes Kit zu kaufen. Hier ist der Link:

Name

ARTIKEL IN DIESEM KIT

LINK

ESP32 Starter Kit

320+

ESP32 Starter Kit

Sie können sie auch separat über die untenstehenden Links kaufen.

KOMPONENTENVORSTELLUNG

KAUF-LINK

ESP32 WROOM 32E

BUY

ESP32-Kameraerweiterung

-

Steckbrett

BUY

Überbrückungsdrähte

BUY

Widerstand

BUY

RGB LED

BUY

1. Erstellung der Android-Anwendung

Die Android-Anwendung wird mit Hilfe einer kostenlosen Webanwendung namens MIT App Inventor erstellt. MIT App Inventor ist ein hervorragender Einstiegspunkt für die Android-Entwicklung aufgrund seiner intuitiven Drag-and-Drop-Funktionen, die die Erstellung einfacher Anwendungen ermöglichen.

Beginnen wir.

  1. Hier ist die Login-Seite: http://ai2.appinventor.mit.edu. Sie benötigen ein Google-Konto, um sich bei MIT App Inventor anzumelden.

  2. Nach dem Einloggen navigieren Sie zu Projects -> Import project (.aia) from my computer. Laden Sie anschließend die Datei control_rgb_led.aia hoch, die sich im Pfad esp32-starter-kit-main\c\codes\iot_10_bluetooth_app_inventor befindet.

    ../../_images/10_ble_app_inventor1.png
  3. Nach dem Hochladen der .aia-Datei sehen Sie die Anwendung in der Software MIT App Inventor. Dies ist eine vorkonfigurierte Vorlage. Sie können diese Vorlage nach dem Kennenlernen von MIT App Inventor über die folgenden Schritte anpassen.

    ../../_images/10_ble_app_inventor2.png
  4. In MIT App Inventor haben Sie 2 Hauptbereiche: den Designer und die Blocks.

    ../../_images/10_ble_app_inventor3.png
  5. Der Designer ermöglicht es Ihnen, Schaltflächen, Texte, Bildschirme hinzuzufügen und das gesamte ästhetische Erscheinungsbild Ihrer Anwendung zu modifizieren.

    ../../_images/10_ble_app_inventor2.png
  6. Anschließend haben Sie den Bereich Blocks. Der Bereich Blocks erleichtert die Erstellung maßgeschneiderter Funktionen für Ihre Anwendung.

    ../../_images/10_ble_app_inventor5.png
  7. Um die Anwendung auf einem Smartphone zu installieren, navigieren Sie zum Tab Build.

    ../../_images/10_ble_app_inventor6.png
    • Sie können eine .apk-Datei generieren. Nachdem Sie diese Option ausgewählt haben, erscheint eine Seite, auf der Sie zwischen dem Herunterladen einer .apk-Datei oder dem Scannen eines QR-Codes zur Installation wählen können. Befolgen Sie die Installationsanleitung, um die Installation der Anwendung abzuschließen.

    • Wenn Sie diese App im Google Play oder einem anderen App-Marktplatz hochladen möchten, können Sie eine .apk-Datei generieren.

2. Hochladen des Codes

  1. Bauen Sie die Schaltung auf.

    ../../_images/rgb_pin.jpg

    Die RGB-LED besteht aus 4 Pins: Der längste Pin ist der gemeinsame Kathodenpin, üblicherweise mit GND verbunden; der Pin links vom längsten Pin steht für Rot; und die beiden Pins rechts symbolisieren Grün und Blau.

    ../../_images/2.3_color_light_bb.png
  2. Verbinden Sie anschließend das ESP32-WROOM-32E mit Ihrem Computer über ein USB-Kabel.

    ../../_images/plugin_esp32.png
  3. Öffnen Sie die Datei iot_10_bluetooth_app_inventor.ino, die sich im Verzeichnis esp32-starter-kit-main\c\codes\iot_10_bluetooth_app_inventor befindet, oder kopieren Sie den Code in die Arduino IDE.

  4. Nachdem Sie das passende Board (ESP32 Dev Module) und den Port ausgewählt haben, klicken Sie auf den Upload-Button.

3. App- und ESP32-Verbindung

Stellen Sie sicher, dass die zuvor erstellte Anwendung auf Ihrem Smartphone installiert ist.

  1. Aktivieren Sie zunächst Bluetooth auf Ihrem Smartphone.

    ../../_images/10_ble_mobile1.png
  2. Navigieren Sie zu den Bluetooth settings auf Ihrem Smartphone und finden Sie ESP32RGB.

    ../../_images/10_ble_mobile2.png
  3. Nachdem Sie darauf geklickt haben, stimmen Sie der Pair-Anfrage im Pop-up-Fenster zu.

    ../../_images/10_ble_mobile3.png
  4. Öffnen Sie jetzt die kürzlich installierte Control_RGB_LED-APP.

    ../../_images/10_ble_mobile4.png
  5. Klicken Sie in der APP auf Connect Bluetooth, um eine Verbindung zwischen der APP und dem ESP32 herzustellen.

    ../../_images/10_ble_mobile5.png
  6. Wählen Sie das xx.xx.xx.xx.xx.xx ESP32RGB, das angezeigt wird. Wenn Sie SerialBT.begin("ESP32RGB"); im Code geändert haben, wählen Sie einfach den Namen Ihrer Einstellung.

    ../../_images/10_ble_mobile6.png
  7. Wenn Sie eine Weile gewartet haben und immer noch keine Gerätenamen sehen, kann es sein, dass diese APP nicht erlaubt ist, umliegende Geräte zu scannen. In diesem Fall müssen Sie die Einstellungen manuell anpassen.

    • Halten Sie das APP-Symbol lange gedrückt und klicken Sie auf die sich daraus ergebende APP Info. Wenn Sie einen anderen Weg haben, um auf diese Seite zuzugreifen, folgen Sie diesem.

      ../../_images/10_ble_mobile8.png
    • Navigieren Sie zur Seite Permissions.

      ../../_images/10_ble_mobile9.png
    • Suchen Sie nach Nearby devices und wählen Sie Always, um dieser APP das Scannen von Geräten in der Nähe zu erlauben.

      ../../_images/10_ble_mobile10.png
    • Starten Sie nun die APP neu und wiederholen Sie die Schritte 5 und 6, um erfolgreich eine Bluetooth-Verbindung herzustellen.

  8. Nach erfolgreicher Verbindung werden Sie automatisch zur Hauptseite zurückgeführt, wo es als verbunden angezeigt wird. Jetzt können Sie die RGB-Werte anpassen und die Farbe der RGB-Anzeige ändern, indem Sie auf den Button Change Color drücken.

    ../../_images/10_ble_mobile7.png