Turinys:

Šviesus bambukas (prijungta lempa): 3 žingsniai
Šviesus bambukas (prijungta lempa): 3 žingsniai

Video: Šviesus bambukas (prijungta lempa): 3 žingsniai

Video: Šviesus bambukas (prijungta lempa): 3 žingsniai
Video: Part 5 - Lord Jim Audiobook by Joseph Conrad (Chs 27-36) 2024, Lapkritis
Anonim
Šviesus bambukas (prijungta lempa)
Šviesus bambukas (prijungta lempa)

Labas ir sveiki atvykę!

Šviesus bambukas yra prijungta lempa, kuri užsidega, kai „Android“išmaniajame telefone, prie kurio jis prijungtas, gaunamas pranešimas. Šios instrukcijos tikslas yra parodyti jums projekto projektavimo etapą: nuo aparatinės įrangos architektūros iki „Bluetooth Low Energy“(BLE) ryšio ir „Android“programos kūrimo.

Savo žibintui pasirinkome plastikinį augalą, kad būtų puikus dekoravimas. Šio projekto pranešimai rodomi iš šių programų: skambučiai, SMS/mms, „Facebook“, „Messenger“, „Instagram“, „WhatsApp“arba „Gmail“. Kiekvienam pranešimo tipui priskiriama viena šviesi spalva.

Šiam projektui jums reikės:

  • UC su integruotu BLE moduliu: nFR51822 RedBearLab
  • 3 „NeoPixel“žiedas (12 RGB šviesos diodų)
  • „Android“išmanusis telefonas
  • „Android“studija

Kiekvienas pranešimas turi savo prioritetą, atsižvelgiant į jo svarbą. Pavyzdžiui, pranešimas apie gaunamą skambutį yra svarbesnis už „Facebook“pranešimą. Tokiu atveju šviesos diodų spalva bus susieta su įeinančio skambučio pranešimu.

Išmanusis telefonas, kuriame sukūrėme programą, yra „Samsung Galaxy A5“.

1 žingsnis: aparatinės įrangos dalis

Techninės įrangos dalis
Techninės įrangos dalis

Mūsų architektūra yra gana paprasta.

Prijunkite „NeoPixel Ring“kaiščius prie „nRF51822“plokštės taip:

  • „NeoPixel Ring“įvesties duomenų kaištis prie uC 3 prievado.
  • Vcc nuo „NeoPixel Ring“iki 3,3 V.
  • „NeoPixel Ring“GND į uC GND.

Galite pastebėti, kad nenaudojame „NeoPixel Ring“išvesties duomenų kaiščio. Taip yra todėl, kad trijų šiame projekte naudojamų „NeoPixel“žiedų įvesties duomenų kaiščiai yra prijungti prie to paties nRF51822 plokštės prievado (3 kaištis).

2 žingsnis: programinės įrangos dalis

Programinės įrangos dalis
Programinės įrangos dalis
Programinės įrangos dalis
Programinės įrangos dalis
Programinės įrangos dalis
Programinės įrangos dalis

1. „Bluetooth“mažai energijos naudojantis ryšys:

BLE ryšio metu serveris (mūsų atveju tai yra uC) ir klientas (išmanusis telefonas) keičiasi duomenimis naudodami GATT operacijas. Tose operacijose duomenys yra hierarchiškai suskirstyti į skyrius, vadinamus paslaugomis, kurie grupuoja konceptualiai susijusius vartotojo duomenų elementus, vadinamus charakteristikomis. Mūsų atveju duomenų įvedimas yra paprastas, nes turime tik vieną informaciją, kurią galime perduoti iš kliento į serverį (žr. Paveikslėlį aukščiau).

  • serverio pusėje: Kad galėtumėte naudoti nrf51822 plokštę kaip BLE serverį, pirmiausia įdiekite „BLEPeripheral.h“biblioteką „Arduino IDE“. Šioje bibliotekoje yra paruoštų naudoti funkcijų, skirtų paslaugoms ir charakteristikoms kurti bei reklamai kurti.
  • kliento pusėje: Norėdami pradėti BLE ryšį „Android Studio“, pirmiausia sukonfigūruokite BLE leidimus manifesto faile. Tada faile activity_main.xml pridėkite 4 mygtukus: nuskaityti, sustabdyti nuskaitymą, prijungti ir atjungti, kad programa galėtų nuskaityti netoliese esančius BLE įrenginius, sustabdyti nuskaitymą, prijungti ir atjungti įrenginį. Faile main_activity.java įdiekite funkcijas, susietas su ankstesniais mygtukais: startScanning (), stopcanning (), connectToDeviceSelected (),connectDeviceSelected (). Galiausiai įgyvendinkite atgalinio ryšio funkcijas, kurios iškviečiamos pasikeitus kliento būsenai..

2. Pranešimų valdymas

  • kliento pusėje („Android Studio“): jei norite klausytis pranešimų, gaunamų iš išmaniojo telefono, įdiekite pranešimų klausytoją, kuris įjungiamas, kai būsenos juostoje atsiranda pranešimas. Šis pranešimų klausytojas išsiųs „pranešimą“, vadinamą ketinimu, pagrindinei veiklai, kai pranešimas bus paskelbtas arba pašalintas. Šiame „pranešime“yra pranešimo kodas, padedantis atpažinti pranešimą paskelbusią programą. Norėdami apdoroti pranešimą pagrindinėje veikloje, sukurkite transliacijos imtuvą, kuris gaus pranešimą iš pranešimų klausytojo. Tada, priklausomai nuo pranešimo kodo, į serverį siunčiamas kitoks simbolis.
  • serverio pusėje („Arduino IDE“): rodomas aukščiausio prioriteto pranešimas.

3 žingsnis: 3 žingsnis: priedai

Čia rasite visą kodo šaltinį.

Rekomenduojamas: