惊呆了,用乐鑫ESP8266也能改造桌上足球啦-Arduino中文社区 - Powered by Discuz! Archiver

机智小子 发表于 2016-8-26 10:55

惊呆了,用乐鑫ESP8266也能改造桌上足球啦

活动目的:普通的桌球是通过一个类似算盘的计数器,实现计分的,通过我们的改造,让普通的桌上足球变成了一个可以自动计数的智能桌球。同时教不懂iot产品开发的童鞋,从0开始实现一个完整产品的开发。

http://club.gizwits.com/data/attachment/forum/201608/25/201603qfqegglrd5zq5fhl.jpg
先来介绍一下机智云:
机智云,全球领先的智能硬件自助开发及物联网(IOT)云服务平台,广州机智云物联网科技有限公司注册商标。面向开发者(企业)提供智能硬件PaaS及SaaS云服务,是目前国内最大的智能硬件集群之一,被业界及媒体公认为物联网第三方云服务第一品牌。
公司拥有超过200名技术研发人员,连续5年成为“苹果公司”认证 MFi 公司在亚太地区最大的物联网软件解决方案提供商,拥有多项软件版权和专利技术,连接国内外超过450万的智能设备运营,服务超过700家客户,多次主导国家、省、市重点科技创新项目。


机智云合作伙伴遍布全球,包括苹果、 奔驰、 国家电网、 美的、 A.O.史密斯、万和、四季沐歌、中科、老板、公牛、伊莱特、艾美特等国内外知名企业,已全面覆盖商业及工业应用领域,帮助传统企业快速实现互联网+转型。
接入后服务:提供智能设备接入系统GDCS、智能设备管理系统GDMS、物联网分时租赁平台GALS、智能菜谱云“厨膳云”GRCS和微分销管理系统GSMS等接入后服务,可与主流ERP、CRM系统衔接,满足硬件产品管理、售后服务管理、用户积分体系、库存管理、经销商管理、微信分销等运营需求。
硬件准备:
我们今天的主题是《智能桌球开发》,接下来由我来给大家分享下我们是如何改造我们的桌球的。
【直播继续】她是我们机智云72小时创客马拉松活动上的获奖项目。【直播继续】她是我们机智云72小时创客马拉松活动上的获奖项目。

http://club.gizwits.com/data/attachment/forum/201608/25/201603gl6lr0blbjqj0zlk.jpg

普通的桌球是通过一个类似算盘的计数器,实现计分的,通过我们的改造,让普通的桌上足球变成了一个可以自动计数的智能桌球
http://club.gizwits.com/data/attachment/forum/201608/25/201754nwl9kugwuodlv55l.jpg
这是我们通过gokit实现智能化,解决的几个问题
http://club.gizwits.com/data/attachment/forum/201608/25/201755xreeqcxtceqokokx.jpg
我们用4个按键来做计分器的输入

http://club.gizwits.com/data/attachment/forum/201608/25/201755x5fbfbipiod6t8bi.jpg
http://club.gizwits.com/data/attachment/forum/201608/25/201855c5720cr0v702k27r.jpg

好了,介绍完玩法之后,我们来看看改造普通桌球需要写什么材料吧。


下面这个图片就是gokit与这些传感器的接线图了,大家可以先保存下,后面会用到。
http://club.gizwits.com/data/attachment/forum/201608/25/202144o5xx1rqsz5s1xzgx.png
http://club.gizwits.com/data/attachment/forum/201608/25/201956aky6n34161umkuz3.jpg
简单介绍下:
红外传感器,输出为IO,有物体遮挡的时候会发生电平变化,我们就是根据这个电平的变化来判断是会否进球的。
数码管是一个可以显示数据的输出模块,由一定的时序操作才能正常的显示。
按键,当然是输入类型的IO了,按下电平也会有变化的~

接下来我们把传感器和gokit连接起来,连接的管脚就是刚才发过的接线表
http://club.gizwits.com/data/attachment/forum/201608/25/202741x55yn2a8y7n88yy8.jpg
有2个红外模块,分别接gokit的A0和A4


http://club.gizwits.com/data/attachment/forum/201608/25/203232ttn447n54nuzkpki.jpg
下面我们再发数码管接上
http://club.gizwits.com/data/attachment/forum/201608/25/203302lyoccnxoxxz9cdov.jpg
分别接gokit的A5,D11,D12 ,注意顺序,别接反了

