Talaan ng mga Nilalaman:

Banayad na Kawayan (Nakakonektang Lampara): 3 Mga Hakbang
Banayad na Kawayan (Nakakonektang Lampara): 3 Mga Hakbang

Video: Banayad na Kawayan (Nakakonektang Lampara): 3 Mga Hakbang

Video: Banayad na Kawayan (Nakakonektang Lampara): 3 Mga Hakbang
Video: 【Tales Of Dark River】EP01-12 FULL | Chapter of Shocking Change | Ancient Anime | YOUKU ANIMATION 2024, Nobyembre
Anonim
Banayad na Kawayan (Nakakonektang Lampara)
Banayad na Kawayan (Nakakonektang Lampara)

Kumusta at maligayang pagdating!

Ang ilaw na kawayan ay isang nakakonektang lampara na nag-iilaw kapag natanggap ang isang abiso sa Android smartphone kung saan ito nakakonekta. Ang layunin ng itinuturo na ito ay ipakita sa iyo ang yugto ng disenyo ng proyekto: mula sa arkitektura ng hardware, hanggang sa koneksyon ng Bluetooth Low Energy (BLE) at ang pagbuo ng Android application.

Para sa aming ilawan, pumili kami ng isang plastik na halaman para sa isang cool na disenyo ng dekorasyon. Para sa proyektong ito, ang mga notification na ipinapakita ay mula sa mga sumusunod na application: mga tawag, sms / mms, facebook, messenger, instagram, whatsapp ang gmail. Ang isang ilaw na kulay ay maiugnay para sa bawat uri ng notification.

Para sa proyektong ito, kakailanganin mo ang:

  • Isang uC na may isang pinagsamang module ng BLE: nFR51822 RedBearLab
  • 3 NeoPixel Ring (12 RGB LEDs)
  • Isang Android smartphone
  • Android Studio

Ang bawat notification ay may isang tukoy na priyoridad, depende sa kahalagahan nito. Halimbawa, ang isang papasok na notification sa tawag ay mas mahalaga kaysa sa isang abiso sa Facebook. Sa kasong iyon, ang kulay ng mga LED ay maiuugnay sa papasok na abiso sa tawag.

Ang smartphone kung saan binuo namin ang application ay isang Samsung Galaxy A5.

Hakbang 1: Bahagi ng Hardware

Bahagi ng Hardware
Bahagi ng Hardware

Ang aming arkitektura ay medyo simple.

Ikonekta ang mga pin ng NeoPixel Ring sa nRF51822 board bilang sumusunod:

  • Inout Data pin ng NeoPixel Ring sa port 3 ng uC.
  • Vcc ng NeoPixel Ring sa 3.3V ng uC.
  • GND ng NeoPixel Ring sa GND ng uC.

Maaari mong mapansin na hindi namin ginagamit ang Output Data pin ng NeoPixel Ring. Iyon ay dahil ang mga Input Data pin ng tatlong NeoPixel Rings na ginagamit namin sa proyektong ito ay nakakonekta sa parehong port ng nRF51822 board (pin 3).

Hakbang 2: Bahagi ng Software

Bahagi ng Software
Bahagi ng Software
Bahagi ng Software
Bahagi ng Software
Bahagi ng Software
Bahagi ng Software

1. Ang komunikasyon sa Bluetooth na Mababang Enerhiya:

Sa isang komunikasyon na BLE, ang server (na nasa aming kaso ang uC) at ang client (ang smartphone) ay nagpapalitan ng data gamit ang mga transaksyon sa GATT. Sa mga transaksyong iyon, ang data ay naayos nang hierarchically sa mga seksyon na tinatawag na mga serbisyo, kung aling pangkat ang may kaugnayan sa konsepto na mga piraso ng data ng gumagamit na tinatawag na mga katangian. Sa aming kaso, ang encapsulation ng data ay simple dahil mayroon lamang kaming isang impormasyon na maipapasa mula sa client sa server (tingnan ang imahe sa itaas).

  • sa gilid ng server: Upang magamit ang board ng nrf51822 bilang isang server na BLE, i-install muna ang "BLEPeripheral.h" library sa Arduino IDE. Nagbibigay ang library na ito ng mga handa nang gamitin na function para sa paglikha ng mga serbisyo at katangian at advertising.
  • sa panig ng kliyente: Upang magsimula ng isang komunikasyon sa BLE sa Android Studio, i-configure muna ang mga pahintulot na BLE sa Manifest file. Pagkatapos, sa file na aktibidad_main.xml, magdagdag ng 4 na mga pindutan: i-scan, ihinto ang pag-scan, kumonekta at idiskonekta na magpapahintulot sa application na mag-scan para sa kalapit na mga aparato ng BLE, ihinto ang pag-scan, kumonekta at idiskonekta sa isang aparato. Sa main_activity.java file, ipatupad ang mga pagpapaandar na nauugnay sa nakaraang mga pindutan: startScanning (), stopcanning (), connectToDeviceSelected (), disconnectDeviceSelected (). Panghuli, ipatupad ang mga function ng callback na tatawag kapag nagbago ang estado ng client.

2. Pamamahala ng abiso

  • sa panig ng kliyente (sa Android Studio): Upang makinig para sa mga abiso na nagmumula sa smartphone, magpatupad ng isang nakikinig sa notification na naaktibo kapag nangyari ang isang notification sa status bar. Ang tagapakinig ng abiso na ito ay magpapadala ng isang "mensahe", na tinatawag na isang hangarin, sa pangunahing aktibidad kapag ang isang abiso ay nai-post o tinanggal. Naglalaman ang "mensahe" na ito ng isang code ng abiso na makakatulong na makilala ang application na nag-post ng abiso. Upang maproseso ang abiso sa pangunahing aktibidad, lumikha ng isang broadcast receiver na tatanggap ng mensahe mula sa nakikinig sa notification. Pagkatapos, depende sa code ng abiso, isang iba't ibang mga character ang ipinadala sa server.
  • sa panig ng server (sa Arduino IDE): ang notification na may pinakamataas na priyoridad ay ipinapakita.

Hakbang 3: Hakbang 3: Mga Annexes

Dito, mahahanap mo ang lahat ng mapagkukunan ng code.

Inirerekumendang: