收藏官网首页
查看: 466|回复: 5

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

发表于 2019-8-29 13:38:54 | 显示全部楼层 |阅读模式
汉枫LPB120模块
本帖最后由 冯俊波 于 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, 下载次数: 18)

本帖被以下淘专辑推荐:

  • · faq|主题: 3, 订阅: 0
发烧友

0

主题

12

帖子

66

积分

注册会员

Rank: 2

积分
66
发表于 2019-9-18 12:52:08 | 显示全部楼层
很详细 ,学习了

0

主题

17

帖子

629

积分

高级会员

Rank: 4

积分
629
发表于 2019-10-12 14:03:50 | 显示全部楼层
太棒了,解决了我用arduino碰到的问题。感谢分享
stm32资料
硬氪网-硬件工程师必上网站之一
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

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

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