Android 蓝牙调色灯/zigbee调色灯学习开发实战
近两年,从招聘行情看,android开发门槛越来越低,学习者越来越多,除了大学毕业生,培训机构出来,还有面试碰到过各种j2ee转android, .net转android... 甚至有司机转android, 移动营业厅经理转android, 机场出票转android... 趋势犹如高考,挤破头往这块涌入,我个人觉得这是好事,移动互联网来势不可阻挡。但另一方面,劝诫各位万万不要以为自己会画点UI,做两个动画就以为入行,就算您能把j2ee高深框架接入,把j2se在android上发挥得淋漓尽致,甚至自己动手做框架,在这个领域也仅仅能称得上熟练。不要忘记android的前身是google机器人项目,看logo就知道。这么说,学习android 也必须接触硬件啦? 没错,目前炒作最厉害的智能穿戴,智能家居,拖地机器人,ip摄像头等等, android已无处不在,如果您要立人之上,那么AV8D,朋友们,让我们一起来,万,吐,死瑞,康忙卑鄙,赖次够.
小插曲:
最近淘宝上有一款蓝牙灯,最低售价199,卖疯了,店家告诉我去年开发出来后,淘宝走信誉,阿里走量及线下走代理利润更高,半年销售额破7000多万。我马上产生好奇和兴趣,一查这货祖宗原来是飞利浦HUE,HUE在华售价1700一套4个灯,接下去我查找各处资料找方案,2个月后自己也成功开发出一套,今天迫不及待与大家分享心得。
今天我带给大家一堂实战课,android 4.3蓝牙(ble)灯控开发实战,蓝牙4.0(ble)是新技术也是趋势,早已在ios普及,如果您的android手机上没有,那就扔掉吧,买一部600块钱的moto。涉及cc2540, ble 相关请大家自查,基础本人不作科普,大家如果想赚钱,就要看前景趋势,现在这年头,你还去搞微博,做商城一辈子都出不了头。
先为大家科普下led灯, 分为以下3个层面讲解:
1.LED灯:目前市面上常见的灯有白炽灯,节能灯,led灯,白炽灯国家早已明令禁止白炽灯,节能灯因含毒一直遭受环保界争议,led灯则是倡导及趋势,目前4W的led灯相当于40W节能灯,如果你家的灯一个月电费20元,那么换装节能灯就2块钱,几乎可以说是免费,更重要的是寿命,led灯珠寿命可长达10年。当然一只质量好点的led灯价格普遍在80元左右决定了它的门槛,而调色灯还有芯片电路更复杂,难怪人家HUE卖到1700也是销量那么好。那led调色灯原理又是什么呢?大家都知道rgb三基色混色根据亮度值可以调成任何颜色,一般为了更好效果采用rgbw,因为白光亮度最常用也很重要,明白了吧。好了,拆开调色灯一探究竟,里面有几颗灯珠,灯珠有单色与集成之分,常用4合1灯珠就是把4颗灯珠做在一颗上,除占用体积小外,更重要的是颜色均匀,当然集成灯珠会相对贵,因为制作工艺复杂。
2. PWM驱动:既然调色灯可以用3基色混色,那么为何还要驱动电路呢?在3颗灯珠电压不变时,各灯珠亮度稳定,我们看到的确实是彩色,但调色灯是要能变色的,否则去买一颗您喜欢颜色的灯珠装里面好了,有专门的红灯,绿色灯,橙色灯... 我们程序员存在的价值就是要让思想控制代码逻辑,代码控制单片机每路电压变化,从而呈现出变换的颜色,这就得靠pwm驱动。有点单片机基础的大概在问,单片机不是能输出PWM吗,为何还要多此一块PWM外围电路呢?那我反问,单片机输出电流那么微弱,能驱动led大功率灯珠吗? 说到这,您应该就懂了。
3.cc2540芯片模块:刚研究调色灯时候,发现了信驰达有单模块出售,信驰达是TI的代理,因而做模块有先天成本优势,可惜的是没想着一本正经的把TI的东西卖好,动歪脑筋想垄断相关市场,他们提供现成模块,他们代理商只需要接线和外壳就可以做成灯成品,我这里说的是代理,不是开发者,就是说傻瓜都会,这可不是什么好事,一个直驱模块卖到60元,用户再去做电源,外壳,灯珠哪还有利润可谈,结局就是老百姓用不起,代理商价格站相互残杀,为降低散热,灯珠等成本,使用劣质材料,质量一塌糊涂。本人淘宝上199买了一个,用不到半天直接坏掉,最后残忍无情拆解。总而言之,我更希望国内芯片代理商能敞开胸怀,做好科普,放眼全球,不要再做这种只为钱利而想着垄断的事情了,给大家一条活路。尽管后面信驰达价格有作下调,直驱50元,但作为TI的宣导者,应该做的是把TI提供的方案代码公布于世,而非占为己有。我买过信驰达7片模块(4块直驱,3块无驱),花费300元。最终因他们文档年久失修,产品与介绍不符,成功测试1片,其余因接错全部烧掉,实在并非本人笨拙,他们技术支持一塌糊涂,市场部不懂技术,本人从行软件多年,遇问题一向相信大厂产品及文档而怀疑自我,反复检查接线,没想到终究还是被错误的文档给坑了,当然,联系销售这种是不保修的,自认了,同时也坚定了我的信心,一定要自己设计具有自主知识产权的模块,跑自己的代码,再也不要受制于人。
好了,闲话少说,回到正文,准备动手
自备材料:
1. android手机一部,硬件支持蓝牙4.0,系统4.3及以上
2. 电脑一台,altium designer 画pcb软件, cc2540相关软件
3. 淘宝上买套led灯壳,led灯珠
4. ccdebugger + cc2540 USB dongle
5. 电烙铁、热风枪、焊锡丝...
友情提示,
实验中,遇到最大问题是led灯散热处理及外壳选购,LED灯必须加装大功率散热器,否则灯珠寿命大打折扣,传统led灯只装载了电源驱动模块,空间足足有余,而我需要在里面加装pwm驱动模块及cc2540模块。本人参考信驰达方案设计了3种方案:
方案一:双层直驱模块,意思是cc2540内核与pwm直接集成,大大方便焊接,只需要输入电流与输出led灯即可,最终尺寸太长,放弃方案,PCB打板费花了300大洋
方案二:pwm模块与cc2540模块分开,考虑成本仍采用双层板,天线信号问题,PCB打板费花了600大洋。
方案三:pwm模块与cc2540模块分开,采用四层板设计,PCB打板费700大洋,铝基板打板300大洋。这些是学习成本,学习是投资,要舍得给自己投资。
学习上投资成本的确昂贵,为少走弯路,大家如果有需要可以找我分享经验
软件体验:
引导界面
初始界面,未找到智能灯,提示如下
如发现智能灯,显示如下灯列表
可进行色饼调色,摇一摇也可以换色
左右拖拉屏幕会显示出菜单
右边菜单
懒人一族,语音调色
接着,我们拆开这个神奇的调色灯,别说,拿在手上还真有几分重量,因为是纯铝压铸,散热性能比一般散热片式效果更佳,LED灯用材质量决定寿命,所以一定要选好料,不废话,看看它的工作原理吧。
先揭开灯罩,能看到这是一个7W的LED灯,铝基板上布有7颗灯珠,灯珠为欧司朗大功率灯珠,为质量最好的LED灯珠,其中RGB色各2颗,W色1颗,主要是调节亮度。你一定很好奇,中间为何有一块空缺,这是为了让蓝牙模块能更好接收到信号,否则封闭的铝壳会严重屏蔽信号,目前本人实测有效距离为20米。当然稍懂射频的同学也许会有更好建议,譬如螺旋天线灯,但本人测试过多种型号天线比对,PCB天线信号最佳,所以牺牲LED外观换性能仍然值得。