声控灯

   声控灯是通过声音控制开灯的技术,适用于使用声音控制开灯的场景,特别是楼宇、住宅楼的公共场合,例如楼梯间、走廊、大厅等场所,它可减少人工开关电灯的麻烦,解放您的双手,可避免您的双手接触公共开关,降低接触细菌的可能,同时把灯的状态上报至云端,灯的管理者可实时查看灯的状态信息。

简介

   本案例介绍的声控灯是通过声音控制开灯一个解决方案,具备使用简单、开发成本低、节能环保等特点。本案例为了更好玩使用了RGB LED,每次开灯颜色都会变化,并把灯开关的状态上报至云端,云端可以实时查看灯的状态。

背景知识

   声音传感器是充当收音的作用,用来接收声波,使话筒内的驻极体薄膜震动导致电容的变化,产生0-5V的微小电压,经过A/D转换被数据采集器接收。

   RGB LED是红绿蓝三色混光而成,在光的混色上,具备更多元的特性。

准备

  1. ESP32开发板一套
  2. 声音传感器一个
  3. RGB LED一个
  4. 母对母杜邦连接线若干

涉及到的硬件购买链接如下,仅供参考,不负责商家发货的品质保障等问题!

名称 数量 参考链接
ESP32开发板 1套 ESP32开发板一套
RGB LED 1个 RGB LED
声音传感器 1个 声音传感器一个
母对母杜邦线 7根 母对母杜邦线 请选用10cm长即可

硬件连线图

   硬件连线图如下图所示:

物联网平台开发

开通公共实例

   对于第一次使用物联网平台的读者,需要开通实例以使用物联网平台的功能。这里可以使用免费的公共实例进行开发。

   在物联网平台中,左上角选择“华东2-上海”,点击“公共实例”,即可开通。

开通物联网平台功能之后,需要完成下面的3个步骤完成云端设备的设定:

  1. 创建云端产品
  2. 创建产品属性(物模型)
  3. 创建云端设备(获取三元组)

创建云端产品

   点击上图中的“公共实例”,即可进入控制台进行产品创建。然后,点击创建产品按钮,如下图所示。

   选择之后,点击“确认”按钮,即可完成产品创建。如下图所示

创建产品属性(物模型)

   点击前往定义物模型后,调整至下面页面,如下图所示。

   点击编辑草稿,导入物模型文件点击下载物模型文件,直接导入后选择发布上线,如下图所示。

创建云端设备(获取三元组)

   在产品列表页面中,点击“管理设备”,就会进到设备管理页面。

   在“设备”页面点击“添加设备”按钮,在“添加设备”页面中设定“deviceName”,这里开发者可以自己填入自己想设定的设备名称,如下图所示。

设备添加完成后,如下图所示。

获取设备三元组

   如下图所示,在设备列表中点击“查看”按钮,就可以看到设备的三元组信息。

   设备三元组是指产品Key(productKey)、设备名称(DeviceName)、设备秘钥(DeviceSecret)。

   三元组是物联网设备端和物联网云端设备相关联的唯一标识符,在设备端连接云端的时候会使用三元组信息和云端进行鉴权,鉴权通过之后云端会认为设备已激活并上线。设备三元组在后面设备端开发时会用到,请注意保存。

设备端开发

开发环境

   在进行下一步之前请确保ESP32开发环境已经搭建完毕。详情请参考ESP32开发环境的说明。

创建解决方案

   如下图所示,打开VS Code之后在新建一个基于helloworld的python工程,设定好工程名称(“sound_led”)及工作区路径之后,硬件类型选择nodemcu32s,点击立即创建,创建一个Python轻应用的解决方案。

   下载本案例代码并解压将所有文件复制后覆盖“sound_led”工程根目录原有文件,然后进行如下设定完成设备端代码的开发。

Python脚本的详细说明请参考脚本内嵌的文字注释

  1. 修改路由器名称及密码

   修改sound_led工程里main.py中SSID和PWD的值为读者实际要连接的路由器的名称及密码(请注意名称和密码都需要放在''符号中间)。

# Wi-Fi SSID和Password设置
SSID='Your-AP-SSID'
PWD='Your-AP-Password'

   修改完成之后connect_wifi函数就会连接读者自己设定的路由器。

  1. 修改设备的三元组信息

   把“获取设备的三元组”章节中获取的三元组信息填入main.py中:

# HaaS设备三元组
productKey = "Your-ProductKey"
deviceName  = "Your-devicename"
deviceSecret  = "Your-deviceSecret"
  1. 修改LED灯颜色

   在sound_led工程里main.py,set_color_reference函数里,修改gLedColor值即可达到修改灯颜色目标。

# RGD灯颜色设置
gLedColor = 0xff0000
  1. 调整开灯的声音阈值

   在sound_led工程里main.py,sound_thread()函数里,修改gDecibelValue值即可达到调整开灯灵敏度,代码里的值是根据工作环境定义的经验值,开发者可根据自身情况定制修改。

  1. 调整开灯的时长

   在sound_led工程里main.py,sound_thread()函数里,修改led_open()函数下面的utime.sleep_ms(6000)来控制每次亮灯时间(1000代表1秒钟)。

# 声音采集线程
# 声音采集线程
def sound_thread():global gOpenLedprint('启动声音采集线程')decibelValue = 0while True:# 采集声音decibelValue = get_decibel()# 判断分贝if decibelValue > gDecibelValue and gOpenLed == False:print("声波转换后的值%s"% (decibelValue))gOpenLed = True# 开灯led_open(set_color_reference())# 亮灯6秒utime.sleep_ms(6000)# 关灯led_close()gOpenLed = False# 监听获取声音的频率,间隔不能太长,延迟大会导致不精确utime.sleep_ms(10)

运行程序

   推送此脚本到设备之后,串口会周期性的打印日志,设备上通过串口打印的信息如下图所示。

Wi-Fi is connecting...
Wi-Fi is connected
IP: 192.168.3.226
NTP start
NTP done
establish tcp connection with server(host='a1HOXQ1AMTs.iot-as-mqtt.cn-shanghai.aliyuncs.com', port=[443])
tcp_connect: can only connect from state CLOSED
success to establish tcp, fd=54
link platform connected
启动声音采集线程
声波转换后的值1540
开灯
属性上报成功
关灯
属性上报成功

云端查看

进入阿里云官网,用阿里云账号登录物联网平台查看状态

到此为止,声控灯案例就已经完成了。如果想学习更多实验,请参考HaaS案例实践详解。

后记

   笔者这里以一个声控灯为例进行介绍,建议读者可以尝试把多个声控灯的状态一起上报,使用IoT Studio制作一个控制面板对所有灯的状态进行展

来这里探索更多有趣案例

HaaS开发框架HaaS积木方案,赋能生态开发者,让您快速找到自己需要的解决方案,硬件主板与外设,以及各种应用组件。https://haas.iot.aliyun.com/solution

【毕设参考】ESP32 + HaaS Python 打造数据上云声控灯相关推荐

  1. 【毕设参考】 HaaS Python 打造工业级光伏面板监控上云系统

    来这里发现更多有趣案例 HaaS开发框架HaaS积木方案,赋能生态开发者,让您快速找到自己需要的解决方案,硬件主板与外设,以及各种应用组件.https://haas.iot.aliyun.com/so ...

  2. 【毕设参考】ESP32 + HaaS Python 打造可以远程控制的智能风扇

    智能小风扇    下图是本案例除硬件连线外的3步导学,每个步骤中实现的功能请参考图中的说明. 简介    在日常生活中,我们经常需要一些通过风扇降温的场景,比如说机房,电脑主机等等.通常情况下,我们都 ...

  3. 【毕设参考】ESP32 + HaaS Python 打造的噪音检测系统,远离喧嚣,安享静谧

    噪音检测系统    下图是本案例除硬件连线外的3步导学,每个步骤中实现的功能请参考图中的说明.在硬件连线完成之后我们建议您先使用"一分钟上云体验"功能预先体验本案例的实际运行效果. ...

  4. 【毕设参考】ESP32 + HaaS Python打造可以统计流量的自动感应门系统

       下图是本案例的四步导学. 简介    目前很多写字楼.酒店等入口都采用自动感应的方式开门.关门,当有人靠近时,门就会自动打开,远离时会自动关门:有时候也需要将自动门设置常开状态,比如需要多次进出 ...

  5. 【毕设参考】ESP32 + HaaS Python 打造在线空气质量检测器

    空气检测系统    下图是本案例除硬件连线外的3步导学,每个步骤中实现的功能请参考图中的说明. 简介    近几年空气污染逐渐变重,很多人对空气质量愈发关心.及时检测周报环境的空气质量并通过钉钉通知相 ...

  6. 使用ESP32 + HaaS Python打造运动心率检测系统 云上实时守护运动健康

       当今社会,人们经常通过跑步等运动方式来健身.适量的运动可以提高免疫力,促进身心健康. 然而,无论是跑步,还是其他的健身运动,如果运动过量就会对身体造成损害,甚至导致休克.猝死等严重后果.    ...

  7. 工科生的信仰 ESP32 + HaaS Python 打造HaaS收音机

    HaaS收音机 简介 FM收音机作为上世纪的产物,一度是大家日常使用最多的工具之一,现在已经很少用到,主要还是用在汽车上.一台经典的收音机往往能勾起很多人的回忆.本案例教大家如何快速打造一台物联网FM ...

  8. 用 ESP32 + HaaS Python 打造 RFID 智能刷卡门禁系统

    简介    我们每天进小区人行通道的时候,都会带一张卡或者一个小扣子,进小区以前往往要把小扣子靠近一下闸机,然后门才开,那这一套闸机系统是怎么实现的呢? 本章课程将一步步教会大家如何去学习并且打造一套 ...

  9. 使用 ESP32 + HaaS Python 打造智能温湿度UI面板

       随着这几年智能家居行业的快速发展,家庭用的智能面板越来越普及.智能面板不仅可以用来显示时间.家用电器的状态.回家/离家模式选择还可以用来调节空调温度.加湿器状态等等信息,给人们的生活带来了很多便 ...

最新文章

  1. json 字符串反序列化成DataSet
  2. 基于Spring Boot+Vue的考试系统
  3. 用MSBuild.... DailyBuild和软件开发流程的东东
  4. 新iPhone机模曝光:依旧三款配色 难有渐变机身
  5. bilibili源码_bilibili源码泄漏后,程序员们从代码里扒出来的彩蛋
  6. 如何理性看待 5G 速率提升?
  7. 成为管理层必会的技能之一!利用Python打造一款员工管理系统~
  8. 三年级计算机之父童年教学设计,三年级语文计算机之父的童年故事课文教学设计...
  9. 51单片机 独立按键k1控制数码管移位 k2控制数值加
  10. 什么是OsmocomBB
  11. 程序设计——第七周作业(Floyd:胜负未知场数;dijkstra:猫猫快线最快线路;SPFA:城市收税)
  12. 2014年互联网IT公司产品、技术类人员工资待遇汇总 2015部分补充
  13. 创新谈-数据库概念设计之几点见解-吴雨光
  14. 设计师值得收藏的5个设计网站
  15. Jackson转换JSON
  16. 284页beego官方中文文档,Go语言进阶必备
  17. 地表最强:iOS安全黑宝书中文版来袭(赠书)
  18. 蒙特卡洛 股票 matlab,风险管理matlab蒙特卡洛模拟股票价格
  19. 实力见证!企企通斩获「2021年软件行业应用领域领军企业」殊荣
  20. python下载在电脑是怎么样的_怎样在电脑上下载哔哩哔哩的视频?

热门文章

  1. 2017传感器总体发展趋势分析
  2. freeswitch使用自签证书,配置WSS
  3. solidity的call跟delegatecall
  4. 神州版win10不能安装Oracle,深度win7系统无法安装Oracle10g如何解决
  5. latex插入中文参考文献
  6. c语言通讯录论文免费下载,C语言通讯录程序设计.doc
  7. MySQL | 常用函数+实用技巧
  8. python爬虫爬取新浪网站新闻内容
  9. 医疗护士专用PPT模板
  10. Linux环境下如何让可执行文件在shell中执行