冯俊波 发表于 2019-8-29 13:38:54

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

本帖最后由 冯俊波 于 2019-8-30 08:40 编辑

关于arduino如何实现数据点的上报云端产品创建以及数据点的创建请参考帖子http://club.gizwits.com/thread-9635-1-1.html的数据点创建,创建完毕之后生成arduino代码,本文主要介绍如何上传数据点到机智云,例如后面创建了4个继电器的数据点,在硬件上面有4个按键对应着4个继电器的打开和关闭,本文将介绍设备开关状态和云端同步更新。下面4个数据点是本文介绍所用的数据点。
将下载的代码进行解压,解压过后打开目录,将Gizwits文件夹复制到arduino软件目录里面的..\libraries路径下,云端数据点更改之后一定要重新生成代码,然后替换Gizwits文件夹,否则将会造成各种异常情况。复制过去之后打开arduino软件,按照如图所示方法即可打开项目文档,为何不在Gizwits目录下打开,电脑安装多个版本的arduino时容易造成库不能加载报错。关于如何将设备项目进行整合,参考帖子http://club.gizwits.com/thread-6728-1-1.html此处不在描述。按照帖子将项目整合之后将新的项目保存于你需要的目录即可。为了方便程序编写,此处采用8-11引脚做为继电器输出引脚3,4,12,13作为按键输入定义全局变量数组用于缓存继电器状态,初始化为0关闭状态,对应继电器高电平有效。按键按下低电平,松手高电平,可以自己接一个10k的上拉电阻硬件实现上拉,程序不做上拉,自己想程序拉可以自己写。按键只支持多按键检测,按下300MS以上为有效,时间可调节。 初始化按键和输入增加按键改变状态的函数并把函数在主循环调用。在主循环增加云端下发的数据处理(此处只处理继电器部分数据),以及继电器的驱动
由于自动代码没有可写数据点的上报参数,因此我们需要修改头文件实现可写数据点的上报处理。打开开始我们添加到软件libraries目录下面的Gizwits文件夹,找到里面的Gizwits.cpp文件,然后使用记事本或者notepad++打开,最好使用notepad++,然后找到voidGizwits::write(VALUE_TYPE_T valueType, bool value)函数,一定不要找错了。在后面增加4个case语句。保存并关闭,在按键里面增加数据点上报,记住是在按键检测有效里面增加,不是主循环增加这样就是实现可写数据点的传输,编译上传啥的自己去搞定。到此教程结束,本文涉及的所有代码在附加。

沧海一粟1 发表于 2019-9-18 12:52:08

很详细 ,学习了

元亮学长 发表于 2019-10-12 14:03:50

太棒了,解决了我用arduino碰到的问题。感谢分享

丁新源 发表于 2019-11-9 21:12:52

感谢分享

菜鸟渴望进阶 发表于 2020-4-21 16:35:24

请问一下,现在可以实现手机控制了,可是想要按下硬件的按键控制,却没有反应。是怎么回事呢?

杨红兴 发表于 2020-4-21 21:07:26

学习到了
页: [1]
查看完整版本: 关于arduino如何实现数据点的上报以及基础控制教程