如何获取飞行器状态
已完成想要获取飞行器状态,根据pushMode和accessMode 当pushMode=0是topic是Topic:thing/product/{device_sn}/osd (这样理解文档是对的吧?但是accessMode=r的时候怎么没有对应的topic)但是我在代码中
OsdRouter进行打印接收到的数据 并没有mode_code字段 ,而且我把无人机的扇叶启动,和停止之后也都没有
接收到mode_code这个字段。
-
但是我启动无人机,关闭无人机,启动机翼,关闭机翼都没有收到mode_code字段
当pushMode=0时。不是会按照将以 0.5HZ 的频率定时上报吗,但是怎么没有上报mode_code字段呢?
@Override
@Router(inputChannel = ChannelName.INBOUND)
protected Collection<MessageChannel> determineTargetChannels(Message<?> message) {
MessageHeaders headers = message.getHeaders();
String topic = headers.get(MqttHeaders.RECEIVED_TOPIC).toString();
byte[] payload = (byte[])message.getPayload();
log.debug("received topic: {} \t payload =>{}", topic, new String(payload));
CloudApiTopicEnum topicEnum = CloudApiTopicEnum.find(topic);
MessageChannel bean = (MessageChannel) SpringBeanUtils.getBean(topicEnum.getBeanName());
return Collections.singleton(bean);
}这一段代码是会收到所有的topic吗? 如果不是,请问是在哪里接收,如果是,请问为什么没有mode_code的字段。
请先登录再写评论。
评论
6 条评论