فهرست مطالب:
- مرحله 1: مجوزهای BLE اضافه شده
- مرحله 2: فایل Bluetooth.swift
- مرحله 3: ViewControllers
- مرحله 4: بسیار خوب است
تصویری: برنامه IOS ساده برای ماژول های BLE: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
این دستورالعمل به شما نشان می دهد که چگونه می توانید یک برنامه iOS با عملکرد بسیار اساسی ایجاد کنید. این دستورالعمل کل مراحل ساخت برنامه iOS BLE را طی نخواهد کرد. فقط یک نمای کلی از برخی عناصر مهم درون برنامه ارائه می دهد. از آنجا امیدوارم بتوانید پروژه را بارگیری کرده و خودتان با کد بازی کنید تا در مورد نحوه اجرای آن بیشتر بدانید.
من در پروژه خود با یک ماژول RN4871 BLE ارتباط دارم. به طور خاص RN4871 Click Board که توسط MikroElektronika ساخته شده است. این تابلوهای کلیک را می توانید در وب سایت Mikro و سایر وب سایت های توزیع کننده مانند DigiKey ، Mouser و غیره پیدا کنید. مسلماً این Clickboard ها گرانتر از سایر ماژول هایی هستند که می توانید پیدا کنید ، با این حال من دوست دارم از آنها در پروژه های خود استفاده کنم ، زیرا خارج از جعبه آنها آماده انتقال و دریافت داده ها بدون نیاز به پیکربندی هستند. من بارها و بارها یک ماژول ارزان قیمت 5 دلاری را به صورت آنلاین خریداری کرده ام و مجبور بودم تمام برگه اطلاعات را بخوانم تا نحوه پیکربندی آن را دریابم. برای من حدود 2-4 ساعت کار در تلاش برای پیکربندی ماژول قبل از اینکه بتوانم داده ارسال کنم! به نظر می رسد که این صفحات کلیک بدون هیچگونه سردردی در جعبه کار می کنند ، بنابراین از من انگشت شست می گیرند!
اگرچه این برنامه iOS برای ارتباط با RN4871 و RN4870 ساخته شده است ، اما می توان از این کد برای سایر ماژول های BLE نیز استفاده کرد (البته با کمی اصلاح کد).
با خیال راحت از کد هرطور که دوست دارید استفاده کنید! من یک توسعه دهنده برنامه حرفه ای نیستم ، اگر چیزی در آن باعث عصبانیت شما می شود ، مرا ببخشید:)
مرحله 1: مجوزهای BLE اضافه شده
یکی از ویژگی های مهم مجوز اضافه شده برای استفاده از BLE در برنامه است.
کد منبع این برنامه دارای یک کلید اضافه شده در فایل info.plist است. به منظور استفاده از BLE ، کلید توصیف استفاده از محیط خصوصی - بلوتوث باید اضافه شود. بدون افزودن این کلید بلوتوث ، Xcode هنگام تلاش برای اجرای برنامه خطایی به شما می دهد.
مرحله 2: فایل Bluetooth.swift
این بدون شک مهمترین فایل در این پروژه است. در این فایل Bluetooth.swift ، یک شیء جهانی از نوع BluetoothClass ایجاد می شود. هنگامی که ظاهر می شود ، این شیء جهانی توسط BluetoothHomeViewController راه اندازی می شود.
این شی هر دو متغیر centralManager و یک متغیر محیطی را در خود جای داده است. پس از تعریف این متغیرها ، از آنها در بقیه برنامه استفاده می شود. با پیاده سازی کلاس خود ، از نیاز به مقداردهی اولیه چندین نمونه از centralManager و محیطی اجتناب می کنیم ، بنابراین می توان از یک شیء بدون توجه به تعداد ViewControllers یا فایل های اضافه شده استفاده کرد. علاوه بر این ، لازم نیست نگران انتقال یک شی به چندین فایل و viewControllers باشیم. این میتونه کثیف بشه!
این فایل شامل همه مواردی است که برای کشف ، اتصال و صحبت با یک دستگاه جانبی استفاده می شود.
همچنین شامل serviceUUID است که به همراه rxUUID (دریافت) و txUUID (ارسال) برای آن اسکن می کنیم. اگر می خواهید از یک ماژول متفاوت با این برنامه استفاده کنید ، تنها کاری که باید انجام دهید این است که این مقادیر را برای مطابقت با UUID های ماژول جدیدی که استفاده می کنید تغییر دهید.
مرحله 3: ViewControllers
این برنامه بسیار ساده است. فقط دو ViewController وجود دارد: یکی برای ارسال داده به جلو و عقب و دیگری برای اسکن لوازم جانبی.
BluetoothHomeViewController نکات مهمی که باید به آن توجه کنید:
- برای زمانی که شیء بلوتوث ما یک وسیله جانبی پیدا می کند و زمانی که شیء بلوتوث ما پیامی دریافت می کند ، اعلان ایجاد می کنیم.
-
ما در اعلان پیام دریافتی مشترک می شویم.
این اساساً یک وقفه ایجاد می کند ، هنگامی که در این viewController ، در هر زمان چیزی دریافت می کنیم. سپس آنچه را که دریافت کرده اید در قسمت متن نمایش می دهیم
ScannerViewController نکات مهمی که باید به آن توجه کنید:
-
ما در اعلان های جانبی یافت شده مشترک می شویم.
هنگامی که در این viewController ، هر زمان یک وسیله جانبی جدید پیدا می شود که با serviceUUID ما مطابقت داشته باشد ، وقفه ایجاد می شود تا بتوانیم جدول را نمایش دهیم که لوازم جانبی موجود را نمایش می دهد
مرحله 4: بسیار خوب است
البته موارد دیگری نیز در داخل برنامه در حال انجام است. با این حال ، من فقط مواردی را توضیح دادم که ممکن است در اجرا چندان واضح نباشد. امیدوارم بقیه کدهایی که در مورد آنها صحبت نکرده ام ، خود توضیحی باشد.
مجدداً این کد باید بتواند با سایر ماژول های BLE خارج از RN4871 استفاده شود. شما فقط باید UUID های داخل فایل Bluetooth.swift را تغییر دهید.
لطفاً پروژه را بارگیری کرده و خودتان با کد بازی کنید تا نحوه اجرای همه چیز را دقیقاً بیاموزید. کد بسیار ساده است به طوری که می توانید آن را متناسب با برنامه شخصی خود اضافه و اصلاح کنید.
کد نویسی مبارک!
-شکلات بارانی
توصیه شده:
یک راه بسیار ساده برای شروع کار با اتوماسیون خانگی با استفاده از ماژول های DIY: 6 مرحله
یک راه بسیار ساده برای شروع کار با اتوماسیون خانگی با استفاده از ماژول های DIY: وقتی تصمیم گرفتم تعدادی سنسور DIY را به دستیار خانه اضافه کنم ، بسیار شگفت زده شدم. استفاده از ESPHome بسیار ساده است و در این پست ، ما نحوه کنترل یک پین GPIO و همچنین به دست آوردن دما را یاد می گیریم. داده های رطوبت از یک بی سیم
ایجاد یک منطقه امن برای دستگاه های Android/IOS/WIN10 برای باز نشدن قفل: 6 مرحله
ایجاد منطقه ایمن برای دستگاه های Android/IOS/WIN10 برای باز نشدن قفل: در این مقاله ، ما می خواهیم یک ابزار جالب بسازیم که می تواند یک منطقه امن برای قفل شدن دستگاه های شما ایجاد کند. در پایان این پروژه شما: نحوه استفاده از حسگر اثر انگشت را خواهید آموخت. خواهید آموخت که چگونه دستگاه های خود را با ابزار منطقه امن خود جفت کنید. آیا می خواهید
ماژول های PIC & AVR از تراشه های SMD مناسب برای BreadBoarding: 7 مرحله
ماژول های PIC & AVR از تراشه های SMD مناسب برای BreadBoarding: هر از گاهی به برخی از کنترلرهای میکرو در فرم Surface mounted (SMD) برخورد می کنید که دوست دارید آنها را روی تخته نان خود امتحان کنید! شما سخت تلاش می کنید تا نسخه DIL آن تراشه را تهیه کنید ، گاهی اوقات در دسترس نخواهد بود. آخرین نسخه
3 روش ساده برنامه نویسی ماژول ESP8266 12X: 5 مرحله (همراه با تصاویر)
3 روش ساده برنامه نویسی ماژول ESP8266 12X: اگر با میکرو کنترلر ESP8266 آشنا نیستید ، من واقعاً احساس می کنم که از دست رفته اید! این موارد باورنکردنی هستند: ارزان ، قدرتمند و از همه مهمتر دارای WiFi داخلی هستند
توسعه برنامه های کاربردی با استفاده از پین های GPIO در DragonBoard 410c با سیستم عامل های Android و Linux: 6 مرحله
توسعه برنامه های کاربردی با استفاده از پین های GPIO در DragonBoard 410c با سیستم عامل های Android و Linux: هدف از این آموزش نشان دادن اطلاعات مورد نیاز برای توسعه برنامه های کاربردی با استفاده از پین GPIO در DragonBoard 410c با سرعت کم است. این آموزش اطلاعاتی را برای توسعه برنامه های کاربردی با استفاده از پین های GPIO با SYS در Andr ارائه می دهد