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
и подписаться на тему и начать публикацию и получение сообщений.
Я разработал приложение специально для этого, пожалуйста, загрузите здесь -
Он имеет встроенный брокер и клиент тоже... бесплатно, подключите свои устройства к телефону 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.