MQTT брокер для Android

Кто-нибудь знает брокера MQTT, который работает на смартфоне Android? Я попробовал Google и ничего не нашел, и в магазине приложений, кажется, есть только одно приложение всего с 10 загрузками, поэтому я не уверен, насколько хорошо оно работает.

4 ответа

Добавьте эти зависимости в Gradle

    dependencies{
   compile 'io.moquette:moquette-netty-parser:0.8.1'
    compile 'io.moquette:moquette-broker:0.8.1'
    compile 'io.moquette:moquette-parser-commons:0.8.1'
}

И использовать

io.moquette.server.Server server = new io.moquette.server.Server();
server.startServer();

запустить брокерский сервер. URI по умолчанию tcp://localhost:1883

Для меня server.startServer(); дал мне исключение, так как он не может создать файл BrokerConstants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME, Итак, я изменил пункт назначения BrokerConstants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAMEиспользуя этот код ниже кода, и он работал для меня.

     try {
         MemoryConfig memoryConfig = new MemoryConfig(new Properties());
memoryConfig.setProperty(BrokerConstants.PERSISTENT_STORE_PROPERTY_NAME, Environment.getExternalStorageDirectory().getAbsolutePath()+ File.separator + BrokerConstants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME);
    server.startServer(memoryConfig); 
        // server.startServer();//is not working due to DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME; 
        Log.d(TAG,"Server Started");
         }
         catch (IOException e) { e.printStackTrace(); }
         catch (Exception e){ e.printStackTrace(); }

И использовать библиотеки Paho для Android

compile 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0'
compile 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1'

Создать клиента и подключиться к tcp://localhost:1883 и подписаться на тему и начать публикацию и получение сообщений.

библиотека moquette для android.

Я разработал приложение специально для этого, пожалуйста, загрузите здесь -

Он имеет встроенный брокер и клиент тоже... бесплатно, подключите свои устройства к телефону Android через точку доступа или Wi-Fi.

https://play.google.com/store/apps/details?id=server.com.mqtt

Вы можете запустить брокер mosquitto mqtt в терминале Termux.

  • Установите Termux, например, с помощью F-Droid
  • Откройте / запустите эмулятор Termux Terminal
  • Установить москит

    pkg install mosquitto

  • Запустить москит в терминале

    mosquitto

Вот и все. Сервер будет прослушивать порт по умолчанию 1883. Конфигурацию см. В mosquitto.

Вот библиотека MQTT-брокера, которую я адаптировал для Android: https://github.com/interaktionsbyran/moquette вам придется создать собственное приложение для Android, это всего лишь библиотека.

Посмотрите на этот вопрос:

Использование Android-планшета в качестве MQTT-сервера

TLDR;

Возможно, взгляните на чистого Java-брокера, такого как HiveMQ.

Другие вопросы по тегам