Inhaltsverzeichnis:

Einfache IOS-App für BLE-Module - Gunook
Einfache IOS-App für BLE-Module - Gunook

Video: Einfache IOS-App für BLE-Module - Gunook

Video: Einfache IOS-App für BLE-Module - Gunook
Video: Arduino HC08 Bluetooth Modul - LED Steuern mit iOS und Android 2024, Juni
Anonim
Einfache IOS-App für BLE-Module
Einfache IOS-App für BLE-Module

Dieses Instructable führt durch, wie Sie eine iOS-App mit sehr grundlegenden Funktionen erstellen können. Dieses Instructable wird nicht den gesamten Prozess der Erstellung einer iOS BLE-App durchlaufen. Es gibt nur einen groben Überblick über einige wichtige Elemente innerhalb der App. Von dort aus können Sie hoffentlich das Projekt herunterladen und selbst mit dem Code spielen, um mehr über die Implementierung zu erfahren.

Ich kommuniziere in meinem Projekt mit einem RN4871 BLE-Modul. Insbesondere das RN4871 Click Board, das von MikroElektronika hergestellt wird. Diese Click Boards finden Sie auf der Mikro-Website sowie auf anderen Distributoren-Websites wie DigiKey, Mouser usw. Zugegeben, diese Click Boards sind teurer als andere Module, die Sie finden können, aber ich verwende sie gerne in meinen Projekten, weil Sie sind sofort einsatzbereit, um Daten zu senden und zu empfangen, ohne dass eine Konfiguration erforderlich ist. Ich habe viel zu oft ein günstiges 5-Dollar-Modul online gekauft und musste das gesamte Datenblatt lesen, um herauszufinden, wie man es konfiguriert. Für mich sind das ungefähr 2-4 Stunden Arbeit, um das Modul zu konfigurieren, bevor ich überhaupt Daten senden kann! Diese Clickboards scheinen direkt nach dem Auspacken ohne Kopfschmerzen zu funktionieren, also bekommen sie von mir einen Daumen hoch!

Obwohl diese iOS-App für die Kommunikation mit RN4871 und RN4870 entwickelt wurde, kann derselbe Code auch für andere BLE-Module verwendet werden (natürlich mit einigen Codeänderungen).

Fühlen Sie sich frei, den Code zu verwenden, wie Sie möchten! Ich bin kein professioneller App-Entwickler, also verzeiht mir, wenn euch irgendetwas daran erschaudern lässt:)

Schritt 1: Die hinzugefügten BLE-Berechtigungen

Die hinzugefügten BLE-Berechtigungen
Die hinzugefügten BLE-Berechtigungen

Ein wichtiges Feature ist die zusätzliche Berechtigung, BLE innerhalb der App zu verwenden.

Der Quellcode dieser App hat einen hinzugefügten Schlüssel in der Datei info.plist. Der Schlüssel "Privacy - Bluetooth Peripheral Usage Description" muss hinzugefügt werden, um BLE verwenden zu können. Ohne diesen Bluetooth-Schlüssel hinzuzufügen, gibt Xcode eine Fehlermeldung aus, wenn Sie versuchen, die App auszuführen.

Schritt 2: Die Bluetooth.swift-Datei

Dies ist wohl die wichtigste Datei in diesem Projekt. Innerhalb dieser Bluetooth.swift-Datei wird ein globales Objekt vom Typ BluetoothClass erstellt. Dieses globale Objekt wird vom BluetoothHomeViewController initialisiert, wenn es erscheint.

Das Objekt enthält sowohl eine CentralManager-Variable als auch eine Peripherievariable. Sobald diese Variablen definiert sind, werden sie im Rest der App verwendet. Durch die Implementierung unserer eigenen Klasse vermeiden wir die Notwendigkeit, mehrere Instanzen des centralManager und des Peripheriegeräts zu initialisieren, daher können wir dasselbe Objekt verwenden, unabhängig davon, wie viele viewController oder Dateien hinzugefügt werden. Außerdem müssen wir uns nicht darum kümmern, ein einzelnes Objekt an mehrere Dateien und ViewController zu übergeben. Das kann chaotisch werden!

Diese Datei enthält alles, was verwendet wird, um ein Peripheriegerät zu erkennen, zu verbinden und mit ihm zu kommunizieren.

Es enthält auch die serviceUUID, nach der wir zusammen mit der rxUUID (empfangen) und txUUID (senden) suchen. Wenn Sie mit dieser App ein anderes Modul verwenden möchten, müssen Sie diese Werte nur so ändern, dass sie den UUIDs des neuen Moduls entsprechen, das Sie verwenden.

Schritt 3: Die ViewController

Diese App ist extrem einfach. Es gibt nur zwei ViewController: einen zum Senden von Daten hin und her und einen zum Scannen nach Peripheriegeräten.

Wichtige Hinweise zum BluetoothHomeViewController:

  • Wir erstellen Benachrichtigungen, wenn unser Bluetooth-Objekt ein Peripheriegerät findet und wenn unser Bluetooth-Objekt eine Nachricht empfängt.
  • Wir abonnieren die Benachrichtigung über empfangene Nachrichten.

    Dies erzeugt im Grunde immer einen Interrupt, wenn wir in diesem ViewController etwas empfangen. Wir zeigen dann im Textfeld an, was wir erhalten haben

ScannerViewController wichtige Dinge zu beachten:

  • Wir abonnieren die gefundene periphere Benachrichtigung.

    Dies erzeugt einen Interrupt, wenn in diesem ViewController jedes Mal ein neues Peripheriegerät gefunden wird, das unserer serviceUUID entspricht, damit wir die Tabelle mit den verfügbaren Peripheriegeräten neu laden können

Schritt 4: Das ist so ziemlich alles

Natürlich gibt es noch andere Dinge in der App. Ich habe jedoch nur die Dinge beschrieben, die innerhalb der Implementierung möglicherweise nicht ganz klar sind. Hoffentlich ist der Rest des Codes, über den ich nicht gesprochen habe, selbsterklärend.

Auch dieser Code sollte mit anderen BLE-Modulen außerhalb des RN4871 verwendet werden können. Sie müssen lediglich die UUIDs in der Datei Bluetooth.swift ändern.

Bitte laden Sie das Projekt herunter und spielen Sie selbst mit dem Code, um genau zu erfahren, wie alles implementiert ist. Der Code ist sehr einfach, sodass Sie ihn hinzufügen und an Ihre eigene Anwendung anpassen können.

Viel Spaß beim Codieren!

-SchokoladeNieselregen

Empfohlen: