跟着Gokit3使用说明书的教程顺利地让设备跑了起来,家里一下子热闹了起来,玛丽玛丽的声音此起披伏,多多儿还不会讲话,也跟着maaa地叫着。这是GoKit3给生活带来的快乐。

言归正传,这篇开始讲述GoKit开发的第二件事–自定义产品数据点。

1 创建产品

在机智云平台创建自己的产品,如下图中我的仓鼠管家:

2 编辑产品数据点

创建完产品后立即就要编辑数据点了,如下图:

我选择基于宠物屋模版去做修改:

由于我的项目初期只用到了灯和电机,所以去掉了几个无关的数据点,数据点规划如下图:

因此根据规划的数据点,需要对原有的数据做部分调整,如下图是删除不需要的数据点:

调整完毕后,点击下一步变生成了对应的串口协议,可以据此来编写GoKit3端的程序了,如下图:

3 GoKit3代码修改

3.1 ProductKey修改

需要将目前创建的产品的PRODUCT_KEY添加到代码中。

#define PRODUCT_KEY "b18743d658f0456499efdc20463b6a13" // "your_product_key"

3.2 控制设备的数据点调整

参考《机智云接入串口通信协议文档》中4.10 WiFi模组控制设备
eventProcess中逐个处理issuedData->attrVals,在这里头处理各种外设控制。由于仓鼠管家定义的产品数据点中控制设备的部分与宠物屋一致,因此这部分源码就没有改动:

__packed typedef struct {uint8_t  LED_OnOff:1;uint8_t  LED_Color:1;uint8_t  LED_R:1;uint8_t  LED_G:1;uint8_t  LED_B:1;uint8_t  Motor_Speed:1;
}attrFlags_t;__packed typedef struct {uint8_t  LED_OnOff:1;uint8_t  LED_Color:2;uint8_t  reserve:5;uint8_t  LED_R;uint8_t  LED_G;uint8_t  LED_B;uint16_t Motor_Speed;
}attrVals_t;//custom
__packed typedef struct {attrFlags_t attrFlags;attrVals_t  attrVals;
}gizwitsIssued_t;

3.3 设备上报的数据点调整

参考《机智云接入串口通信协议文档》中4.9 设备MCU向WiFi模组主动上报当前状态
由于我们的数据点做了修改,因此需要做部分调整,如下图,对红外、温湿度都进行了注释。

__packed typedef struct {uint8_t  LED_OnOff:1;uint8_t  LED_Color:2;uint8_t  reserve_0:5;uint8_t  LED_R;uint8_t  LED_G;  uint8_t  LED_B;uint16_t Motor_Speed;//uint8_t  Infrared:1;//uint8_t  reserve_1:7;//uint8_t  Temperature;//uint8_t  Humidity;uint8_t  Alert_1:1;uint8_t  Alert_2:1;uint8_t  reserve_2:6;uint8_t  Fault_LED:1;uint8_t  Fault_Motor:1;//uint8_t  Fault_TemHum:1;//uint8_t  Fault_IR:1;uint8_t  reserve_3:6;//uint8_t  reserve_3:4;
}devStatus_t;__packed typedef struct {devStatus_t devStatus;
}gizwitsReport_t;

4 总结

这样就基本上调整好了代码,接着就可以按照笔记1_搭建开发环境http://blog.csdn.net/iotisan/article/details/52245224的编译烧写流程进行程序烧录测试了。
更详细的代码,可以直接到https://github.com/twowinter/OpenHamtaro查看commit记录。

好了,上电之:

APP连接显示如图:

数据点展示如图:


GoKit3(V)学习笔记02_自定义产品数据点相关推荐

  1. Vue.js 学习笔记 十一 自定义指令

    之前看到过v-bind,v-on等指令,Vue还可以自定义指<div id="divApp"        <div v-focus></div> & ...

  2. Vue.js 学习笔记 十 自定义按键事件

    <div id="divApp"><!--任何键盘动作都会触发--><input type="text" v-on:keyup=& ...

  3. 【学习笔记】使用魔数快速求平方根

    [学习笔记]使用魔数快速求平方根 简介 介绍使用魔数0x1fbd1df5快速求平方根x{\sqrt{x}}x​的C语言实现和公式的推导. 代码 float MagicSqrt(float x) {fl ...

  4. 【学习笔记】使用魔数快速求立方根

    [学习笔记]使用魔数快速求立方根 简介 介绍使用魔数0x2a517d47快速求立方根 x 3 {\sqrt[3]{x}} 3x ​的C语言实现和公式的推导. 代码 float MagicCubeRoo ...

  5. Pytorch学习笔记7——自定义数据集

    Pytorch学习笔记7--自定义数据集 1.读取数据 首先继承自torch.utils.data.Dataset 重写len与getitem train就用train数据集,test就用test数据 ...

  6. 算法【二叉树】学习笔记 - 已知结点数计算可构建出多少种二叉树

    算法[二叉树]学习笔记 - 已知结点数计算可构建出多少种二叉树 卡特兰数 相关知识点 排列组合公式 排列 Arrangement 组合 Combination 分步计算 简化 参考资料 题目:已知3个 ...

  7. Flutter学习笔记 —— CustomPainter自定义画布绘制爱心

    Flutter学习笔记 -- CustomPainter自定义画布绘制爱心 前言 效果图 代码示例 温馨提示 结束语 前言 最近在学习Flutter中 Canvas相关内容,今天尝试写了一个爱心Dem ...

  8. 数据挖掘作业学习学习笔记-电商产品评论数据情感分析

    使用的教材:<电商产品评论数据情感分析> 作业&学习笔记:数据挖掘第14周 说明:书本内容详实.此篇用于自己期末回顾知识的重点内容,故做出的学习笔记缺省了书本原本的其他精粹. 随着 ...

  9. Git 学习笔记:自定义Git(完)

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

最新文章

  1. 【SSRS】入门篇(二) -- 建立数据源
  2. 3月9日起陆续开学!快来看看有没有你所在的省份
  3. PostgreSQL 10.1 手册_部分 II. SQL 语言_第 12 章 全文搜索_12.9. GIN 和 GiST 索引类型
  4. docker java镜像_Docker JDK镜像
  5. NeurIPS 2018 | 如何用循环关系网络机智地解决数独类关系推理任务?
  6. java token生成和验证_SpringBoot集成JWT生成token及校验方法过程解析
  7. ROS 命令以及相关内容学习(二)
  8. 【树形DP】没有上司的晚会 (ssl 1607)
  9. Java文件读写操作指定编码方式防乱码
  10. 计算机英语bane,英语单词bane是什么意思,英文单词查询bane,在线单词bane翻译...
  11. ReactNative从零到完整项目-Flexbox使用
  12. [转载] html转word table样式_[Python02] Python-docx包的使用,快速处理 Word 文件!
  13. loadrunner 一个诡异问题
  14. linux 用命令安装软件,Linux安装软件的三种常用命令
  15. thing JS笔记
  16. jquery name选择器
  17. 【联盛德W806上手笔记】六、7816/UART 控制器
  18. 《精进》(采铜)——读书笔记
  19. 崩坏3服务器修改水晶数量,崩坏3一个月能攒多少水晶_单月水晶数量分析
  20. 如何在Kubernetes中部署nginx

热门文章

  1. 西安科技大学计算机院,计算中心-西安科技大学计算机科学与技术学院
  2. 笔记本电脑,电池/电源适配器建议使用方式及疑难解答
  3. python opencv如何读取透明png图片以及如何编辑透明度
  4. Witt向量简介 §4.2:环的完备化的若干问题说明
  5. java中文乱码 例子_JSP中文乱码常见3个例子及其解决方法
  6. Java基础(2)面向对象的理解
  7. TMail电子邮件,TMail放入服务器只需4分钟
  8. SpiderFlow平台v0.3.0初次使用并爬取薄荷网的热量和减法功效
  9. 开源商城系统php哪个好,开源电商系统选择哪个好?
  10. 全球与中国吸油烟机行业市场规模调研及未来前瞻报告2022-2028年