http://club.gizwits.com/data/attachment/forum/201608/25/203328hz3e5sssv22kk58s.png
最后就是按键的接线了 。同样要注意顺序,否则按键的功能就变了。

来看下我们最终接好线的效果吧

http://club.gizwits.com/data/attachment/forum/201608/25/203408s0izngzqlzg4ekla.jpg


接下来我们来定义下产品

先从功能上分析下数据点,下面这个图就是【功能+数据点】的定义

http://club.gizwits.com/data/attachment/forum/201608/25/203640bhhlmgmnqn8h9mrv.jpg

定义数据点:
登陆我们网站申请开发这账号之后就可以在我们的自助开发平台定义产品了,没有账号的赶快去注册一个吧 www.gizwits.com

http://club.gizwits.com/data/attachment/forum/201608/25/203924l2txf4ontef22v9e.png

注册号了之后是这样的
http://club.gizwits.com/data/attachment/forum/201608/25/204049ilt9lqu79xgjx9x9.png
进入到【个人项目】里点击【创建新产品】

http://club.gizwits.com/data/attachment/forum/201608/25/204150mnfqizczggncjglz.png
填好【名称】,选择【通信方式】、【通信类型】。然后点击【创建 】

http://club.gizwits.com/data/attachment/forum/201608/25/204328kfcyif4yjyyifc7v.png
之后会进入这样的页面
http://club.gizwits.com/data/attachment/forum/201608/25/204403v6pn2bj1vmooqvtb.png

这里有两种定义方式,一种是【基于现有模板定义产品】,另外一种是【完全自定义方式】。对于新手来讲,可能不太明白数据点是什么意思,我简单介绍下,一个功能点可以以一个数据点的形式来呈现,比如开与关这个就是一个功能点,可以定义为一个数据点,这个数据点的形式定义为布尔型,0代表关,1代表开。现有模板可以给新手来事先熟悉下我们的一些规则,如果是老司机呢,可以根据自己的需要自定义模板,或者在现有模板里面编辑下成为自己想要的产品。这里我们选择自定义的方式来给大家介绍下哈。

由于模板里面没有和我们的桌球相似的产品,我们选择自定义的方式 ,下面我们就以“蓝方进球数”来举例如何定义数据点。下面是这个项目的一个完整的数据点,举个例子,“蓝方进球数”

http://club.gizwits.com/data/attachment/forum/201608/25/204534td9vve5d2bz22vrm.jpg
点击“【新建数据点】”

http://club.gizwits.com/data/attachment/forum/201608/25/204605pcy99ufkyub772ji.pnghttp://club.gizwits.com/data/attachment/forum/201608/25/204717xck3jomgwtw7qkwz.png 填入名称后选择【读写类型】、【数据类型】。这里需要注意下什么是读写类型,什么是数据类型。
在传感器里面,像红外、温湿度传感器等这些读取外部环境参数的一般都是只读类型
像马达,LED指示灯等这些可有动作的一般是可写类型,你懂的,所以进球我们上面用的是红外传感器,所以这个就是只读类型哈


http://club.gizwits.com/data/attachment/forum/201608/25/204802gz4uwlg348w1pwh3.pnghttp://club.gizwits.com/data/attachment/forum/201608/25/204819oxruzllua2uuavar.png
按照定义填写完之后是这样的:如果选择了数值类型,下面会自动出现数值范围,这里我们取数值范围为0-10哈
http://club.gizwits.com/data/attachment/forum/201608/25/204936jq6pfwz4xqq9x9q8.png
定义完这个数据点后是这样的。。。。。后面大家继续补充数据点,我就不一一分解了哈

http://club.gizwits.com/data/attachment/forum/201608/25/205313bghzbnjoejszmohb.png
大家自己把后面的数据点定义完吧!~
(提示:所有的数据点在这里http://club.gizwits.com/data/attachment/forum/201608/25/205416o7pzyl83rxs474tr.jpghttp://club.gizwits.com/data/attachment/forum/201608/25/210038e9k4odrupza8n8wk.pnghttp://club.gizwits.com/data/attachment/forum/201608/25/210039xn2n2ynblneettni.png )


部署开发环境:

定义完所有的数据点后,点下一步会进入这样的页面,圈出来的“《机智云智能桌球-机智云接入串口通信协议文档》”就是云端根据你定义的数据点自动生成的一份跟wifi模组通信的协议文档。(这份协议是根据你自定义的产品而系统生成的,记得下载点开看看)
http://club.gizwits.com/data/attachment/forum/201608/25/205514enn9z3dabsssy56h.png

下一步之后就是这样的页面 ,下载这个app,后面我们会用到的,扫码就可以了。
这里内容也比较多,包含
1. iOS / Android SDK(可以加入自己项目工程,改改UI,加个logo就是自己的,不收钱,还开源)
2. 现成的Gizwits Demo(安装下,等下会用到)
3. 还有集成文档
4. 到页面还有一个API指南

5.轻应用开发资源:使用机智云提供的Open APIs(Http / WebSocket),可以快速开发网页或微信应用等基于html的轻应用,用于管理和控制智能设备。

http://club.gizwits.com/data/attachment/forum/201608/25/205851pnsy4ksprj3isikr.png

定义好的同学可以下去下载下源码:http://site.gizwits.com/zh-cn/developer/resource/hardware?type=GoKit
http://club.gizwits.com/data/attachment/forum/201608/25/210226rwrr20b5b6wxac5b.png
到这一步,基本上云端的也设置好了,马上就要进入敲代码环节了~~~


修改代码(二次开发 !!!重点)

安装开发环境:现在就进入到要敲码环节了,先安装下开发环境
链接:file:///http://pan.baidu.com/s/1jINhSmM   密码:yb5m
这就是我们的目录结构
http://club.gizwits.com/data/attachment/forum/201608/25/211155p6u66f66qk956zrg.png
第一步先修改Product Key
http://club.gizwits.com/data/attachment/forum/201608/25/211251jsu8nm528fp0sj5z.png
http://club.gizwits.com/data/attachment/forum/201608/25/211404t3jd2y39z2ftdr29.jpg
http://club.gizwits.com/data/attachment/forum/201608/25/211436mvp2qhh2h2pvk23t.jpg
http://club.gizwits.com/data/attachment/forum/201608/25/211518p99ynqnqqlbomwmn.jpg
http://club.gizwits.com/data/attachment/forum/201608/25/211535soqqr6a3c343f3ki.jpg
http://club.gizwits.com/data/attachment/forum/201608/25/211604vizz90n7npypysp4.jpg
http://club.gizwits.com/data/attachment/forum/201608/25/211604sn7wmjaa7lc7mla7.jpg
注意对应关系
http://club.gizwits.com/data/attachment/forum/201608/25/211651peqchi6he2hhe1be.jpg

枚举事件修改
http://club.gizwits.com/data/attachment/forum/201608/25/211710ql1t4x1q6a1vlqo4.jpg
http://club.gizwits.com/data/attachment/forum/201608/25/212019igijf0ucyfoqyc06.pnghttp://club.gizwits.com/data/attachment/forum/201608/25/212019u8ka84s5da45a58g.jpghttp://club.gizwits.com/data/attachment/forum/201608/25/212019v7j9tvdt96pjccss.jpghttp://club.gizwits.com/data/attachment/forum/201608/25/212020j94l9qqnqhoqlakn.jpghttp://club.gizwits.com/data/attachment/forum/201608/25/212020d88pjjlyj8n3f7ay.jpghttp://club.gizwits.com/data/attachment/forum/201608/25/212057drl5z1eo9epee4bl.jpg

http://club.gizwits.com/data/attachment/forum/201608/25/212057tvaapzvvphgsvz67.jpghttp://club.gizwits.com/data/attachment/forum/201608/25/212226kvvb1ftvkp8p1bbu.png
http://club.gizwits.com/data/attachment/forum/201608/25/212226xekqszegvvsn3csn.jpg
http://club.gizwits.com/data/attachment/forum/201608/25/212226ciijjiomhjhicyiy.jpg
http://club.gizwits.com/data/attachment/forum/201608/25/212321nqhr3nr3gcg552kg.jpg
http://club.gizwits.com/data/attachment/forum/201608/25/212350djk62r1005n0qqos.jpg
http://club.gizwits.com/data/attachment/forum/201608/25/212427rikb9l0i3t2hwux2.jpg
下面是配置入网的修改,大家采用gokit的话,可以不用修改
http://club.gizwits.com/data/attachment/forum/201608/25/212428vx6ds2x0fqksx6dx.jpg
http://club.gizwits.com/data/attachment/forum/201608/25/212603k16ygskk9619d6wk.jpg
http://club.gizwits.com/data/attachment/forum/201608/25/212603nifvto1o2dkn77ob.jpg
http://club.gizwits.com/data/attachment/forum/201608/25/212604l3iqbxx31khvv73t.jpg
http://club.gizwits.com/data/attachment/forum/201608/25/212604vxx2xmk5h5z5uokr.jpg
http://club.gizwits.com/data/attachment/forum/201608/25/212604h33dsrzi3yj7xdyd.jpg
好了,这就是修改程序的方法,大家先按照上面的方法修改下 。最后我会把我们的源码发出来给大家参考。
如果你修改完了,可以按照帖子上的方法烧录下,实际的跑跑看接下来的这段时间大家修改程序吧,有问题的直接提出来,或者到论坛里发帖。   提问开贴地址:file:///C:\Users\GIZWIT~1\AppData\Local\Temp\%W@GJ$ACOF(TYDYECOKVDYB.pnghttp://club.gizwits.com/forum-176-1.html技术大咖问你解答
http://club.gizwits.com/static/image/filetype/rar.gif 桌球-原始-初始化完毕.rar (11.18 MB, 下载次数: 0) http://club.gizwits.com/static/image/filetype/rar.gif智能桌球示例代码-20160825.rar (5.83 MB, 下载次数: 0)

代码来了,在看看我们安装的效果吧
http://club.gizwits.com/data/attachment/forum/201608/25/215705yptilv2aaaxyiel2.jpghttp://club.gizwits.com/data/attachment/forum/201608/25/215706fx3gxx6vcssqusz6.jpghttp://club.gizwits.com/data/attachment/forum/201608/25/215706rfsc54qlxxdcssim.jpghttp://club.gizwits.com/data/attachment/forum/201608/25/215706blhal1vmqw0onqox.jpg

至此,教程结束。


番外:
虚拟设备开发:可在线模拟硬件开发环境~~~和功能等。
接下来,小编从硬件接入,云端创建虚拟设备,然后再植入product key到硬件设备,真正赋予硬件与云端通信的能力。
没有硬件的同学们可以先借助机智云自助开发平台的虚拟设备来调试调试下指令代码。


如果同学们手头上如果没有我上面所说的GoKit,也没有关系,其实是可以兼容其他开发板的,我们还有一个强大的工具,叫做“虚拟设备的”。

http://club.gizwits.com/data/attachment/forum/201608/25/222303wkkozc9gw4xwcere.png
大家进入产品,左边的菜单有一个菜单叫做“虚拟设备”,就是你在机智云平台里面创建的每一个产品我们都可以当做是一个虚拟的硬件设备
http://club.gizwits.com/data/attachment/forum/201608/25/222332zs1mydmcdzesitgx.png
点击启动虚拟设备
http://club.gizwits.com/data/attachment/forum/201608/25/222343sd810o5m1y70oz66.jpg

点击绿色按钮“显示二维码”会弹出一个二维码(如下图所示),如果有同学已经下载了机智云的APP,可以扫下这个二维码控制下我定义的这个产品。这里有搞代码的同学呢,可以看看这里的通信日志哈,当我客户端跟云端产品绑定之后呢,这里就产生一系列的记录哈,包括APP->云端->虚拟设备,指令。
http://club.gizwits.com/data/attachment/forum/201608/25/222414roo11v19y886v9q9.pnghttp://club.gizwits.com/data/attachment/forum/201608/25/222441kvvqy4rahnjavds3.png
在虚拟设备更改数值,按推送,手机客户端也会实时更新,也可以在通信日志看到 虚拟设备->机智云云平台->APP
http://club.gizwits.com/data/attachment/forum/201608/25/222718kf7oj77ww66wf7jv.png


这就是小编的手机哈,只有一个数据点,实时变了5哈
http://club.gizwits.com/data/attachment/forum/201608/25/222802xy098iqpuypuggq6.png QQ图片20160825222753.png (6.52 KB, 下载次数: 0)
下载附件
昨天 22:28 上传



好啦,到这里,小编该退了,这个改变世界靠同学们了
页: [1]
查看完整版本: 惊呆了,用乐鑫ESP8266也能改造桌上足球啦