|
|
米思齐(Mixly),是一个全中文可视化的arduino软件,使用起来直观易懂,今天给大家介绍一个可能是最简单的天猫精灵控制ESP8266的开关实例。只要会用电脑就行,不懂英语的人也一看就会。而且美思齐的库功能也是非常强大,很多库是软件集成了,不像arduino一样还要一个个自己装。对于arduino初学者,很多库代码搞不清楚用途,也可以通过美思奇对照学习。
: Y8 i+ f$ a" t G. a
W9 O/ i1 o4 [/ i- G6 U( m- s; t) O0 S
需要的东西有:6 P% c9 j7 T. s& s
首先得有一个天猫精灵,闲鱼30包邮可以买到方糖。/ z c5 X( e4 O9 H V
你还得有一个ESP8266,带串口的也就10来块钱。要是想省想,可买不带串口的,烧录麻烦一点点,而且一般是3.3V供电,大概5-6元。7 z( Y4 P% S* V: G p& U
你要是控制电灯,你得有一个5V续电器。
5 j3 q# y1 k$ O9 s& t% C9 r& ], S手机上面装好天猫精灵和点灯科技的APP,在点灯上面添加一个独立设备>网络接入>阿里云。得到一个KEY,这个KEY是用在下面的程序中的设备密匙中。8 {1 x w) q8 V' b
& U$ k9 T: ]1 G" @8 t* P
4 m N. @4 e' g- W
装好米思齐,并安装点灯物联库就可以了。# s3 |; v0 F3 l* M2 {. I. q' n
! r6 J' n, [% I
@2 l9 d- G) H$ N* J9 ?& ?; }7 c' o9 B
添加点灯库
" r: D. X ^7 T& ?: |* H# T8 T4 r
- t: \7 H1 X' K( v
6 B% ]8 {2 s! ~. l$ j% u下面KEY是点灯APP上面得到的,WIFI和密码就是你家的。下面的管脚2是8266的板载灯,你可以接个5V续电器。
; u' K* R; K0 ~3 u/ K, r8 X& ]1 D Z1 r: q, V Q
7 t& T4 h$ P$ w/ |( y因为我的8266设电平为(高)时灯为灭,如果你上传后发现是亮的可以改成(低)。相应的下面的也要对调过来。因为程序简单,所以没有设变量。0 E& R& t- ?, P
' i% k. A) ?' d$ q& A0 X h# J: P: q0 R0 ~, L2 G
改好之后上传,注意8266和端口不要错了。- j8 y$ Z4 x& w' ], Q R) {- J
$ i& b- u, w, q1 R# w k! `3 [* X7 t; q6 Q' z0 G+ z0 C5 d
3 |- [2 P' c1 s9 w6 y5 c0 S5 r: S; R) U; K
( P2 A5 Q' c: r9 {4 p6 F! [如果有安装arduino可以直接拷下面的代码上传- #define BLINKER_ALIGENIE_OUTLET' \8 W) j4 g' V
- #define BLINKER_WIFI: T2 W& n7 h$ E/ U M$ c" W- D
- #include <Blinker.h>
; U# q: h9 K! U2 v( n4 z - + ?. F! q* F8 { w1 R
- char auth[] = "点灯密匙";6 P* s6 ]/ O# [0 y9 B
- char ssid[] = "你家的WIFI名称";3 [& ?& W: \7 V* ]1 D- H
- char pswd[] = "你家的WIFI密码";
5 W* [ _0 F6 H/ ^ - void aligeniePowerStatedata(const String & data){
/ e& T) s& j" [$ V f) @% z - if (data == BLINKER_CMD_ON) {
' X b7 A1 J& ^1 C0 x9 G- p - BlinkerAliGenie.powerState("off");
1 _8 ?( f' n8 `1 R. N8 O1 I$ s0 S - BlinkerAliGenie.print();* A, L; h& O$ q" T5 p. \$ ?) H# ?
- digitalWrite(2,LOW); //控制的是2脚,也就是板载LED灯! I+ |1 @ X. A. B6 H
- ( R" e) y3 W+ ^) h* `7 @/ E9 O# w
- } else if (data == BLINKER_CMD_OFF) {4 E) J: ^3 X& C: C: l( Y, q( y
- digitalWrite(2,HIGH);' U- D, R4 i/ f' L- i
- BlinkerAliGenie.powerState("off");
0 \: N. E6 f. [ - BlinkerAliGenie.print();
2 K4 d: g3 N O) b ^5 z, }( k" l7 r2 j - }
/ ]9 j+ Y- I8 K - }
1 L$ G4 p" t! ?. T0 e8 O
9 o, \1 I/ ~9 r7 ~- void setup(){
' h4 N# o" v9 T3 T4 O6 o& w N - Blinker.begin(auth,ssid,pswd);
3 a7 w* Q) t% F$ w3 ^ - pinMode(2, OUTPUT);+ G. K& ]- C7 |2 s5 S
- digitalWrite(2,HIGH);
1 a3 O t! T: q2 w/ U0 `
! a1 d+ D6 A1 Y o' u* a- BlinkerAliGenie.attachPowerState(aligeniePowerStatedata);
c, I* K4 A( _3 T - }+ M( j3 Q. h* b. \% C% I: j x
! s' C) @- {! e- void loop(){
6 R' r5 [' d7 x: R' \ - Blinker.run(); ^6 ?( d+ ~4 s1 q9 X% N
- ' o6 M3 O& T V7 z
- }
复制代码 . M- u0 Q* \+ Z( p
; d) y# h& k: H上传好之后,在天猫中添加点灯(点右上解+号>搜“blinker”),扫描到刚刚才已经上传程序并联网的8266设备,简单设置一下你的设备属性就可以了,比如你的是灯还是插座,是客厅还是房间。8 t, W4 P e; p4 n+ D7 }4 @: L F
: b5 F' n; }- p' D. O
5 F1 X' H( i, w0 C% |设好后就可以试试用你的天猫控制了,够简单了吧?
- i: e9 [& f( ]为了初学者一时找不到模块,我把实例放附件了。% J" c& [7 ?! ]* S
( Y8 O" `% y- z( B
5 @% ?; }9 e& j1 @' J, u5 n) d g |
评分
-
查看全部评分
|