Bluetooth LE doc-a-thon в ITP Camp - 💡 Fix My Ideas

Bluetooth LE doc-a-thon в ITP Camp

Bluetooth LE doc-a-thon в ITP Camp


Автор: Ethan Holmes, 2019

Bluetooth LE doc-a-thon в ITP Camp

Понастоящем съм в Ню Йорк за тазгодишния ITP лагер, четириседмична неконкурентна и технологична площадка за заети хора. Провежда се на всеки юни в ITP и събира разнообразна група от творци, артисти, музиканти и рекламни послания от всякакъв вид - за да създават неща, да чуват високоговорители в областта на технологиите и изкуството и да си сътрудничат с хора, които обикновено не срещат. ,

Това също е място, където можете да свършите нещата, за които не сте успели да намерите време и вероятно не бихте го направили по друг начин, и затова миналата седмица седнах - заедно с Том Игое, Дон Колман, Сандип Мисти, Гуан Янг, Дж. Ким и други - за двудневен Bluetooth LE doc-a-thon.

Всички ние работим с Bluetooth LE устройства - заедно с Don и Sandeep пиша книга за Make: на Bluetooth LE, мобилни телефони и сензори, докато Guan и JB имат стартиращи Bluetooth устройства LE, но всички се съгласихме че да започнем да използваме Bluetooth LE е много по-трудно, отколкото би трябвало да бъде, и че голяма част от работата, която хората вършеха, се спускаше на пода (или още по-лошо), защото хората не знаеха, че съществува. Решихме да седнем и да направим нещо за това.

Така като част от нашия doc-a-thon събрахме заедно документация, видеоклипове и кодови примери, които се надяваме да направят точно това.

Как е различен Bluetooth LE?

Bluetooth LE е много различен от класическия Bluetooth, всъщност е единственото нещо, което е същото е името.

Том Иго и Дон Колман дават преглед на Bluetooth Low Energy.

Вероятно сте свикнали да мислите за радиостанциите като за серийна връзка, която работи подобно на телефонно обаждане между два телефона - след като установите връзка, всеки човек говори като другия слушател и обратно. Те остават свързани, дори ако никой не казва нищо, докато някой не затвори и обаждането приключи.

В такива системи данните се прехвърлят чрез опашка и когато данните се четат от получателя, те се изтриват от опашката, точно както думите ми достигат до ушите ви по телефона, те са извън комуникационния канал. Ефективно това е начина, по който работи “Класик” Bluetooth.

Bluetooth LE е много различен. Вместо да комуникират чрез връзка от точка до точка като телефон, Bluetooth LE радиото действа като борда на обществения бюлетин, като всяко радио действа като дъска или четец на дъската.

Ако вашето радио е табло за съобщения - наречено периферно устройство в Bluetooth LE обръщението - то публикува данни на борда си, за да могат всички в общността да четат. Ако вашето радио е четец, наречен централно устройство в условията на Bluetooth LE, той може да чете от всяка от дъските (периферните устройства), които имат информация, за която се интересува.

Ако не ви харесва тази аналогия, можете също да мислите за периферните устройства като сървъри при клиент-сървър сделка. По същия начин централните устройства са клиентите на Bluetooth LE света, защото те четат информация от периферните устройства.

Но аз обичам серийните връзки?

Повечето (може би всички?) От Bluetooth LE радиото пробиващите дъски, достъпни за производителите в момента - RedBearLab BLE mini и Adafruit Bluefruit LE например - претендират, че изглеждат като серийни устройства за простота и представят UART услуга на потребителя. Ефективно тези радиостанции „фалшифицират” серийна комуникация от стария стил на върха на основната парадигма на бюлетина. Това е рана и всъщност не е добър хакер.

Макар и да опростява нещата от страна на Arduino, използвайки радиото по този начин отричате частта „ниска енергия“ на Bluetooth LE. Радиото ще бъде постоянно постоянно включено и ако вашият проект се базира на батерии, това е голям проблем.

Том Игое и Дон Колман говорят за услугите и Bluetooth LE.

Представете си пример, в който искате да управлявате светодиод, свързан с Arduino табло от нашия телефон чрез Bluetooth LE. Ако използваме серийно свързване, връзката ще бъде отворена непрекъснато, но ще се използва само периодично - когато изпращаме 1 или 0 по въздуха на борда на Arduino, за да включим или изключим светодиода.

Като алтернатива, можете значително да намалите консумацията на енергия на вашия проект, като използвате Bluetooth LE, както се предполага, че ще се използва, и реализирате персонализирана услуга за радиото, свързано с Arduino, за да рекламирате способността му да включва или изключва светодиода.

Ако се върнем към нашия бюлетин, ние създаваме дъска (услугата), която има прикачена пост-бележка (известна като характеристика в Bluetooth LE обръщението), която можем да четем, като ни уведомява дали светодиодът е включен или изключен или пишете - позволявайки ни да контролираме светодиода.

Изграждане на персонализирана услуга

За съжаление до неотдавна изграждането на потребителски услуги за Bluetooth LE всъщност беше доста сложно, а не за слабо сърце. Все пак става все по-лесно, тъй като сега има няколко добри инструмента, които могат да направят по-голямата част от тежката работа за вас.

В светлината на това решихме да разгледаме една платформа - радиостанцията Nordic Semiconductor nRF8001 - и да намерим цялостна верига с инструменти, която ще ви позволи да изградите персонализирана услуга за радиото и да използвате тази услуга от проекта Arduino. Избрахме това специално радио, защото то е лесно достъпно и има добра библиотечна поддръжка.

Първото нещо, което трябва да направите, когато се занимавате с nRF8001, е да инсталирате nRFGo Studio на Nordic и докато nRFGo е приложение на MS Window, то работи добре на Mac под OS X, използвайки Wine. Това приложение е инструментът, от който се нуждаете, за да създадете конфигурационния файл за Bluetooth LE услугите, които радиото ще рекламира, а като продукт създава и хедър файл на service.h, който ще ви е необходим като част от вашия проект Arduino.

„Интелигентният превключвател на светлината“

Свързване на нашия интелигентен пример за светлинен превключвател.

Искахме да изградим нещо с множество услуги, затова решихме да изградим "интелигентен" превключвател на светлината, където не можеше просто да включите или изключите светлината чрез Bluetooth LE, но да получите текущото състояние на превключвателя на светлината (което също може независимо контролирате светлината) и получавате известие, когато превключвателят е бил включен.

Управление на светлина чрез Bluetooth LE.

Хубавото на този пример е колко просто е, извън борда на Arduino и радиото nRF8001 - решихме да използваме борда на Adafruit Bluefruit LE - наистина се нуждаете само от няколко жици, резистори и други често достъпни части.

Изграждането на конфигурационния файл services.h с помощта на nRFGo Studio е може би най-трудната част от цялата верига от инструменти и ние прекарахме много време, за да разберем най-лесния начин да ви позволим да включите генерирания файл services.h в проекта си Arduino, вместо да го включите в библиотеката nRF8001 Arduino.

Макар да означаваше заявка за поддръжката на библиотеката и няколко ръчни модификации на файла services.h, в края на краищата ние я заработихме, а това означава, че работите изцяло в рамките на IDE на Arduino, след като сте създали конфигурацията на услугите си ,

Повече подробности, както и целия изходен код за примерните проекти, са достъпни в Github като част от документацията и примерите за кода, които поставихме по време на doc-a-thon.

заключение

Сега има огромен брой готови Bluetooth устройства LE, вариращи от носене до ключалки, от безпилотни летателни апарати до електрически крушки - и разбира се, винаги има повсеместното iBeacon - но има и нарастващ брой дъски за разработчици, които означават използването на тези готови устройства от вашия проект Arduino (или които стават) също стават по-прости. Надяваме се нашият doc-a-thon да се окаже полезен за ускоряването на този процес и тъй като всичко това зависи от приносите на Github, разбира се, са много добре дошли.



Може Да Се Интересувате

Лига на легендите Fishbones ракетна пушка

Лига на легендите Fishbones ракетна пушка


Smart Cap е напълно функционална AR / VR слушалка

Smart Cap е напълно функционална AR / VR слушалка


Флашбек: Етикети за бутилка от креда

Флашбек: Етикети за бутилка от креда


Hasbro и Shapeways разширяват партньорството, позволяват на феновете да продават трансформатори и повече

Hasbro и Shapeways разширяват партньорството, позволяват на феновете да продават трансформатори и повече