Оглавление:
Видео: Light Bamboo (подключенная лампа): 3 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Привет и добро пожаловать!
Light bamboo - это подключенная лампа, которая загорается при получении уведомления на смартфоне Android, к которому он подключен. Цель этого руководства - показать вам этап проектирования проекта: от аппаратной архитектуры до соединения Bluetooth Low Energy (BLE) и создания приложения для Android.
Для нашей лампы мы выбрали пластиковое растение для классного декора. В этом проекте отображаются уведомления из следующих приложений: звонки, смс / ммс, facebook, мессенджер, instagram, WhatsApp и Gmail. Каждому типу уведомлений присваивается один светлый цвет.
Для этого проекта вам понадобятся:
- UC со встроенным модулем BLE: nFR51822 RedBearLab
- 3 кольца NeoPixel (12 светодиодов RGB)
- Смартфон Android
- Android Studio
Каждое уведомление имеет определенный приоритет в зависимости от его важности. Например, уведомление о входящем звонке важнее, чем уведомление Facebook. В этом случае цвет светодиодов будет связан с уведомлением о входящем вызове.
Смартфон, на котором мы разработали приложение, - это Samsung Galaxy A5.
Шаг 1: аппаратная часть
Наша архитектура довольно проста.
Подключите контакты NeoPixel Ring к плате nRF51822 следующим образом:
- Inout Вывод данных кольца NeoPixel Ring на порт 3 микроконтроллера.
- Vcc кольца NeoPixel Ring к 3.3V микроконтроллера.
- GND кольца NeoPixel к заземлению uC.
Вы можете заметить, что мы не используем вывод выходных данных кольца NeoPixel. Это связано с тем, что все контакты входных данных трех колец NeoPixel, которые мы используем в этом проекте, подключены к одному и тому же порту платы nRF51822 (контакт 3).
Шаг 2: программная часть
1. Связь Bluetooth с низким энергопотреблением:
В BLE-коммуникации сервер (в нашем случае это uC) и клиент (смартфон) обмениваются данными с помощью транзакций GATT. В этих транзакциях данные организованы иерархически в разделы, называемые службами, которые группируют концептуально связанные части пользовательских данных, называемые характеристиками. В нашем случае инкапсуляция данных проста, поскольку у нас есть только одна информация, которую нужно передать от клиента к серверу (см. Изображение выше).
- на стороне сервера: чтобы иметь возможность использовать плату nrf51822 в качестве сервера BLE, сначала установите библиотеку «BLEPeripheral.h» в IDE Arduino. Эта библиотека предоставляет готовые функции для создания услуг, характеристик и рекламы.
- на стороне клиента: чтобы начать связь BLE в Android Studio, сначала настройте разрешения BLE в файле манифеста. Затем в файле activity_main.xml добавьте 4 кнопки: сканирование, остановка сканирования, подключение и отключение, которые позволят приложению сканировать ближайшие устройства BLE, останавливать сканирование, подключаться и отключаться от устройства. В файле main_activity.java реализуйте функции, связанные с предыдущими кнопками: startScanning (), stopcanning (), connectToDeviceSelected (), disconnectDeviceSelected (). Наконец, реализуйте функции обратного вызова, которые вызываются при изменении состояния клиента..
2. Управление уведомлениями
- на стороне клиента (в Android Studio): чтобы прослушивать уведомления, поступающие со смартфона, реализуйте прослушиватель уведомлений, который активируется при появлении уведомления в строке состояния. Этот прослушиватель уведомлений отправит «сообщение», называемое намерением, основному действию, когда уведомление будет отправлено или удалено. Это «сообщение» содержит код уведомления, который помогает идентифицировать приложение, отправившее уведомление. Чтобы обработать уведомление в основном действии, создайте широковещательный приемник, который будет получать сообщение от прослушивателя уведомлений. Затем, в зависимости от кода уведомления, на сервер отправляется другой символ.
- на стороне сервера (в Arduino IDE): отображается уведомление с наивысшим приоритетом.
Шаг 3: Шаг 3: Приложения
Здесь вы найдете весь исходный код.
Рекомендуемые:
Подключенная вручную клавиатура USB и Bluetooth на базе Python: 5 шагов
Проводная вручную клавиатура USB и Bluetooth на базе Python: это механическая клавиатура с ручной проводкой. Он поддерживает USB и Bluetooth и запускает Python в микроконтроллере клавиатуры. Вы можете спросить, как это работает. Следуйте инструкциям, чтобы построить его, и вы это узнаете
MOS - IoT: ваша подключенная система Fogponic: 4 шага
MOS - IoT: ваша подключенная система Fogponic: смягчение шока с помощью суперпотока: наш веб-сайт Это руководство является продолжением системы Fogponic. Здесь у вас будет больше возможностей для измерения данных с вашего компьютера теплицы и управления несколькими операциями, такими как вода
Подключенная метеостанция с ESP32: 3 шага
Подключенная метеостанция с ESP32: в этом руководстве вы узнаете, как настроить метеостанцию на основе ESP32 и как удаленно контролировать ее показания через приложение Blynk, а также через веб-сайт
Подключенная кружка: 5 шагов (с изображениями)
Connected Mug: Иногда утром, потягивая кофе перед уходом в офис, я хотел бы увидеть, что меня ждут в моем почтовом ящике. т. е. количество и тон полученных писем … если проект, который я только что закончил накануне, был потрачен
Bluetooth-динамик Reclaimed Bamboo Box: 4 шага (с изображениями)
Восстановленный динамик Bamboo Box Bluetooth: поскольку мне не очень нравится дизайн пластиковых портативных динамиков, я решил попробовать собрать его из деталей, которые есть у меня дома. У меня была бамбуковая коробка, которая подходила для проекта, и с нее я начал работу. Я вполне доволен конечным результатом даже