當前位置: 首頁>>代碼示例>>Java>>正文


Java MqttMessage.getPayload方法代碼示例

本文整理匯總了Java中org.eclipse.paho.client.mqttv3.MqttMessage.getPayload方法的典型用法代碼示例。如果您正苦於以下問題:Java MqttMessage.getPayload方法的具體用法?Java MqttMessage.getPayload怎麽用?Java MqttMessage.getPayload使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.eclipse.paho.client.mqttv3.MqttMessage的用法示例。


在下文中一共展示了MqttMessage.getPayload方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: messageArrived

import org.eclipse.paho.client.mqttv3.MqttMessage; //導入方法依賴的package包/類
@Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
  String payload = new String(message.getPayload());
  System.out.println("Red'c command:  " + payload);
  JsonObject jsonObject = parser.parse(payload).getAsJsonObject();
  String cmd = extractCommandData(jsonObject, CMD_KEY);
  switch (cmd) {
    case "ping":
      sendResponse(pingResponse(jsonObject));
      break;
    case "randnum":
      sendResponse(randResponse(jsonObject));
      break;
    default:
      sendResponse(payload);
  }
  msgRecd = true;
}
 
開發者ID:edgexfoundry,項目名稱:device-mqtt,代碼行數:19,代碼來源:TestMqttDeviceCommandRec.java

示例2: convert

import org.eclipse.paho.client.mqttv3.MqttMessage; //導入方法依賴的package包/類
@Override
public List<DeviceData> convert(String topic, MqttMessage msg) throws Exception {
    String data = new String(msg.getPayload(), StandardCharsets.UTF_8);
    log.trace("Parsing json message: {}", data);

    if (!filterExpression.isEmpty()) {
        try {
            log.debug("Data before filtering {}", data);
            DocumentContext document = JsonPath.parse(data);
            document = JsonPath.parse((Object) document.read(filterExpression));
            data = document.jsonString();
            log.debug("Data after filtering {}", data);
        } catch (RuntimeException e) {
            log.debug("Failed to apply filter expression: {}", filterExpression);
            throw new RuntimeException("Failed to apply filter expression " + filterExpression);
        }
    }

    JsonNode node = mapper.readTree(data);
    List<String> srcList;
    if (node.isArray()) {
        srcList = new ArrayList<>(node.size());
        for (int i = 0; i < node.size(); i++) {
            srcList.add(mapper.writeValueAsString(node.get(i)));
        }
    } else {
        srcList = Collections.singletonList(data);
    }

    return parse(topic, srcList);
}
 
開發者ID:osswangxining,項目名稱:iot-edge-greengrass,代碼行數:32,代碼來源:MqttJsonConverter.java

示例3: convert

import org.eclipse.paho.client.mqttv3.MqttMessage; //導入方法依賴的package包/類
public AttributeRequest convert(String topic, MqttMessage msg) {
    deviceNameTopicPattern = checkAndCompile(deviceNameTopicPattern, deviceNameTopicExpression);
    attributeKeyTopicPattern = checkAndCompile(attributeKeyTopicPattern, attributeKeyTopicExpression);
    requestIdTopicPattern = checkAndCompile(requestIdTopicPattern, requestIdTopicExpression);

    String data = new String(msg.getPayload(), StandardCharsets.UTF_8);
    DocumentContext document = JsonPath.parse(data);

    AttributeRequest.AttributeRequestBuilder builder = AttributeRequest.builder();
    builder.deviceName(eval(topic, deviceNameTopicPattern, document, deviceNameJsonExpression));
    builder.attributeKey(eval(topic, attributeKeyTopicPattern, document, attributeKeyJsonExpression));
    builder.requestId(Integer.parseInt(eval(topic, requestIdTopicPattern, document, requestIdJsonExpression)));

    builder.clientScope(this.isClientScope());
    builder.topicExpression(this.getResponseTopicExpression());
    builder.valueExpression(this.getValueExpression());
    return builder.build();
}
 
開發者ID:thingsboard,項目名稱:thingsboard-gateway,代碼行數:19,代碼來源:AttributeRequestsMapping.java

示例4: convert

import org.eclipse.paho.client.mqttv3.MqttMessage; //導入方法依賴的package包/類
public AttributeRequest convert(String topic, MqttMessage msg) {
  deviceNameTopicPattern = checkAndCompile(deviceNameTopicPattern, deviceNameTopicExpression);
  attributeKeyTopicPattern = checkAndCompile(attributeKeyTopicPattern, attributeKeyTopicExpression);
  requestIdTopicPattern = checkAndCompile(requestIdTopicPattern, requestIdTopicExpression);

  String data = new String(msg.getPayload(), StandardCharsets.UTF_8);
  DocumentContext document = JsonPath.parse(data);

  AttributeRequest.AttributeRequestBuilder builder = AttributeRequest.builder();
  builder.deviceName(eval(topic, deviceNameTopicPattern, document, deviceNameJsonExpression));
  builder.attributeKey(eval(topic, attributeKeyTopicPattern, document, attributeKeyJsonExpression));
  builder.requestId(Integer.parseInt(eval(topic, requestIdTopicPattern, document, requestIdJsonExpression)));

  builder.clientScope(this.isClientScope());
  builder.topicExpression(this.getResponseTopicExpression());
  builder.valueExpression(this.getValueExpression());
  return builder.build();
}
 
開發者ID:osswangxining,項目名稱:iotgateway,代碼行數:19,代碼來源:AttributeRequestsMapping.java

示例5: messageArrived

import org.eclipse.paho.client.mqttv3.MqttMessage; //導入方法依賴的package包/類
@Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
    String body = new String(message.getPayload());
    log.info("Topic: {}, Message: {}", topic, body);

    try {
        String eventName = topic.substring(topic.lastIndexOf('/') + 1);
        Class<?> cls = epService.getEPAdministrator()
            .getConfiguration()
            .getEventType(eventName)
            .getUnderlyingType();

        Object event = mapper.readValue(body, cls);
        epService.getEPRuntime().sendEvent(event);

    } catch (Exception e) {
        log.error("Can not resolve Mqtt message", e);
    }

}
 
開發者ID:aksakalli,項目名稱:EsperIoT,代碼行數:21,代碼來源:EventListener.java

示例6: messageArrived

import org.eclipse.paho.client.mqttv3.MqttMessage; //導入方法依賴的package包/類
@Override
public void messageArrived(String s, MqttMessage mqttMessage) throws BadPayloadException {
    String payload = new String(mqttMessage.getPayload());
    try {
        JSONObject obj = new JSONObject(payload);
        String id = null;
        if (obj.has("id")) id = obj.getString("id");
        else
            throw new BadPayloadException("Missing id"); //Extract node id from the JSON message (/!\ Id = id registered in the targeted nodes' index)

        long time = -1;
        if (obj.has("time")) time = obj.getLong("time");
        else throw new BadPayloadException("Missing id"); //Extract time from the JSON message

        if (obj.has("values")) {
            JSONObject values = obj.getJSONObject("values");
            long finalTime = time;
            String finalId = id;
            values.keySet().forEach(attributeName -> { // For each attribute stored in the JSON message, update the node's attributes
                JSONObject attribute = values.getJSONObject(attributeName);
                newTask().travelInTime(Long.toString(finalTime))
                        .readIndex(lookupIndex, finalId)
                        .then(CoreActions.forceAttribute(attributeName, Type.typeFromName(attribute.getString("type")), attribute.getString("value")))
                        .execute(super.getGraph(), null);
            });
            super.getGraph().save(null);
        } else throw new BadPayloadException("Missing values");
    } catch (JSONException jsonException) {
        jsonException.printStackTrace();
    }
}
 
開發者ID:datathings,項目名稱:greycat,代碼行數:32,代碼來源:DefaultMessageHandler.java

示例7: messageArrived

import org.eclipse.paho.client.mqttv3.MqttMessage; //導入方法依賴的package包/類
@Override
public void messageArrived(String s, MqttMessage mqttMessage) throws Exception {
    String content = new String(mqttMessage.getPayload());
    String[] elements = content.split(";");

    if (elements.length != 3)
        throw new RuntimeException("Unparsable message received: " + content);


    String id = null;
    long time = -1L;
    double value = 0;

    try {
        id = elements[0];
        value = Double.parseDouble(elements[1]);
        time = Long.parseLong(elements[2]);
    } catch (NumberFormatException e) {
        throw new RuntimeException("Unparsable message received: " + content);
    }

    newTask().travelInTime(Long.toString(time))
            .readIndex(lookupIndex, id)
            .then(CoreActions.forceAttribute("value", Type.typeFromName("DOUBLE"), Double.toString(value)))
            .execute(super.getGraph(), null);


    super.getGraph().save(null);


}
 
開發者ID:datathings,項目名稱:greycat,代碼行數:32,代碼來源:CustomHandler.java

示例8: EmqMessage

import org.eclipse.paho.client.mqttv3.MqttMessage; //導入方法依賴的package包/類
public EmqMessage(String topic, MqttMessage mqttMessage) {
    this.topic = topic;
    this.mqttMessage = mqttMessage;
    this.updateTime = StringUtil.formatNow();

    if (mqttMessage != null) {
        this.dup = mqttMessage.isDuplicate();
        this.payload = new String(mqttMessage.getPayload());
        this.qos = mqttMessage.getQos();
        this.messageId = mqttMessage.getId();
        this.retained = mqttMessage.isRetained();
    }


}
 
開發者ID:emqtt,項目名稱:EMQ-Android-Toolkit,代碼行數:16,代碼來源:EmqMessage.java

示例9: processMqttMessage

import org.eclipse.paho.client.mqttv3.MqttMessage; //導入方法依賴的package包/類
@Override
public boolean processMqttMessage(String mqttTopic, String mqttTopicSubscribe, MqttMessage mqttMessage) throws Exception {

  serialMessage = "";

  /*
   *  Get rid of subscribed topic prefix
   */

  // Handle possible topic wildcards
  String mqttTopicPrefix = mqttTopicSubscribe.replaceAll("/#", "");
  mqttTopicPrefix = mqttTopicPrefix.replaceAll("/+", "");

  mqttTopic = mqttTopic.substring(mqttTopicPrefix.length());
  if (mqttTopic.startsWith("/")) {
    mqttTopic = mqttTopic.substring(1);
  }
  mqttTopic = mqttTopic.replaceAll("/", ";");

  serialMessage = mqttTopic;
  // Append payload if there is any
  if (mqttMessage.getPayload().length > 0) {
    serialMessage += ";" + new String(mqttMessage.getPayload());
  }

  return true;
}
 
開發者ID:DerTomm,項目名稱:SerialMqttBridge,代碼行數:28,代碼來源:MySensorsMqttSerialAdapter.java

示例10: MqttData

import org.eclipse.paho.client.mqttv3.MqttMessage; //導入方法依賴的package包/類
public MqttData ( final MqttMessage msg )
{
    super ( msg.getPayload (), null );
    this.message = msg;
}
 
開發者ID:eclipse,項目名稱:neoscada,代碼行數:6,代碼來源:MqttData.java

示例11: messageArrived

import org.eclipse.paho.client.mqttv3.MqttMessage; //導入方法依賴的package包/類
@Override
	public void messageArrived(String topic, MqttMessage message) throws Exception {
		// A message has arrived from the MQTT broker
		// The MQTT broker doesn't send back 
		// an acknowledgment to the server until 
		// this method returns cleanly
		if (!topic.equals("commands/leds/led01")) {
			return;
		}
		String messageText = 
			new String(message.getPayload(), "UTF-8");
		System.out.println(
			String.format("%s received %s: %s",
				"led01",
				topic,
				messageText));
//		String[] keyValue = 
//			messageText.split(COMMAND_SEPARATOR);
//		if (keyValue.length != 3) {
//			return;
//		}
//		if (keyValue[0].equals(COMMAND_KEY) &&
//			keyValue[1].equals(
//				GET_ALTITUDE_COMMAND_KEY) &&
//			keyValue[2].equals(name)) {
//			// Process the get altitude command
//			int altitudeInFeet = ThreadLocalRandom
//				.current().nextInt(1, 6001);
//			System.out.println(
//			  String.format("%s altitude: %d feet",
//				name,
//				altitudeInFeet));
//		}
	}
 
開發者ID:PacktPublishing,項目名稱:MQTT-Essentials-A-Lightweight-IoT-Protocol,代碼行數:35,代碼來源:SubscriberCallback.java

示例12: messageArrived

import org.eclipse.paho.client.mqttv3.MqttMessage; //導入方法依賴的package包/類
@Override
public void messageArrived(String topic, MqttMessage msg) throws Exception {
  try {
    if (!StringUtils.isEmpty(mapping.getDeviceNameTopicExpression())) {
      deviceNameConsumer.accept(eval(topic));
    } else {
      String data = new String(msg.getPayload(), StandardCharsets.UTF_8);
      DocumentContext document = JsonPath.parse(data);
      deviceNameConsumer.accept(eval(document, mapping.getDeviceNameJsonExpression()));
    }
  } catch (Exception e) {
    log.error("Failed to convert msg", e);
  }
}
 
開發者ID:osswangxining,項目名稱:iotgateway,代碼行數:15,代碼來源:MqttDeviceStateChangeMessageListener.java

示例13: convert

import org.eclipse.paho.client.mqttv3.MqttMessage; //導入方法依賴的package包/類
@Override
public List<DeviceData> convert(String topic, MqttMessage msg) throws Exception {
  String data = new String(msg.getPayload(), StandardCharsets.UTF_8);
  log.trace("Parsing json message: {}", data);

  if (!filterExpression.isEmpty()) {
    try {
      log.debug("Data before filtering {}", data);
      DocumentContext document = JsonPath.parse(data);
      document = JsonPath.parse((Object) document.read(filterExpression));
      data = document.jsonString();
      log.debug("Data after filtering {}", data);
    } catch (RuntimeException e) {
      log.debug("Failed to apply filter expression: {}", filterExpression);
      throw new RuntimeException("Failed to apply filter expression " + filterExpression);
    }
  }

  JsonNode node = mapper.readTree(data);
  List<String> srcList;
  if (node.isArray()) {
    srcList = new ArrayList<>(node.size());
    for (int i = 0; i < node.size(); i++) {
      srcList.add(mapper.writeValueAsString(node.get(i)));
    }
  } else {
    srcList = Collections.singletonList(data);
  }

  return parse(topic, srcList);
}
 
開發者ID:osswangxining,項目名稱:iotgateway,代碼行數:32,代碼來源:MqttJsonConverter.java

示例14: processMessage

import org.eclipse.paho.client.mqttv3.MqttMessage; //導入方法依賴的package包/類
/*********************************************************************************************************************************************************************
 *
 */
public void processMessage(String topic, MqttMessage message) {

  if (!serialMqttBridge.isInitialized()) {
    return;
  }

  /*
   * If defined: Log message content
   */
  if (serialMqttBridge.getConfigHandler().logMqttInbound()) {
    logger.info("MQTT/IN: " + topic + " | " + new String(message.getPayload()));
  }

  String serialMessage = "";

  /*
   * If defined: Do serial message preprocessing before asking SerialHandler to send message
   */
  SerialSendPreprocessingPlugin serialSendPreprocessor = serialMqttBridge.getSerialSendPreprocessor();
  if (serialSendPreprocessor != null) {

    try {

      serialSendPreprocessor.processMqttMessage(topic, serialMqttBridge.getConfigHandler().getMqttTopicSubscribe(), message);
      serialMessage = serialSendPreprocessor.getSerialMessage();

    }
    catch (Exception e) {
      logger.error("Exception", e);
    }
  }

  /*
   * Otherwise process serial message directly
   */
  else {

    serialMessage = new String(message.getPayload());
  }

  /*
   * Ask serial handler to send message
   */
  serialMqttBridge.getSerialHandler().sendMessage(serialMessage);
}
 
開發者ID:DerTomm,項目名稱:SerialMqttBridge,代碼行數:49,代碼來源:MqttHandler.java

示例15: messageArrived

import org.eclipse.paho.client.mqttv3.MqttMessage; //導入方法依賴的package包/類
@Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
	String messageText = new String(message.getPayload(), encoding);
	System.out.println(
		String.format("Topic: %s. Payload: %s",
			topic,
			messageText));
	// A message has arrived from the MQTT broker
	// The MQTT broker doesn't send back 
	// an acknowledgment to the server until 
	// this method returns cleanly
	if (!topic.startsWith(boardCommandsTopic)) {
		// The topic for the arrived message doesn't start with boardTopic
		return;
	}
	final boolean isTurnOnMessage = messageText.equals("TURN ON"); 
	final boolean isTurnOffMessage = messageText.equals("TURN OFF");
	boolean isInvalidCommand = false;
	boolean isInvalidTopic = false;
	// Extract the sensor name from the topic
	String sensorName = topic.replaceFirst(boardCommandsTopic, "").replaceFirst(TOPIC_SEPARATOR, "");
	switch (sensorName) {
		case SENSOR_SUNLIGHT:
			if (isTurnOnMessage) {
				isSunlightSensorTurnedOn = true;
			} else if (isTurnOffMessage) {
				isSunlightSensorTurnedOn = false;
			} else {
				isInvalidCommand = true;
			}
			break;
		case SENSOR_EARTH_HUMIDITY:
			if (isTurnOnMessage) {
				isEarthHumiditySensorTurnedOn = true;
			} else if (isTurnOffMessage) {
				isEarthHumiditySensorTurnedOn = false;
			} else {
				isInvalidCommand = true;
			}
			break;
		default:
			isInvalidTopic = true;
	}
	if (!isInvalidCommand && !isInvalidTopic) {
		publishProcessedCommandMessage(sensorName, messageText);	
	}
}
 
開發者ID:PacktPublishing,項目名稱:MQTT-Essentials-A-Lightweight-IoT-Protocol,代碼行數:48,代碼來源:SensorsManager.java


注:本文中的org.eclipse.paho.client.mqttv3.MqttMessage.getPayload方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。