BLE デバイスに接続し、MQTT 経由で MQTT ブローカーにメッセージを転送する小さな IoT プロキシを作成したいと考えています。存在する唯一の Android MQTT サービスは Eclipse Paho のようです。これを試していますが、メッセージが受信されません。代わりに例外がスローされます....
MqttAndroidClient client = new MqttAndroidClient(getApplicationContext(),"tcp://xx.xx.xx.xx:1883", "androidClient");
try {
client.connect();
client.publish("box/1", new MqttMessage("blubb".getBytes()));
} catch (MqttException e) {
e.printStackTrace();
}
エラーは次のとおりです。
03-18 16:35:03.135 28618-28618/com.hybris.labs.moto E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.hybris.labs.moto, PID: 28618
java.lang.NullPointerException: Attempt to invoke virtual method 'org.eclipse.paho.client.mqttv3.IMqttDeliveryToken org.eclipse.paho.android.service.MqttService.publish(java.lang.String, java.lang.String, org.eclipse.paho.client.mqttv3.MqttMessage, java.lang.String, java.lang.String)' on a null object reference
at org.eclipse.paho.android.service.MqttAndroidClient.publish(MqttAndroidClient.java:812)
at org.eclipse.paho.android.service.MqttAndroidClient.publish(MqttAndroidClient.java:668)
at org.eclipse.paho.android.service.MainActivity$1.onServiceConnected(MainActivity.java:169)
at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1203)
at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1220)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
何か案が?