rzegkly 发表于 2019-1-12 14:51:06

物联网------2019声控音乐灯笼

本帖最后由 rzegkly 于 2019-1-12 22:49 编辑

一阳初夏中大吕,谷粟为粥和豆煮。应时献佛矢心虔,默祝金光济众普。盈几馨香细细浮,堆盘果蔬纷纷聚。共尝佳品达沙门,沙门色相传莲炬。童稚饱腹庆州平,还向街头击腊鼓。   腊八节,俗称“腊八” ,冬至后第三个戌日,即农历十二月初八,古人有祭祀祖先和神灵的祭祀仪式,祈求丰收和吉祥。明天就是腊八节了,读了裘炯涛老师的文章,我被深深的吸引了,于是制作一个《2019声控音乐灯笼》作品分享给大家!一、工作原理:1. 通过手机Blynk App,创建组件;2. 在Blynk物联网服务器平台注册个人用户;3. Mixly For IoT图形化物联网编程软件编写代码;4. Blynk物联网开发平台与掌控板实现数据通信;二、作品思路1、通过手机Blynk App发出“红灯笼”,掌控板点亮灯带,播放《Happy New Year》;2、通过手机Blynk App发出“绿灯笼”,掌控板点亮灯带,播放《Wedding》;3、通过手机Blynk App发出“蓝灯笼”,掌控板点亮灯带,播放《Birthday》;三、代码编写import network,BlynkLib,time,music
from mpython import *
import machine, neopixel
p8 = machine.Pin(26)
p13 = machine.Pin(18)
p14 = machine.Pin(19)
p15 = machine.Pin(21)
p16 = machine.Pin(5)
mylist = ['c4:2','c','c4:4','g5:4', 'e4:2','e','e4:4','c', 'c4:2','e','g4:4','g', 'f4:2','e','d4:8','d4:2','e4', 'f4:4','f','e4:2','d','e4:4','c','c4:2','e','g4:4','g5:4','b5:2','d4:2','c4:8']
oled.fill(0)
oled.DispChar('2019声控音乐灯笼', 16, 16)
oled.show()
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
print('connecting to network...')
wlan.connect('XXXXXXX', 'XXXXXXX')   #wifi信息
while not wlan.isconnected():
    pass
print('network config:', wlan.ifconfig())#输出wifi连接信息
BLYNK_AUTH = 'XXXXXXX29'#Blynk授权码
blynk = BlynkLib.Blynk(BLYNK_AUTH)# 初始化Blynk连接
@blynk.VIRTUAL_WRITE(0)
def v0_write_handler(value):#从Blnyk的V0管脚获取文本
      if value=="红灯笼。":
                np = neopixel.NeoPixel(p15, n=180, bpp=3, timing = 1)
                # 输出引脚 n LED灯的个数 bpp:3:默认为3元组RGB timing:默认等于0,为400KHz速率;等于1,为800KHz速率
                np.fill((255, 0,0))# 填充所有LED像素 r g b 取值0-255
                np.write()      
                display.fill(0)
                music.play(mylist)
      elif value=="绿灯笼。":
                np = neopixel.NeoPixel(p15, n=180, bpp=3, timing = 1)
                # 输出引脚 n LED灯的个数 bpp:3:默认为3元组RGB timing:默认等于0,为400KHz速率;等于1,为800KHz速率
                np.fill((0,255, 0))# 填充所有LED像素 r g b 取值0-255
                np.write()
                music.play(music.WEDDING)
      elif value=="蓝灯笼。":
                np = neopixel.NeoPixel(p15, n=180, bpp=3, timing = 1)
                # 输出引脚 n LED灯的个数 bpp:3:默认为3元组RGB timing:默认等于0,为400KHz速率;等于1,为800KHz速率
                np.fill((0, 0, 180))# 填充所有LED像素 r g b 取值0-255
                np.write()
                music.play(music.BIRTHDAY)
      elif value=="关灯。":
                np = neopixel.NeoPixel(p15, n=180, bpp=3, timing = 1)
                # 输出引脚 n LED灯的个数 bpp:3:默认为3元组RGB timing:默认等于0,为400KHz速率;等于1,为800KHz速率
                np.fill((0, 0, 0))# 填充所有LED像素 r g b 取值0-255
                np.write()      
while True:
      blynk.run()#一直运行blynk
      pass
四、知识拓展1、授权码(Auth Token)   授权码是手机连接硬件需要用到的一个唯一的认证码。每一个新创建的项目都会自动生成一个授权码,该授权码会自动发送到你的邮箱,当然也可以在手机端的项目设置页面中复制授权码。2、Blynk    Blynk是iot应用物联网开发平台,支持的硬件平台多,代码部署简单,而且函数调用接口也是统一的,硬件端只需要设置认证字符串,然后Blynk.begin和Blynk.run就可以运行了,用户不需要关心通信协议问题,上手容易。3、搭建环境   请参考裘炯涛老师教程   https://mc.dfrobot.com.cn/forum.p ... 3946&fromuid=820560

五、视频回放https://v.youku.com/v_show/id_XNDAwOTg1NTcwOA==.html?spm=a2hzp.8244740.0.0

rzyzzxw 发表于 2019-1-13 09:36:06

康老师教程质量很高啊。{:5_148:}
页: [1]
查看完整版本: 物联网------2019声控音乐灯笼