Espruino:Примеры/Маяки Eddystone
Поддержать проект | Содержание | Резерв | Справочник по API | Модули | Примеры | Резерв | Резерв | Резерв | Резерв | Резерв |
Содержание
Маяки Eddystone[1]
Примечание: Если вы используете маяки iBeacon, то вам нужна эта статья.
Eddystone – это открытый формат маяков от Google для передачи URL-ссылки, появляющейся в виде уведомления на телефоне пользователя.
Телефоны с Android 4.4 (и новее) эту функцию поддерживают, но её, возможно, нужно будет включить. Более подробно читайте тут.
Примечание: В 2018 году Google отключила Eddystone-уведомления из-за того, что с их помощью начали рассылать спам и нерелевантные объявления, так что Eddystone-устройства уже не могут отправлять Android-уведомления.
Всё, что нужно – это воспользоваться модулем «ble_eddystone» (более подробно о модулях читайте тут).
require("ble_eddystone").advertise("goo.gl/B3J0Oc");
С этого момента Espruino начнёт рассылать заданную URL-ссылку всем прослушивающим устройствам в округе. Это полезно, например, если у вашей веб-страницы информативный и содержательный заголовок, так как он будет показан в области уведомления.
Примечание: Вы не можете рассылать данные, когда подключены через BLE, поэтому вам нужно будет отключиться от Puck.js, чтобы начать передачу данных.
Хотя Espruino может отправлять что угодно, сам телефон будет уведомлять вас не обо всех URL:
- Это должна быть HTTPS-ссылка.
- Длина URL-ссылки должна быть меньше или равна 17 символам.
Сократить URL-ссылку можно при помощи сервиса Google URL Shortener. Вы по-прежнему сможете пользоваться символом «#» для передачи данных – например, «https://goo.gl/D8sjLK#42».
Хотя у вас в запасе всего 17 символов, фрагменты «https://», «www.», «.com», «.org», «.edu», «.net», «.info», «.biz» и «.gov» в URL будут автоматически обрезаны. То есть, например, URL «https://www.espruino.com/Puck.js» всё равно подойдёт, даже если кажется слишком длинным.
Чтобы выключить рассылку объявлений, просто вызовите NRF.setAdvertising({});.
Примечание: Во время рассылки Eddystone-объявлений Espruino-устройство не будет рассылать своё название, так что подключиться к нему будет невозможно.
Пример
- Перейдите на сайт Meme Generator.
- Сгенерируйте какое-нибудь изображение и скопируйте его HTTPS-URL-ссылку.
- Перейдите на сокращатель URL-ссылок Bitly.
- Создайте сокращённый URL и скопируйте его в команду require("ble_eddystone").advertise("https://bit.ly/abcdef");
- После выполнения этой команды (и отключения) Espruino начнёт рассылать Eddystone-объявления.
- Вы также можете вызвать NRF.setAdvertising({});, чтобы прекратить рассылку.
Продвинутое использование
Функция require("ble_eddystone").advertise заменяет данные, рассылаемые Espruino (название, сервисы и т.д.), на Eddystone-пакет.
При помощи функции require("ble_eddystone").get (в которой заданы те же настройки, что и в advertise), можно прочесть массив рассылаемых данных. Затем их можно напрямую «скормить» функции NRF.setAdvertising(), позволяющей задать и другие настройки (например, частоту рассылки данных).
Кроме того, в Espruino 1v92 и новее есть возможность задать массив рассылаемых данных, чтобы Espruino могла отсылать пакеты объявлений по очереди.
Данные Eddystone и стандартная информация подключения Espruino:
NRF.setAdvertising([
require("ble_eddystone").get(...),
{} // Это добавит стандартный пакет объявления,
// показывающий название и так далее:
], {interval:100});
Данные Eddystone, iBeacon и информация о заряде батареи:
NRF.setAdvertising([
require("ble_ibeacon").get(...),
require("ble_eddystone").get(...),
{ 0x180F : [95] }
], {interval:100});
Кроме того, вы можете добавить Eddystone-данные к данным, которые Espruino уже рассылает – при помощи функции setScanResponse():
NRF.setScanResponse(require("ble_eddystone").get("goo.gl/B3J0Oc"));
UUID для Eddystone-устройств
URL-ссылки Eddystone – это лишь один способ рассылки Eddystone-объявлений. При помощи модуля «ble_eddystone_uid» вы можете делать это при помощи UUID – просто задайте массивы namespace и instance как объясняется в этой статье:
NRF.setAdvertising([
// Пространство имён:
require("ble_eddystone_uid").get([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
// Экземпляр:
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),
{} // Это добавит стандартный пакет объявления,
// показывающий название и так далее:
], {interval:100});
// или
require("ble_eddystone_uid").advertise(
// Пространство имён:
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
// Экземпляр:
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00]);
См.также
Ссылки на полезные ресурсы
- AliExpress — глобальная виртуальная (в Интернете) торговая площадка, предоставляющая возможность покупать товары производителей из КНР;
- computeruniverse.net - Интернет-магазин компьютеров(Промо код 5 Евро на первую покупку:FWWC3ZKQ);
- DigitalOcean - американский провайдер облачных инфраструктур, с главным офисом в Нью-Йорке и с центрами обработки данных по всему миру;
- Викиум - Онлайн-тренажер для мозга
- Like Центр - Центр поддержки и развития предпринимательства.
- Gamersbay - лучший магазин по бустингу для World of Warcraft.
- Ноотропы OmniMind N°1 - Усиливает мозговую активность. Повышает мотивацию. Улучшает память.
- Санкт-Петербургская школа телевидения - это федеральная сеть образовательных центров, которая имеет филиалы в 37 городах России.
- Lingualeo.com — интерактивный онлайн-сервис для изучения и практики английского языка в увлекательной игровой форме.
- Junyschool (Джунискул) – международная школа программирования и дизайна для детей и подростков от 5 до 17 лет, где ученики осваивают компьютерную грамотность, развивают алгоритмическое и креативное мышление, изучают основы программирования и компьютерной графики, создают собственные проекты: игры, сайты, программы, приложения, анимации, 3D-модели, монтируют видео.
- Умназия - Интерактивные онлайн-курсы и тренажеры для развития мышления детей 6-13 лет
- SkillBox - это один из лидеров российского рынка онлайн-образования. Среди партнеров Skillbox ведущий разработчик сервисного дизайна AIC, медиа-компания Yoola, первое и самое крупное русскоязычное аналитическое агентство Tagline, онлайн-школа дизайна и иллюстрации Bang! Bang! Education, оператор PR-рынка PACO, студия рисования Draw&Go, агентство performance-маркетинга Ingate, scrum-студия Sibirix, имидж-лаборатория Персона.
- «Нетология» — это университет по подготовке и дополнительному обучению специалистов в области интернет-маркетинга, управления проектами и продуктами, дизайна, Data Science и разработки. В рамках Нетологии студенты получают ценные теоретические знания от лучших экспертов Рунета, выполняют практические задания на отработку полученных навыков, общаются с экспертами и единомышленниками. Познакомиться со всеми продуктами подробнее можно на сайте https://netology.ru, линейка курсов и профессий постоянно обновляется.
- StudyBay Brazil – это онлайн биржа для португалоговорящих студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.
- Автор24 — самая большая в России площадка по написанию учебных работ: контрольные и курсовые работы, дипломы, рефераты, решение задач, отчеты по практике, а так же любой другой вид работы. Сервис сотрудничает с более 70 000 авторов. Более 1 000 000 работ уже выполнено.
- StudyBay – это онлайн биржа для англоязычных студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.
Внешние ссылки