Основные шаги по использованию MQTT в Android

Я новичок в Android и хочу использовать MQTT в качестве push-уведомления для Android с сервера.
Я читал о MQTT, но плохо понимаю. если кто-то использовал эту библиотеку, пожалуйста, скажите мне, что мне нужно сделать, чтобы начать ее использовать.

у меня есть сервер Java (работает в Windows) и множество клиентов (телефоны Android, на которых будет установлено мое приложение). Мой сервер будет отправлять сообщения всем или некоторым конкретным клиентам в любое время.

каковы мои основные требования? я имею в виду, есть ли

  1. требования к серверу?
  2. какая-то регистрация?
  3. Библиотека для включения в Android?
  4. идентификатор устройства Android? (поскольку C2DM требует учетную запись Google для каждого устройства)

пожалуйста, помогите мне в этом отношении


person Johni Deep    schedule 05.03.2012    source источник


Ответы (3)


Тебе нужно:

  1. брокер MQTT, который работает на стороне сервера. Это может быть что-то вроде брокера mosquitto с открытым исходным кодом.
  2. клиентская библиотека MQTT, которую вы включаете в свое приложение для Android, позволяя вашему приложению подключаться, подписываться и публиковать сообщения. Несколько вариантов Java перечислены на странице http://mqtt.org/software.
  3. чтобы придумать способ уникальной идентификации пользователей или устройств, а затем использовать это как тему, чтобы вы могли индивидуально публиковать сообщения на одном устройстве.

Дейл Лейн написал хорошее руководство по этому вопросу (http://www.dalelane.co.uk/blog/?p=1599), а также хороший набор ресурсов о MQTT (https://github.com/mqtt/mqtt.github.io/wiki)

person Andy Piper    schedule 05.03.2012
comment
Старая ссылка Дейла Лейна не работает. Вот новый dalelane.co.uk/blog/?p=1599. - person nanospeck; 04.10.2014
comment
Если кто-то ищет порт примера приложения для Android Studio, я сделал его здесь: github.com/ bytehala/android-mqtt-quickstart - person lemuel; 30.03.2016
comment
@lemuel Я добрался сюда, потому что я нахожу, как написать приложение для Android для MQTT. Хотя блог Дейла Лейна объяснил это, но в его примере использовалась более старая библиотека IBM MQTT, и многие части кода в приложении устарели. Что мне действительно помогает, так это ваш образец приложения. Это действительно приятно! Спасибо. - person eepty; 11.01.2017
comment
@eepty Вау! Спасибо, что дали мне знать. Похоже, что IoT/MQTT набирает обороты, судя по количеству людей, которые в последнее время получили доступ к моему репозиторию. - person lemuel; 12.01.2017

Основные шаги

  1. Установите сервер WAMP с PHP (версия должна быть выше 5.1.0)
  2. Когда сервер WAMP установлен, запустите сервер WAMP (чтобы он мог получить конфигурацию по умолчанию).
  3. Откройте командную строку и измените каталог на PHP {версия},

Для примера Cd C:\wamp\bin\php\php5.3.0

[1] Установить PEAR

  • Теперь нам нужно установить PHP PEAR (т.е. не установленный по умолчанию), выполнив приведенную ниже команду.

    php -d phar.require_hash=0 ./PEAR/go-pear.phar

    OR

    php -d phar.require_hash=0 go-pear.phar

  • Теперь проверьте каталог PEAR под C:\wamp\bin\php\php5.3.0\PEAR (установлен или нет).

  • Теперь в каталоге C:\wamp\bin\php\php5.3.0 создается PEAR_ENV.reg (файл реестра), поэтому дважды щелкните его, чтобы изменить файл PHP.ini в среде PEAR.

  • Теперь, когда груша установлена, мы должны выполнить следующие команды (необязательно).

    груша апгрейд

    груша установить каналы обновления

    Итак, настройка PEAR завершена.

[2] Установите SAM (простой асинхронный обмен сообщениями)

  • Чтобы установить SAM, нам нужно выполнить следующую команду

    Перейти к C:\wamp\bin\php\php5.3.0

    Установка Pecl –B SAM

[3] Выберите и запустите Mosquitto или RSBM

  • Really Small Message Broker (RSMB) — это простой брокер MQTT, также предоставляемый IBM http://www.alphaworks.ibm.com/tech/rsmb. По умолчанию он работает на порту 1883. В нашей архитектуре он принимает сообщения с сервера и передает их нужным устройствам. RSMB также можно заменить сервером Mosquitto http://mosquitto.atchoo.org/.
  • пойдем с RSMB.
  • Скачайте и перейдите в папку Windows в rsmb (ваша версия)
  • Запустите Broker.exe.

ТЕПЕРЬ ВАШ СЕРВЕР НАСТРОЕН. ВЫ МОЖЕТЕ ИСПОЛЬЗОВАТЬ ЭТО ДЛЯ PUSH-УВЕДОМЛЕНИЙ.

person Mehul    schedule 16.04.2012

Если вы хотите использовать MQTT для отправки push-уведомлений на устройстве Android, эта демонстрация подойдет вам лучше всего.

Используя этот пример, вы можете отправить push-уведомление на ваше устройство Android.

    https://github.com/tokudu/AndroidPushNotificationsDemo

Если вы хотите создать свой собственный Push-сервис, такой как LEADBOLT, AIRPUSH и т. д., вам необходимо выполнить следующие действия.

[1] Настройте свой собственный сервер для отправки push-уведомлений (например, tokudu работает в PHP, WAMP). Для настройки SERVER.. [A] Установите PEAR [B] Установите SAM [C] Настройте SAM

[2] Вам понадобится mosquitto или RSMB IMB для выбора целевого устройства Android. [3] Вам нужен код Android для получения уведомления, отправки сигналов поддержки на сервер, создания соединения с сервером и т. д. (Что можно найти в примере TOKUDU).

Если у вас есть какие-либо проблемы, скажите мне, я обязательно вам помогу.

person Mehul    schedule 31.03.2012
comment
Спасибо. не могли бы вы помочь мне в настройке и настройке брокера сообщений, SAM на сервере apache? - person Viswa; 14.04.2012
comment
ПРЕДУПРЕЖДЕНИЕ. В этом проекте используется предыдущая версия MQTT, которая отлично работает, но не предлагает такой возможности для аутентификации (имя пользователя/пароль). - person Paulo Henrique Nonaka; 30.07.2015