Innehållsförteckning:

Enkel IOS -app för BLE -moduler: 4 steg
Enkel IOS -app för BLE -moduler: 4 steg

Video: Enkel IOS -app för BLE -moduler: 4 steg

Video: Enkel IOS -app för BLE -moduler: 4 steg
Video: Нелогичная жизнь_Рассказ_Слушать 2024, November
Anonim
Enkel IOS -app för BLE -moduler
Enkel IOS -app för BLE -moduler

Denna instruktionsbok går igenom hur du kan skapa en iOS -app med mycket grundläggande funktionalitet. Denna instruktör kommer inte att gå igenom hela processen med att göra en iOS BLE -app. Det ger bara en hög nivå överblick över några viktiga element i appen. Därifrån kan du förhoppningsvis ladda ner projektet och spela med koden själv för att lära dig mer om implementeringen.

Jag kommunicerar med en RN4871 BLE -modul i mitt projekt. Specifikt RN4871 Click Board som är tillverkat av MikroElektronika. Dessa Click Boards finns på Mikro -webbplatsen såväl som andra distributörswebbplatser som DigiKey, Mouser, etc. Dessa Click Boards är visserligen dyrare än andra moduler som du kan hitta, men jag gillar att använda dem i mina projekt eftersom de är redo att överföra och ta emot data utan att behöva någon konfiguration. Jag har haft för många gånger där jag har köpt en billig $ 5 -modul online och var tvungen att läsa hela databladet för att ta reda på hur jag konfigurerar det. För mig är det ungefär 2-4 timmars arbete med att försöka konfigurera modulen innan jag ens kan skicka data! Dessa klickbrädor verkar fungera direkt ur lådan utan huvudvärk så de får tummen upp från mig!

Även om denna iOS -app är gjord för att kommunicera med RN4871 och RN4870, kan samma kod också användas för andra BLE -moduler (med viss kodändring förstås).

Använd koden hur du vill! Jag är inte en professionell apputvecklare så förlåt mig om något i det får dig att skrämma:)

Steg 1: De tillagda BLE -behörigheterna

De tillagda BLE -behörigheterna
De tillagda BLE -behörigheterna

En viktig funktion är den tillåtna behörigheten att använda BLE i appen.

Källkoden för den här appen har en nyckel i filen info.plist. Sekretess - Nyckelbeskrivning för Bluetooth perifer användning måste läggas till för att använda BLE. Utan att lägga till den här Bluetooth -nyckeln kommer Xcode att ge dig ett fel när du försöker köra appen.

Steg 2: Bluetooth.swift -filen

Detta är utan tvekan den viktigaste filen i detta projekt. Inom denna Bluetooth.swift -fil skapas ett globalt objekt av typen BluetoothClass. Detta globala objekt initieras av BluetoothHomeViewController när det visas.

Objektet rymmer både en centralManager -variabel och en perifer variabel. När dessa variabler har definierats används de i resten av appen. Genom att implementera vår egen klass undviker vi att behöva initiera flera instanser av centralManager och kringutrustning, därför kan vi använda samma objekt oavsett hur många viewControllers eller filer som läggs till. Dessutom behöver vi inte oroa oss för att skicka ett enda objekt till flera filer och viewControllers. Det kan bli rörigt!

Denna fil innehåller allt som används för att upptäcka, ansluta och prata med en kringutrustning.

Den innehåller också serviceUUID som vi kommer att söka efter tillsammans med rxUUID (mottagning) och txUUID (sändning). Om du vill använda en annan modul med den här appen behöver du bara ändra dessa värden för att matcha UUID: erna för den nya modulen som du använder.

Steg 3: ViewControllers

Denna app är extremt enkel. Det finns bara två ViewControllers: en för att skicka data fram och tillbaka och en för att söka efter kringutrustning.

BluetoothHomeViewController viktiga saker att notera:

  • Vi skapar aviseringar för när vårt Bluetooth -objekt hittar en kringutrustning och när vårt Bluetooth -objekt tar emot ett meddelande.
  • Vi prenumererar på meddelandet om mottagna meddelanden.

    Detta genererar i grunden ett avbrott när vi i denna viewController när som helst får något. Vi visar sedan vad vi fått i textfältet

ScannerViewController viktiga saker att notera:

  • Vi prenumererar på den hittade perifera aviseringen.

    Detta skapar ett avbrott, när i denna viewController, när som helst en ny kringutrustning hittas som matchar vår serviceUUID så att vi kan ladda om tabellen som visar tillgängliga kringutrustning

Steg 4: Det är ganska mycket

Naturligtvis finns det andra saker som händer i appen. Men jag beskrev bara de saker som kanske inte är så tydliga i implementeringen. Förhoppningsvis är resten av koden som jag inte pratade om självförklarande.

Återigen bör denna kod kunna användas med andra BLE -moduler utanför RN4871. Du bör helt enkelt behöva ändra UUID: erna inuti Bluetooth.swift -filen.

Ladda ner projektet och spela med koden själv för att lära dig exakt hur allt implementeras. Koden är väldigt enkel så att du kan lägga till och ändra den för att passa din egen applikation.

Glad kodning!

-ChokladDrinkla

Rekommenderad: