首页 > 电脑专区 > 电脑教程 >

微信无法控制硬件设备的排查方法

来源:互联网 2023-02-20 17:18:10 版权归原作者所有,如有侵权,请联系我们

微信为硬件平台提供了设备功能,这样我们就可以很方便的通过微信来控制相关的设备。在开发过程中,发现以前能正常控制设备的,现在却不行了,如果你也遇到了这样的问题,可以参考本文来解决问题。由于本人在开发时使用的是WEIPHP服务器框架,所以以下的排查方法仅供参考。fTc办公区 - 实用经验教程分享!

工具/原料

  • 微信硬件平台

方法/步骤

  • 1

    首先找到控制设备的接口,如本文中的灯控接口LightControl()。fTc办公区 - 实用经验教程分享!

    微信无法控制硬件设备的排查方法fTc办公区 - 实用经验教程分享!

  • 2

    通过打印信息的方法来排查问题,这是最常用的调试方法。因此我们在接口中添加日志输出到数据库中,如下图所示。fTc办公区 - 实用经验教程分享!

    微信无法控制硬件设备的排查方法fTc办公区 - 实用经验教程分享!

  • 3

    控制一下设备后,进入数据库中找到日志文件。fTc办公区 - 实用经验教程分享!

    微信无法控制硬件设备的排查方法fTc办公区 - 实用经验教程分享!

  • 4

    找到输出的日志,可以发现问题所在。如本文中发现设备ID没有获取到,因此不能控制设备。fTc办公区 - 实用经验教程分享!

    微信无法控制硬件设备的排查方法fTc办公区 - 实用经验教程分享!

  • 5

    在到控制接口函数中查看代码,找到获取设备ID的地方,发现它与两个参数有关,一个是微信用户账号,一个是access_token。fTc办公区 - 实用经验教程分享!

    微信无法控制硬件设备的排查方法fTc办公区 - 实用经验教程分享!

  • 6

    从数据库中的日志可以看到微信用户账号没有问题,那就是access_token有问题了,因为这个值在2小时内会失效,需要定时更新。fTc办公区 - 实用经验教程分享!

    微信无法控制硬件设备的排查方法fTc办公区 - 实用经验教程分享!

  • 7

    再回到接口函数处,寻到获取access_token的地方,如下图所示。fTc办公区 - 实用经验教程分享!

    微信无法控制硬件设备的排查方法fTc办公区 - 实用经验教程分享!

  • 8

    通过搜索整个工程,可以找到获取access_token的函数,weiphp中接口函数是在Application\Common\Common\function.php文件内。fTc办公区 - 实用经验教程分享!

    微信无法控制硬件设备的排查方法fTc办公区 - 实用经验教程分享!

  • 9

    打开相应的文件,找到接口函数,weiphp中的函数为get_access_token()。fTc办公区 - 实用经验教程分享!

    微信无法控制硬件设备的排查方法fTc办公区 - 实用经验教程分享!

  • 10

    然后我们再打开微信公众平台的接口调试工具,重新获取一个access_token值,相应的设置如下图所示。fTc办公区 - 实用经验教程分享!

    微信无法控制硬件设备的排查方法fTc办公区 - 实用经验教程分享!

  • 11

    获取成功后会返回如下结果,我们把access_token这个值复制,后面会使用到。fTc办公区 - 实用经验教程分享!

    微信无法控制硬件设备的排查方法fTc办公区 - 实用经验教程分享!

  • 11此文章未经授权抓取自百度经验
  • 12

    回到获取access_token的地方,在接口函数前加下如下两行代码。这样做的目的是为了返回一个正确的token值,这个值就是刚才我们获取的值。fTc办公区 - 实用经验教程分享!

    微信无法控制硬件设备的排查方法fTc办公区 - 实用经验教程分享!

  • 13

    再次控制一下设备,发现可以正常控制了。说明原来接口中获取的token值是有问题的,我们再把代码移到下图所示的地方。fTc办公区 - 实用经验教程分享!

    微信无法控制硬件设备的排查方法fTc办公区 - 实用经验教程分享!

  • 14

    再次控制一下设备,发现无法控制设备。说明问题就出在下图中的if判断中。经过分析,原来这是判断token值是否有效,如果有效则不需要再去向微信服务器获取。fTc办公区 - 实用经验教程分享!

    微信无法控制硬件设备的排查方法fTc办公区 - 实用经验教程分享!

  • 15

    我们把这个判断去掉,把刚才加的代码也删除,重启服务后,再重新控制一下设备, 发现可以正常控制了。fTc办公区 - 实用经验教程分享!

    微信无法控制硬件设备的排查方法fTc办公区 - 实用经验教程分享!

  • 16

    再把那个判断条件加上,重启服务后,再重新控制一下设备, 发现可以正常控制设备。fTc办公区 - 实用经验教程分享!

    微信无法控制硬件设备的排查方法fTc办公区 - 实用经验教程分享!

  • 17

    以上说明前一次获取access_token值是不正确的,但是WEIPHP服务器没有更新而出现的问题,这个问题可以在使用access_token出错后把这个值的有效性清除,再重新获取就可以了。fTc办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!fTc办公区 - 实用经验教程分享!


    标签: 硬件无法控制设备方法

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号