Turinys:

Paprasta „IOS“programa BLE moduliams: 4 žingsniai
Paprasta „IOS“programa BLE moduliams: 4 žingsniai

Video: Paprasta „IOS“programa BLE moduliams: 4 žingsniai

Video: Paprasta „IOS“programa BLE moduliams: 4 žingsniai
Video: LW11 AGPTEK Smartwatch IP68: что нужно знать // Лучшие бюджетные часы на АлиЭкспресс 2024, Lapkritis
Anonim
Paprasta „IOS“programa BLE moduliams
Paprasta „IOS“programa BLE moduliams

Šioje instrukcijoje aprašoma, kaip galite sukurti „iOS“programą su labai paprastomis funkcijomis. Ši instrukcija neapims viso „iOS BLE“programos kūrimo proceso. Tai suteiks tik aukšto lygio kai kurių svarbių programos elementų apžvalgą. Tikimės, kad iš ten galėsite atsisiųsti projektą ir patys žaisti su kodu, kad sužinotumėte daugiau apie įgyvendinimą.

Aš bendrauju su RN4871 BLE moduliu savo projekte. Konkrečiai „MikroElektronika“pagaminta „RN4871 Click Board“. Šias paspaudimų lenteles galima rasti „Mikro“svetainėje, taip pat kitose platintojų svetainėse, tokiose kaip „DigiKey“, „Mouser“ir kt. Tiesa, šios paspaudimų lentos yra brangesnės nei kiti moduliai, kuriuos galite rasti, tačiau man patinka juos naudoti savo projektuose, nes iš dėžutės jie yra pasirengę perduoti ir priimti duomenis nereikalaujant jokios konfigūracijos. Aš turėjau per daug kartų, kai nusipirkau pigų 5 USD modulį internete ir turėjau perskaityti visą duomenų lapą, kad suprasčiau, kaip jį sukonfigūruoti. Man tai yra maždaug 2-4 valandos darbo, bandant sukonfigūruoti modulį, kol galiu net siųsti duomenis! Atrodo, kad šios paspaudimo lentos veikia tiesiai iš dėžutės ir neskauda galvos, todėl nuo manęs kelia nykštį!

Nors ši „iOS“programa skirta bendrauti su RN4871 ir RN4870, tą patį kodą galima naudoti ir kitiems BLE moduliams (žinoma, šiek tiek pakeitus kodą).

Nesivaržykite naudoti kodo, kaip jums patinka! Nesu profesionalus programų kūrėjas, todėl atleiskite, jei kas nors jame priverčia suklusti:)

1 žingsnis: Pridėti BLE leidimai

Pridėti BLE leidimai
Pridėti BLE leidimai

Viena svarbi funkcija yra papildomas leidimas programoje naudoti BLE.

Šios programos šaltinio kode yra pridėtas raktas į failą info.plist. Norint naudoti BLE, reikia pridėti privatumo - „Bluetooth“periferinio naudojimo aprašo raktą. Nepridėjus šio „Bluetooth“rakto, „Xcode“parodys klaidą, kai bandysite paleisti programą.

2 veiksmas: „Bluetooth.swift“failas

Tai neabejotinai svarbiausia šio projekto byla. Šiame „Bluetooth.swift“faile sukuriamas visuotinis „BluetoothClass“tipo objektas. Šį visuotinį objektą inicijuoja „BluetoothHomeViewController“, kai jis pasirodo.

Objekte yra ir kintamasis centralManager, ir periferinis. Kai šie kintamieji yra apibrėžti, jie naudojami visoje programoje. Įgyvendindami savo klasę, išvengiame poreikio inicijuoti kelis centralManager ir periferinės sistemos egzempliorius, todėl galime naudoti tą patį objektą, nesvarbu, kiek pridėta viewController ar failų. Be to, mums nereikia jaudintis, kad vienas objektas bus perduotas keliems failams ir „viewControllers“. Tai gali sujaukti!

Šiame faile yra viskas, kas naudojama periferiniam įrenginiui atrasti, prisijungti ir su juo kalbėtis.

Jame taip pat yra serviceUUID, kurį mes nuskaitysime kartu su rxUUID (gauti) ir txUUID (perduoti). Jei norite naudoti kitą modulį su šia programa, viskas, ką jums reikia padaryti, tai pakeisti šias vertes, kad jos atitiktų naudojamo naujo modulio UUID.

3 žingsnis: „ViewControllers“

Ši programa yra nepaprastai paprasta. Yra tik du „ViewControllers“: vienas duomenims siųsti pirmyn ir atgal, kitas - periferinių įrenginių paieškai.

„BluetoothHomeViewController“svarbūs dalykai, į kuriuos reikia atkreipti dėmesį:

  • Mes kuriame pranešimus, kai mūsų „Bluetooth“objektas randa išorinį įrenginį ir kai mūsų „Bluetooth“objektas gauna pranešimą.
  • Prenumeruojame gautą pranešimą.

    Tai iš esmės sukuria pertrauką, kai šioje „ViewController“sistemoje bet kuriuo metu ką nors gauname. Tada teksto lauke rodome tai, ką gavome

Svarbu atkreipti dėmesį į „ScannerViewController“:

  • Prenumeruojame rastą periferinį pranešimą.

    Tai sukuria pertrauką, kai šiame rodinio valdiklyje bet kuriuo metu randamas naujas periferinis įrenginys, atitinkantis mūsų serviceUUID, kad galėtume iš naujo įkelti lentelę su turimais išoriniais įrenginiais

4 žingsnis: Tai gana daug

Žinoma, programoje vyksta ir kiti dalykai. Tačiau aprašiau tik tuos dalykus, kurie gali būti nelabai aiškūs įgyvendinant. Tikimės, kad likęs kodas, apie kurį nekalbėjau, yra savaime suprantamas.

Vėlgi, šį kodą turėtų būti galima naudoti su kitais BLE moduliais, esančiais už RN4871 ribų. Jums tiesiog reikia pakeisti „Bluetooth.swift“failo UUID.

Atsisiųskite projektą ir žaiskite su kodu patys, kad sužinotumėte, kaip viskas įgyvendinama. Kodas yra labai paprastas, todėl galite jį pridėti ir modifikuoti, kad atitiktų jūsų programą.

Laimingo kodavimo!

-Šokoladas

Rekomenduojamas: