收藏官网首页
查看: 124|回复: 0

关于arduino如何实现数据点的上报以及基础控制教程

发表于 2019-8-29 13:38:54 | 显示全部楼层 |阅读模式
注册成为机智云开发者,手机加虚拟设备快速开发
本帖最后由 冯俊波 于 2019-8-30 08:40 编辑

关于arduino如何实现数据点的上报
云端产品创建以及数据点的创建请参考帖子http://club.gizwits.com/thread-9635-1-1.html的数据点创建,创建完毕之后生成arduino代码,本文主要介绍如何上传数据点到机智云,例如后面创建了4个继电器的数据点,在硬件上面有4个按键对应着4个继电器的打开和关闭,本文将介绍设备开关状态和云端同步更新。下面4个数据点是本文介绍所用的数据点。
image001.png

将下载的代码进行解压,解压过后打开目录,将Gizwits文件夹复制到arduino软件目录里面的..\libraries路径下,云端数据点更改之后一定要重新生成代码,然后替换Gizwits文件夹,否则将会造成各种异常情况。
image003.png
复制过去之后打开arduino软件,按照如图所示方法即可打开项目文档,为何不在Gizwits目录下打开,电脑安装多个版本的arduino时容易造成库不能加载报错。
image005.png
关于如何将设备项目进行整合,参考帖子http://club.gizwits.com/thread-6728-1-1.html此处不在描述。按照帖子将项目整合之后将新的项目保存于你需要的目录即可。
为了方便程序编写,此处采用8-11引脚做为继电器输出引脚3,4,12,13作为按键输入
image007.png
定义全局变量数组用于缓存继电器状态,初始化为0关闭状态,对应继电器高电平有效。按键按下低电平,松手高电平,可以自己接一个10k的上拉电阻硬件实现上拉,程序不做上拉,自己想程序拉可以自己写。按键只支持多按键检测,按下300MS以上为有效,时间可调节。
image008.png
初始化按键和输入
image009.png
增加按键改变状态的函数并把函数
image010.png
image012.png
在主循环调用。
image013.png
在主循环增加云端下发的数据处理(此处只处理继电器部分数据),以及继电器的驱动
image014.png

由于自动代码没有可写数据点的上报参数,因此我们需要修改头文件实现可写数据点的上报处理。打开开始我们添加到软件libraries目录下面的Gizwits文件夹,找到里面的Gizwits.cpp文件,然后使用记事本或者notepad++打开,最好使用notepad++,然后找到voidGizwits::write(VALUE_TYPE_T valueType, bool value)函数,一定不要找错了。
在后面增加4个case语句。
image015.png
保存并关闭,在按键里面增加数据点上报,记住是在按键检测有效里面增加,不是主循环增加
image017.png
image019.png
这样就是实现可写数据点的传输,编译上传啥的自己去搞定。
image020.png
到此教程结束,本文涉及的所有代码在附加。
arduinoGizwits可写数据点上传.zip (62.15 KB, 下载次数: 0)

本帖被以下淘专辑推荐:

  • · faq|主题: 3, 订阅: 0
发烧友
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

© 2011-2017 Gizwits ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表