Inhoudsopgave:

Eenvoudige IOS-app voor BLE-modules: 4 stappen
Eenvoudige IOS-app voor BLE-modules: 4 stappen

Video: Eenvoudige IOS-app voor BLE-modules: 4 stappen

Video: Eenvoudige IOS-app voor BLE-modules: 4 stappen
Video: iPhone und iPad synchronisieren [4 Methode ] 2024, November
Anonim
Eenvoudige IOS-app voor BLE-modules
Eenvoudige IOS-app voor BLE-modules

Deze Instructable laat zien hoe u een iOS-app kunt maken met zeer basisfunctionaliteit. Deze Instructable zal niet het hele proces van het maken van een iOS BLE-app doorlopen. Het geeft alleen een overzicht op hoog niveau van enkele belangrijke elementen in de app. Van daaruit kun je hopelijk het project downloaden en zelf met de code spelen om meer te weten te komen over de implementatie.

Ik communiceer met een RN4871 BLE-module in mijn project. Specifiek de RN4871 Click Board die is gemaakt door MikroElektronika. Deze Click Boards zijn te vinden op de Mikro-website en ook op websites van andere distributeurs zoals DigiKey, Mouser, enz. Toegegeven, deze Click Boards zijn duurder dan andere modules die u kunt vinden, maar ik gebruik ze graag in mijn projecten omdat uit de doos zijn ze klaar om gegevens te verzenden en te ontvangen zonder enige configuratie. Ik heb veel te vaak gehad dat ik een goedkope module van $ 5 online heb gekocht en de hele datasheet moest lezen om erachter te komen hoe ik deze moest configureren. Voor mij is dat ongeveer 2-4 uur werk om de module te configureren voordat ik zelfs maar gegevens kan verzenden! Deze klikborden lijken direct uit de doos te werken zonder hoofdpijn, dus ze krijgen een duim omhoog van mij!

Hoewel deze iOS-app is gemaakt om te communiceren met de RN4871 en RN4870, kan dezelfde code ook worden gebruikt voor andere BLE-modules (met enige codeaanpassing natuurlijk).

Voel je vrij om de code te gebruiken zoals je wilt! Ik ben geen professionele app-ontwikkelaar, dus vergeef me als iets erin je doet ineenkrimpen:)

Stap 1: De toegevoegde BLE-machtigingen

De toegevoegde BLE-machtigingen
De toegevoegde BLE-machtigingen

Een belangrijke functie is de toegevoegde toestemming om BLE binnen de app te gebruiken.

De broncode van deze app heeft een toegevoegde sleutel in het info.plist-bestand. De toets Privacy - Bluetooth Peripheral Usage Description moet worden toegevoegd om BLE te kunnen gebruiken. Zonder deze Bluetooth-sleutel toe te voegen, geeft Xcode u een foutmelding wanneer u de app probeert uit te voeren.

Stap 2: Het Bluetooth.swift-bestand

Dit is misschien wel het belangrijkste bestand in dit project. Binnen dit Bluetooth.swift-bestand wordt een globaal object van het type BluetoothClass gemaakt. Dit globale object wordt geïnitialiseerd door de BluetoothHomeViewController wanneer het verschijnt.

Het object bevat zowel een centralManager-variabele als een perifere variabele. Zodra deze variabelen zijn gedefinieerd, worden ze in de rest van de app gebruikt. Door onze eigen klasse te implementeren, vermijden we dat we meerdere instanties van de centralManager en randapparatuur moeten initialiseren, daarom kunnen we hetzelfde object gebruiken, ongeacht hoeveel viewControllers of bestanden worden toegevoegd. Bovendien hoeven we ons geen zorgen te maken over het doorgeven van een enkel object aan meerdere bestanden en viewControllers. Dat kan rommelig worden!

Dit bestand bevat alles wat wordt gebruikt om randapparatuur te ontdekken, te verbinden en ermee te praten.

Het bevat ook de serviceUUID waarnaar we zullen scannen, samen met de rxUUID (ontvangen) en txUUID (verzenden). Als u een andere module met deze app wilt gebruiken, hoeft u alleen deze waarden te wijzigen zodat ze overeenkomen met de UUID's van de nieuwe module die u gebruikt.

Stap 3: De ViewControllers

Deze app is uiterst eenvoudig. Er zijn slechts twee ViewControllers: een om gegevens heen en weer te sturen en een om te scannen naar randapparatuur.

BluetoothHomeViewController belangrijke dingen om op te merken:

  • We maken meldingen voor wanneer ons Bluetooth-object een randapparaat vindt en wanneer ons Bluetooth-object een bericht ontvangt.
  • We abonneren ons op de ontvangen berichtmelding.

    Dit genereert in feite een interrupt, wanneer we in deze viewController altijd iets ontvangen. In het tekstveld geven we vervolgens weer wat we hebben ontvangen

ScannerViewController belangrijke dingen om op te merken:

  • We abonneren ons op de gevonden perifere melding.

    Dit creëert een onderbreking wanneer in deze viewController telkens een nieuw randapparaat wordt gevonden dat overeenkomt met onze serviceUUID, zodat we de tabel met de beschikbare randapparatuur opnieuw kunnen laden

Stap 4: Dat is zo'n beetje het

Natuurlijk zijn er andere dingen aan de hand binnen de app. Ik heb echter alleen de dingen beschreven die misschien niet erg duidelijk zijn binnen de implementatie. Hopelijk spreekt de rest van de code waar ik het niet over had voor zich.

Nogmaals, deze code moet kunnen worden gebruikt met andere BLE-modules buiten de RN4871. U hoeft alleen maar de UUID's in het bestand Bluetooth.swift te wijzigen.

Download het project en speel zelf met de code om precies te leren hoe alles wordt geïmplementeerd. De code is heel eenvoudig, zodat u deze kunt toevoegen en aanpassen aan uw eigen toepassing.

Veel plezier met coderen!

-ChocoladeMotregen

Aanbevolen: