Բովանդակություն:

Թեթև բամբուկ (միացված լամպ) ՝ 3 քայլ
Թեթև բամբուկ (միացված լամպ) ՝ 3 քայլ

Video: Թեթև բամբուկ (միացված լամպ) ՝ 3 քայլ

Video: Թեթև բամբուկ (միացված լամպ) ՝ 3 քայլ
Video: Кемпинг в одиночестве на маленькой машине под проливным дождем. Ночевка в горном ручье. 2024, Սեպտեմբեր
Anonim
Թեթև բամբուկ (միացված լամպ)
Թեթև բամբուկ (միացված լամպ)

Բարեւ եւ բարի գալուստ!

Light bamboo- ն միացված լամպ է, որը վառվում է, երբ ծանուցում է ստացվում Android սմարթֆոնին, որին միացված է: Այս հրահանգի նպատակն է ձեզ ցույց տալ նախագծի նախագծման փուլը `ապարատային ճարտարապետությունից մինչև Bluetooth Low Energy (BLE) կապ և Android հավելվածների շենք:

Մեր լամպի համար մենք ընտրեցինք պլաստմասե գործարան `զով դեկորատիվ ձևավորման համար: Այս նախագծի համար ցուցադրվող ծանուցումները հետևյալ ծրագրերից են ՝ զանգեր, sms/mms, facebook, messenger, instagram, whatsapp և gmail: Յուրաքանչյուր տեսակի ծանուցման համար վերագրվում է մեկ բաց գույն:

Այս նախագծի համար ձեզ հարկավոր է.

  • UC ինտեգրված BLE մոդուլով ՝ nFR51822 RedBearLab
  • 3 NeoPixel մատանի (12 RGB LED)
  • Android սմարթֆոն
  • Android Studio

Յուրաքանչյուր ծանուցում ունի որոշակի առաջնահերթություն ՝ կախված դրա կարևորությունից: Օրինակ, մուտքային զանգի ծանուցումն ավելի կարևոր է, քան Facebook- ի ծանուցումը: Այդ դեպքում LED- ների գույնը կապված կլինի մուտքային զանգի ծանուցման հետ:

Սմարթֆոնը, որի վրա մենք մշակել ենք հավելվածը, Samsung Galaxy A5 է:

Քայլ 1: Սարքավորման մաս

Սարքավորման մաս
Սարքավորման մաս

Մեր ճարտարապետությունը բավականին պարզ է:

NeoPixel Ring կապումներն nRF51822 տախտակին միացրեք հետևյալ կերպ.

  • NeoPixel Ring- ի մուտքի տվյալների կապը uC- ի 3 -րդ պորտին:
  • Vcc NeoPixel Ring- ից uC- ի 3.3V
  • NeoPixel Ring- ի GND դեպի uC- ի GND:

Կարող եք նկատել, որ մենք չենք օգտագործում NeoPixel Ring- ի Output Data pin- ը: Դա պայմանավորված է նրանով, որ այս նախագծում օգտագործվող NeoPixel Rings- ի երեք մուտքային տվյալների կապերը բոլորը կապված են nRF51822 տախտակի նույն պորտի հետ (փին 3):

Քայլ 2: Softwareրագրային ապահովման մաս

Softwareրագրային ապահովման մաս
Softwareրագրային ապահովման մաս
Softwareրագրային ապահովման մաս
Softwareրագրային ապահովման մաս
Softwareրագրային ապահովման մաս
Softwareրագրային ապահովման մաս

1. Bluetooth ցածր էներգիայի հաղորդակցություն.

BLE հաղորդակցության մեջ սերվերը (որը մեր դեպքում uC- ն է) և հաճախորդը (սմարթֆոնը) փոխանակում են տվյալները ՝ օգտագործելով GATT գործարքները: Այդ գործարքներում տվյալները հիերարխիկ կերպով կազմակերպվում են ծառայություններ կոչվող բաժիններում, որոնք խմբավորում են օգտագործողի տվյալների կոնցեպտուալորեն համապատասխան հատվածներ, որոնք կոչվում են բնութագրիչներ: Մեր դեպքում տվյալների ծածկապատումը պարզ է, քանի որ մենք ունենք միայն մեկ տեղեկատվություն հաճախորդից սերվերին փոխանցելու համար (տե՛ս վերևի պատկերը):

  • սերվերի կողմից. Որպեսզի կարողանաք օգտագործել nrf51822 տախտակը որպես BLE սերվեր, նախ տեղադրեք «BLEPeripheral.h» գրադարանը Arduino IDE- ում: Այս գրադարանը ապահովում է ծառայությունների և բնութագրերի և գովազդի ստեղծման համար պատրաստ օգտագործման գործառույթներ:
  • հաճախորդի կողմից. Android Studio- ում BLE հաղորդակցություն սկսելու համար նախ կազմաձևեք BLE թույլտվությունները Manifest ֆայլում: Այնուհետև activity_main.xml ֆայլում ավելացրեք 4 կոճակ ՝ սկան, դադարեցրեք սկանավորումը, միացրեք և անջատեք, ինչը թույլ կտա հավելվածին սկանավորել մոտակա BLE սարքերը, դադարեցնել սկանավորումը, միացնել և անջատել սարքին: Main_activity.java ֆայլում իրականացրեք նախորդ կոճակների հետ կապված գործառույթները ՝ startScanning (), stopcanning (), connectToDeviceSelected (), disconnectDeviceSelected ():.

2. Notանուցման կառավարում

  • հաճախորդի կողմից (Android Studio- ում). Սմարթֆոնից եկող ծանուցումները լսելու համար գործարկեք ծանուցման ունկնդիր, որն ակտիվանում է, երբ ծանուցումը հայտնվում է կարգավիճակի բարում: Այս ծանուցման ունկնդիրը «հաղորդագրություն» կուղարկի, որը կոչվում է մտադրություն, հիմնական գործունեությանը, երբ ծանուցումը տեղադրվի կամ հեռացվի: Այս «հաղորդագրությունը» պարունակում է ծանուցման կոդ, որն օգնում է բացահայտել հայտը, որը տեղադրել է ծանուցումը: Հիմնական գործունեության մեջ ծանուցումը մշակելու համար ստեղծեք հեռարձակման ընդունիչ, որը կստանա ծանուցումը լսողից ստացված հաղորդագրությունը: Այնուհետեւ, կախված ծանուցման կոդից, սերվերին ուղարկվում է այլ բնույթ:
  • սերվերի կողմից (Arduino IDE- ում). ցուցադրվում է այն առաջնահերթություն ունեցող ծանուցումը:

Քայլ 3. Քայլ 3. Հավելվածներ

Այստեղ դուք կգտնեք կոդի ամբողջ աղբյուրը:

Խորհուրդ ենք տալիս: