今天周一,首先波波希望看这篇文章的朋友上班有个好心情。其次作为物联网项目的尝试,波波一直在努力自学Python,而这篇文章也是波波第一次使用Python的处女作。
废话不多说,我们上手之前首先需要准备好实验材料。本项目用到的实验材料如下:
1、树莓派开发板一个:(本例采用3b+)
2、Led灯珠一个
3、连接导线两根。本例采用杜邦线。若有条件的同学可以在连接过程中给LED灯珠加一个1k的电阻。
操作步骤:
1、在树莓派上安装Blinker类库。
`git clone https://github.com/blinker-iot/blinker-py`
`cd blinker-py`
`sudo python3 setup.py install`
`sudo pip3 install -r requirements.txt`
2、获取通信密钥Secret Key
下载Blinker手机APP客户端,添加设备后会自动生成一个Secret Key。
3、连接LED到树莓派。
将LED灯的正极连接树莓派37号端口(GPIO),将负极连接39号接口(GPIO,这个是GND)
4、写入LED灯控制程序。
1. from Blinker import Blinker,BlinkerButton
2. from Blinker.BlinkerDebug import \*
3. import RPi.GPIO as GPIO
5. auth = "" #你申请的secret key
6. BLINKER\_DEBUG.debugAll()
8. Blinker.mode("BLINKER\_WIFI") #这是连接模式设置,可以选择蓝牙具体参考官方文档
9. Blinker.begin(auth)
11. button = BlinkerButton("btn-light") #按钮的组件名称,根据你自己在APP上定义的填写
12. GPIO.setmode(GPIO.BOARD) #参考gpio编程手册,用板载序号方便编程,也可以用BCM编码
13. GPIO.setwarnings(False)
14. GPIO.setup(37,GPIO.OUT,initial=GPIO.LOW)
16. light1 = 0 #定义一个全局变量,后边用到!!!
18. def button\_callback(state):
19. global light1
20. BLINKER\_LOG('Button state:',state)
21. #light1 = GPIO.output(37, not GPIO.input(37) )
22. if light1 == 1:
23. GPIO.output(37,0)
24. light1 = 0
25. else:
26. GPIO.output(37,1)
27. light1 = 1
28. button.print(state)
30. def data\_callback(data):
31. BLINKER\_LOG("Blinker readString: ",data);
33. button.attach(button\_callback)
34. Blinker.attach(data\_callback)
36. if \_\_name\_\_ == '\_\_main\_\_':
37. while True:
38. Blinker.run()
5、大功告成!
将上述程序保存后运行,我们就可以通过在手机端BlinkerAPP中,通过点击按钮远程控制LED灯的开关了。
这个例程比较简单,适合新手朋友直接上手操作,有对物联网感兴趣的朋友也可以关注波波的个人博客菠菜园哦~~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。