Мазмуну:

Light Bamboo (Connected Lamp): 3 кадам
Light Bamboo (Connected Lamp): 3 кадам

Video: Light Bamboo (Connected Lamp): 3 кадам

Video: Light Bamboo (Connected Lamp): 3 кадам
Video: The best upgrades for your Bambu Lab 3D printer 2024, Ноябрь
Anonim
Light Bamboo (Connected Lamp)
Light Bamboo (Connected Lamp)

Салам жана кош келиңиз!

Light bamboo - бул туташкан Android смартфону жөнүндө билдирүү келгенде күйүүчү лампа. Бул нускаманын максаты - сизге долбоордун дизайн стадиясын көрсөтүү: аппараттык архитектурадан Bluetooth Low Energy (BLE) туташуусуна жана Android тиркемесине чейин.

Биздин чырак үчүн биз кооз жасалгалоочу дизайн үчүн пластикалык заводду тандап алдык. Бул долбоор үчүн көрсөтүлгөн билдирмелер төмөнкү колдонмолордон: чалуулар, sms/mms, facebook, messenger, instagram, whatsapp ang gmail. Билдирүүнүн ар бир түрүнө бир ачык түс таандык кылынат.

Бул долбоор үчүн сизге керек болот:

  • Интегралдык BLE модулу бар UC: nFR51822 RedBearLab
  • 3 NeoPixel Ring (12 RGB LED)
  • Android смартфону
  • Android Studio

Ар бир билдирүүнүн маанилүүлүгүнө жараша белгилүү бир артыкчылыгы бар. Мисалы, кирүүчү чалуу билдирүүсү Facebook билдирүүсүнө караганда маанилүү. Бул учурда, LED түсү кирүүчү чалуу эскертмесине байланыштуу болот.

Биз тиркеме иштеп чыккан смартфон - бул Samsung Galaxy A5.

1 -кадам: Аппараттык бөлүк

Аппараттык бөлүк
Аппараттык бөлүк

Биздин архитектура абдан жөнөкөй.

NeoPixel Ring казыктарын nRF51822 тактасына төмөнкүдөй туташтырыңыз:

  • NeoPixel Ringдин Inout маалымат пин 3 -портуна UC.
  • NeoPixel шакегинин VCи UC 3.3V чейин.
  • NeoPixel шакегинин GND uCтин GNDсине.

Сиз NeoPixel Ringтин Output Data пинин колдонбогондугубузду байкасаңыз болот. Себеби, биз бул долбоордо колдонгон үч NeoPixel шакектеринин Киргизүү Маалыматтары түйүндөрү nRF51822 тактасынын бир эле портуна туташкан (пин 3).

2 -кадам: Программалык бөлүк

Программалык камсыздоо бөлүгү
Программалык камсыздоо бөлүгү
Программалык камсыздоо бөлүгү
Программалык камсыздоо бөлүгү
Программалык камсыздоо бөлүгү
Программалык камсыздоо бөлүгү

1. Bluetooth Low Energy байланыш:

BLE байланышында сервер (биздин учурда uC) жана кардар (смартфон) GATT операцияларын колдонуу менен маалымат алмашышат. Бул транзакцияларда маалыматтар иерархиялык түрдө кызматтар деп аталган бөлүмдөрдө уюштурулган, алар мүнөздөмөлөр деп аталган колдонуучулардын маалыматтарынын концептуалдык жактан байланышкан бөлүктөрүн топтоштурат. Биздин учурда, маалыматтарды инкапсуляциялоо жөнөкөй, анткени бизде кардардан серверге өтүүчү бир гана маалымат бар (жогорудагы сүрөттү караңыз).

  • сервер тарабында: nrf51822 тактасын BLE сервер катары колдоно алуу үчүн, адегенде "BLEPeripheral.h" китепканасын Arduino IDEге орнотуңуз. Бул китепкана кызматтарды жана мүнөздөмөлөрдү жана жарнакты түзүү үчүн колдонууга даяр функцияларды камсыз кылат.
  • кардар тарабында: Android Studioдо BLE байланышын баштоо үчүн, адегенде Manifest файлында BLE уруксаттарын конфигурациялаңыз. Андан кийин, activity_main.xml файлына 4 баскычты кошуңуз: сканерлөө, сканерлөөнү токтотуу, туташуу жана ажыратуу, бул тиркеме жакынкы BLE түзмөктөрүн издөөгө, сканерлөөнү токтотууга, түзмөккө туташууга жана ажыратууга мүмкүнчүлүк берет. Main_activity.java файлында мурунку баскычтар менен байланышкан функцияларды ишке ашырыңыз: startScanning (), stopscanning (), connectToDeviceSelected (), disconnectDeviceSelected (). Акырында, кардардын абалы өзгөргөндө кайра чакыртылган функцияларды ишке ашырыңыз..

2. Билдирүүлөрдү башкаруу

  • кардар тарабында (Android Studioдо): Смартфондон келген билдирүүлөрдү угуу үчүн, абал тилкесинде эскертүү пайда болгондо активдештирилген эскертме угуучуну ишке ашырыңыз. Бул эскертмени угуучу билдирүү жарыяланганда же өчүрүлгөндө негизги аракетке ниети деп аталган "билдирүү" жөнөтөт. Бул "билдирүүдө" эскертме коду камтылган, бул билдирүүнү жарыялаган тиркемени аныктоого жардам берет. Негизги ишмердүүлүктө эскертмени иштетүү үчүн, кабарды угуучудан кабар ала турган эфир алуучуну түзүңүз. Андан кийин, кабарлоо кодуна жараша, серверге башка мүнөз жөнөтүлөт.
  • сервер тарабында (Arduino IDEде): эң жогорку артыкчылыкка ээ болгон билдирүү көрсөтүлөт.

3 -кадам: 3 -кадам: Тиркемелер

Бул жерде сиз бардык код булагын таба аласыз.

Сунушталууда: