Innehållsförteckning:
- Steg 1: De tillagda BLE -behörigheterna
- Steg 2: Bluetooth.swift -filen
- Steg 3: ViewControllers
- Steg 4: Det är ganska mycket
Video: Enkel IOS -app för BLE -moduler: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
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
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:
Enkel mycket låg effekt BLE i Arduino del 2 - Temperatur/fuktighetsmonitor - Rev 3: 7 steg
Enkel mycket låg effekt BLE i Arduino del 2 - Temperatur/luftfuktighetsmonitor - Rev 3: Uppdatering: 23 november 2020 - Första byte av 2 x AAA -batterier sedan 15 januari 2019 dvs 22 månader för 2xAAA Alkaline Uppdatering: 7 april 2019 - Rev 3 av lp_BLE_TempHumidity, lägger till datum/tid -diagram, med pfodApp V3.0.362+och automatisk strypning när
Väggfäste för iPad som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: 4 steg (med bilder)
Väggfäste för iPad Som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: På senare tid har jag ägnat ganska mycket tid åt att automatisera saker i och runt mitt hus. Jag använder Domoticz som min hemautomationsapplikation, se www.domoticz.com för mer information. I min sökning efter en instrumentpanelapplikation som visar all Domoticz -information tillsammans
Skapa en säker zon för Android/IOS/WIN10 -enheter för att förbli olåst: 6 steg
Skapa en säker zon för Android/IOS/WIN10 -enheter för att förbli olåsta: I den här artikeln vill vi göra en cool gadget som kan göra en säker zon för dina enheter att låsas upp. I slutet av detta projekt lär du dig: hur du använder en fingeravtryckssensor. Kommer att lära dig att para ihop dina enheter med din safe zone -gadget. Kommer att
Övertyga dig själv om att bara använda en 12V-till-AC-omriktare för LED-ljussträngar istället för att koppla om dem för 12V: 3 steg
Övertyga dig själv om att bara använda en 12V-till-AC-linjeomvandlare för LED-ljussträngar istället för att koppla om dem för 12V: Min plan var enkel. Jag ville klippa upp en väggdriven LED-ljussträng i bitar och sedan dra om den för att gå av 12 volt. Alternativet var att använda en kraftomvandlare, men vi vet alla att de är fruktansvärt ineffektiva, eller hur? Höger? Eller är de det?
1.5A linjär regulator för konstant ström för lysdioder för: 6 steg
1.5A linjär regulator för konstant ström för lysdioder för: Så det finns massor av instruktioner som täcker användning av LED -lampor med hög ljusstyrka. Många av dem använder den kommersiellt tillgängliga Buckpuck från Luxdrive. Många av dem använder också linjära regleringskretsar som toppar vid 350 mA eftersom de är mycket ineffektiva