MQTT broker for Android

后端 未结 5 1759
灰色年华
灰色年华 2020-12-15 00:11

Does anyone know of an MQTT broker that runs on an Android smartphone? I tried to Google and found nothing, and on the app store there seems to be only one app with just 10

相关标签:
5条回答
  • 2020-12-15 00:18

    Add these dependencies to the 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'
    }
    

    And use

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

    to start broker server. the default URI is tcp://localhost:1883

    For me server.startServer(); gave me exception as it is unable to create a file BrokerConstants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME. So, I changed the destination of the BrokerConstants.DEFAULT_MOQUETTE_STORE_MAP_DB_FILENAME using this code below code and it worked for me.

         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(); }
    

    And Use Paho libraries for 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'
    

    To create a client and connect to tcp://localhost:1883 and subscribe for a topic and start publishing and receiving messages.

    moquette library for android.

    0 讨论(0)
  • 2020-12-15 00:19

    Have a look at this question:

    Using Android-Tablet as an MQTT-Server

    TLDR;

    Possible, have a look for a pure Java broker like HiveMQ.

    0 讨论(0)
  • 2020-12-15 00:21

    Here is an MQTT broker library I have adapted to Android: https://github.com/interaktionsbyran/moquette You'll have to make your own Android app though, it is just a library.

    0 讨论(0)
  • 2020-12-15 00:31

    You can run the mosquitto mqtt broker within the Termux terminal.

    • Install Termux using e.g. F-Droid
    • Open/run the Termux Terminal emulator
    • Install mosquitto

      pkg install mosquitto

    • Start mosquitto within the terminal

      mosquitto

    That's it. The server will listen on the default port 1883. Configuration see at mosquitto.

    0 讨论(0)
  • 2020-12-15 00:37

    I have developed an App specifically for this , please download here -

    It has inbuilt broker and client too..all for free , connect your devices to android phone via hotspot or wifi.

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

    0 讨论(0)
提交回复
热议问题