Satura rādītājs:

Gaišs bambuss (savienotā lampa): 3 soļi
Gaišs bambuss (savienotā lampa): 3 soļi

Video: Gaišs bambuss (savienotā lampa): 3 soļi

Video: Gaišs bambuss (savienotā lampa): 3 soļi
Video: 220 В от автомобильного генератора переменного тока 12 В с солнечной панелью 2024, Novembris
Anonim
Gaišs bambuss (savienotā lampa)
Gaišs bambuss (savienotā lampa)

Labdien un laipni lūdzam!

Gaišais bambuss ir savienota lampa, kas iedegas, kad paziņojums tiek saņemts Android viedtālrunī, kuram tas ir pievienots. Šīs pamācības mērķis ir parādīt jums projekta izstrādes posmu: no aparatūras arhitektūras līdz Bluetooth zemas enerģijas (BLE) savienojumam un Android lietojumprogrammu veidošanai.

Savai lampai mēs izvēlējāmies plastmasas augu foršam dekorēšanas dizainam. Par šo projektu tiek parādīti paziņojumi no šādām lietojumprogrammām: zvani, sms/mms, facebook, kurjers, instagram, whatsapp vai gmail. Katram paziņojuma veidam tiek piešķirta viena gaiša krāsa.

Šim projektam jums būs nepieciešams:

  • UC ar integrētu BLE moduli: nFR51822 RedBearLab
  • 3 NeoPixel gredzens (12 RGB gaismas diodes)
  • Android viedtālrunis
  • Android Studio

Katram paziņojumam ir noteikta prioritāte atkarībā no tā svarīguma. Piemēram, paziņojums par ienākošo zvanu ir svarīgāks par Facebook paziņojumu. Tādā gadījumā gaismas diodes krāsa tiks saistīta ar paziņojumu par ienākošo zvanu.

Viedtālrunis, kurā mēs izstrādājām lietojumprogrammu, ir Samsung Galaxy A5.

1. darbība: aparatūras daļa

Aparatūras daļa
Aparatūras daļa

Mūsu arhitektūra ir diezgan vienkārša.

Pievienojiet NeoPixel gredzena tapas pie nRF51822 plates šādi:

  • NeoPixel Ring gredzena izejas datu tapa līdz uC 3. portam.
  • NeoPixel gredzena Vcc līdz uC 3.3V.
  • NeoPixel Ring GND līdz uC GND.

Jūs varat pamanīt, ka mēs neizmantojam NeoPixel Ring gredzena izejas datu tapu. Tas ir tāpēc, ka triju šajā projektā izmantoto NeoPixel gredzenu ievades datu tapas ir savienotas ar vienu un to pašu portu nRF51822 plates (3. tapa).

2. darbība. Programmatūras daļa

Programmatūras daļa
Programmatūras daļa
Programmatūras daļa
Programmatūras daļa
Programmatūras daļa
Programmatūras daļa

1. Bluetooth zema enerģijas patēriņa komunikācija:

BLE sakaros serveris (kas mūsu gadījumā ir uC) un klients (viedtālrunis) apmainās ar datiem, izmantojot GATT darījumus. Šajos darījumos dati tiek hierarhiski sakārtoti sadaļās, ko sauc par pakalpojumiem, kas grupē konceptuāli saistītus lietotāju datus, ko sauc par raksturlielumiem. Mūsu gadījumā datu iekapsulēšana ir vienkārša, jo mums ir tikai viena informācija, kas jānosūta no klienta uz serveri (skatiet attēlu iepriekš).

  • servera pusē: Lai varētu izmantot nrf51822 dēli kā BLE serveri, vispirms Arduino IDE instalējiet bibliotēku "BLEPeripheral.h". Šī bibliotēka nodrošina lietošanai gatavas funkcijas pakalpojumu un īpašību radīšanai un reklāmai.
  • klienta pusē: Lai sāktu BLE komunikāciju operētājsistēmā Android Studio, vispirms konfigurējiet BLE atļaujas manifesta failā. Pēc tam failā activity_main.xml pievienojiet 4 pogas: skenēt, pārtraukt skenēšanu, izveidot savienojumu un atvienot, kas ļaus lietojumprogrammai meklēt tuvumā esošās BLE ierīces, apturēt skenēšanu, izveidot savienojumu un atvienot ierīci. Failā main_activity.java īstenojiet funkcijas, kas ir saistītas ar iepriekšējām pogām: startScanning (), stopcanning (), connectToDeviceSelected (),connectDeviceSelected (). Visbeidzot, ieviesiet atzvanīšanas funkcijas, kas tiek izsauktas, mainoties klienta stāvoklim.

2. Paziņojumu pārvaldība

  • klienta pusē (operētājsistēmā Android Studio): lai klausītos paziņojumus, kas nāk no viedtālruņa, ieviešiet paziņojumu klausītāju, kas tiek aktivizēts, kad statusa joslā tiek parādīts paziņojums. Šis paziņojumu klausītājs nosūtīs "ziņojumu", ko sauc par nodomu, galvenajai darbībai, kad paziņojums tiks ievietots vai noņemts. Šis "ziņojums" satur paziņojuma kodu, kas palīdz identificēt lietojumprogrammu, kas ievietojusi paziņojumu. Lai apstrādātu paziņojumu pamatdarbībā, izveidojiet apraides uztvērēju, kas saņems ziņojumu no paziņojumu klausītāja. Pēc tam atkarībā no paziņojuma koda serverim tiek nosūtīta cita rakstzīme.
  • servera pusē (Arduino IDE): tiek parādīts paziņojums ar visaugstāko prioritāti.

3. darbība: 3. darbība: pielikumi

Šeit jūs atradīsit visu koda avotu.

Ieteicams: