我的设备通过mqtt协议上传数据到云平台,在飞燕平台上,已经可以用云智能来进行操控,我使用JAVA写安卓软件,点击连接和订阅都可以,就是无法获取post(即设备到云信息)的数据,但是可以获取set(云到设备的消息)的数据,而且我在正常连接时,打开硬件进行通信,软件端就会断开连接,同时mqttfx客户端也会断开。
我想询问的是,开发一个与云智能模板一样功能的APP这样的想法可不可行,是否是应该使用mqtt协议,还是使用阿里云相关sdk来进行连接和操控。
如果可以,我应该使用什么来实现呢,麻烦大神指点迷津
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您的描述,设备通过MQTT协议上传数据到云平台,并且在飞燕平台上已经可以通过云智能App进行操控。然而,您在开发安卓软件时遇到了以下问题: 1. 无法获取设备到云端的POST数据(即设备上报的数据)。 2. 可以获取云端到设备的SET数据(即云端下发的指令)。 3. 硬件通信时,软件端和MQTT.fx客户端会断开连接。
同时,您希望了解是否可以开发一个功能类似于云智能App的安卓应用,以及应该使用MQTT协议还是阿里云相关SDK来实现。
/sys/{productKey}/{deviceName}/thing/event/property/post
),而您可能订阅了错误的主题。tcp://Endpoint:1883
或tls://Endpoint:8883
)。如果格式错误,可能导致连接不稳定。推荐方案:使用阿里云物联网平台的Java SDK或Android SDK进行开发。这些SDK提供了以下优势:
具体步骤:
ProductKey
、DeviceName
、DeviceSecret
等设备信息。/sys/{productKey}/{deviceName}/thing/event/property/post
)。/sys/{productKey}/{deviceName}/thing/service/property/set
)。注意事项:
/sys/{productKey}/{deviceName}/thing/event/property/post
,而云端下发指令的主题是/sys/{productKey}/{deviceName}/thing/service/property/set
。具体步骤:
tcp://Endpoint:1883
或tls://Endpoint:8883
。通过以上方法,您可以成功开发一个功能类似于云智能App的安卓应用,并解决当前遇到的问题。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。