|
|
发表于 2021-8-16 17:50:50
|
查看: 10422 |
回复: 13
米思齐(Mixly),是一个全中文可视化的arduino软件,使用起来直观易懂,今天给大家介绍一个可能是最简单的天猫精灵控制ESP8266的开关实例。只要会用电脑就行,不懂英语的人也一看就会。而且美思齐的库功能也是非常强大,很多库是软件集成了,不像arduino一样还要一个个自己装。对于arduino初学者,很多库代码搞不清楚用途,也可以通过美思奇对照学习。
( N3 Z/ u4 B1 B
4 G$ a8 z+ c0 [ y) W7 h; V4 K* n F5 o8 Z0 ?0 J9 `9 ?
需要的东西有:5 x4 D3 j! k; D+ w* t7 P5 ]
首先得有一个天猫精灵,闲鱼30包邮可以买到方糖。
( f7 s6 E' b ^' v0 r/ u你还得有一个ESP8266,带串口的也就10来块钱。要是想省想,可买不带串口的,烧录麻烦一点点,而且一般是3.3V供电,大概5-6元。% N" Z7 E7 b8 k. w
你要是控制电灯,你得有一个5V续电器。
U4 ~( C W; X* N& R手机上面装好天猫精灵和点灯科技的APP,在点灯上面添加一个独立设备>网络接入>阿里云。得到一个KEY,这个KEY是用在下面的程序中的设备密匙中。# x9 }' y% G6 w0 s/ N C. s
" J0 T2 p: h2 H! _8 u0 B, L
, n- e3 O) d0 i$ T, Y @$ n
装好米思齐,并安装点灯物联库就可以了。3 X3 ?7 L9 [/ ]) }
& a9 d2 n; ]9 {$ ?4 X
" G( f b5 i( p/ U% P, G% b4 ]( H7 Q# _7 [( g1 L
添加点灯库
, F! |/ m& y1 D5 B# j/ s) s
* ~/ Q" L u! _ }( |6 F K5 T( j
下面KEY是点灯APP上面得到的,WIFI和密码就是你家的。下面的管脚2是8266的板载灯,你可以接个5V续电器。9 |1 e! m0 g% l2 U
; L# }+ Y6 j: Y
, ~- b5 x; K1 ]: e
因为我的8266设电平为(高)时灯为灭,如果你上传后发现是亮的可以改成(低)。相应的下面的也要对调过来。因为程序简单,所以没有设变量。$ e9 x# q) [. p' Y4 q) W& M$ A! A
1 f; q) p! S" c& L" h" N
6 K. b! I& R( y! G" U& v6 B改好之后上传,注意8266和端口不要错了。5 Y% Y8 C; y7 o5 W H, `
% l& `0 l" m! s# ]
' C& o, O5 |/ N8 t0 H) U+ @/ [# s
, k: G! o% ?% X1 T
% c: D+ r7 s% G# O
9 Y) U" Z# U& |% l如果有安装arduino可以直接拷下面的代码上传- #define BLINKER_ALIGENIE_OUTLET
0 D. n8 ^, r7 n, ? - #define BLINKER_WIFI" v6 R% I, @ i g4 }! j
- #include <Blinker.h>. D: L0 T* I* Y% q) R
$ x9 X1 v# [; r6 X" T- char auth[] = "点灯密匙";
& y& H5 F9 ]" E$ x3 J - char ssid[] = "你家的WIFI名称";
& ?0 i3 L0 a2 n3 I$ ~& {# Z8 |6 ] - char pswd[] = "你家的WIFI密码";
( ]$ V, J' m I& B7 z - void aligeniePowerStatedata(const String & data){
& C- L9 _4 a1 W p5 [ - if (data == BLINKER_CMD_ON) {
8 ]5 ^4 c) t4 w% V - BlinkerAliGenie.powerState("off");; W. ~. n0 q( [" u
- BlinkerAliGenie.print();- j$ @( x* @6 ?0 v/ t2 r% ^4 y' l1 g
- digitalWrite(2,LOW); //控制的是2脚,也就是板载LED灯. x. e/ }* |9 s- f, U3 {
- ( H; @" F! X( Y( B
- } else if (data == BLINKER_CMD_OFF) {/ T5 B7 m& z* B7 W+ P$ i
- digitalWrite(2,HIGH);& N+ \, z) _1 v/ a, c. M
- BlinkerAliGenie.powerState("off");6 k6 ]- P- y; i1 U4 t2 d
- BlinkerAliGenie.print();
* [, U: ~9 k$ @! o* J( Z - }
. t$ |5 e. s6 s8 e. p" H& ~ - }4 I/ e! d! u9 ]1 q3 Z X' G
2 J) z- f4 j3 \' a9 ]- void setup(){
& m4 O' ?( J4 o: f0 } - Blinker.begin(auth,ssid,pswd);
2 N% @" N" W, I( w( y2 t/ I - pinMode(2, OUTPUT);; S T; Q9 B8 r, i% }$ ~
- digitalWrite(2,HIGH);
4 V0 n1 G+ p; s) h# K1 x8 w: W
- ~, M9 F& d8 s$ G( O# `- BlinkerAliGenie.attachPowerState(aligeniePowerStatedata);( J4 h% V: G# v! a$ O
- }3 E' L( u+ s% I3 _& e
. h7 u" n8 c3 Y% y \! o+ S- void loop(){
p* U# {, [% q6 r2 ?! Q& I - Blinker.run();, _. ]5 b, ~/ a0 G3 [$ N# ^9 F7 D
- : J8 G: }9 p( v3 v7 J7 C
- }
复制代码
. V5 O5 W7 H3 o! A: ]2 v% O. a$ m: i6 ^" N2 {
上传好之后,在天猫中添加点灯(点右上解+号>搜“blinker”),扫描到刚刚才已经上传程序并联网的8266设备,简单设置一下你的设备属性就可以了,比如你的是灯还是插座,是客厅还是房间。+ ?, ^* v. d' \+ |
9 t, n7 w/ W# D5 I' r/ B* n, e5 |; h
. Q. h, S2 S4 N! J3 i0 H6 [- m设好后就可以试试用你的天猫控制了,够简单了吧?
2 @* ^ k4 u( {: m7 h为了初学者一时找不到模块,我把实例放附件了。
$ M/ P$ X/ J3 b2 m# P
( ]' M, ? [3 Q! R3 E
) [6 I4 P4 e7 `$ i! W2 C- f |
-
总评分: 渣金 + 13
经验值 + 10
查看全部评分
|