网站首页 > 开源技术 正文
有的小朋友会做可以远程控制的台灯?有的小朋友给妈妈做了花草监护器?还有小朋友给爸爸做了减肥沙发?“别人家的孩子”这么厉害了吗!?你们也能!
只需要拥有这样一本书,然后认真学习就可以啦!
实用的远程烟雾报警器、酷炫的舞台七彩灯,那个叫“麦熊战车”的停车位检测装置、神奇的教室感应灯,还有足以引出很多烧脑迷题的教室人数统计器……所有这些,都能在这本书里找到!
我们一起来找一些可以利用的材料(LED灯、传感器小模块以及Laserblock-loT木板),打开手机端Blynk App,一步一步,做出你们自己的物联网创意作品吧!
《物联网So Easy》先介绍物联网的一些概念,并在认识物联网开发板的基础上介绍搭建物联网开发环境的方法;接着通过实现远程控制台灯、定时风扇等初级项目,引导读者利用手机与硬件完成互相发送简单命令、实现远程控制、远程数据获取等任务。随着项目的深入,《物联网So Easy》将介绍网络校准时钟、校园气象站等中级项目,进而介绍远程红绿灯、教室人数统计器等高级项目,最终帮助读者掌握复杂数据的发送与接收、硬件与硬件之间的通信与桥接等技能。
通过阅读本书,读者可以掌握Blynk物联网开发技术的相关知识,了解物联网的开发原理与步骤,能够独立开发物联网项目。
本书适合具有图形化编程(Scratch、Mixly等)基础的小学高年级学生以及对物联网等创客技术感兴趣的初、高中学生阅读,也可供中小学信息技术教师、培训机构的创客教师阅读参考。
主体目录:
第一部分 准备篇免费
- 第1章 初识物联网免费
- 第2章 认识物联网开发板免费
- 第3章 搭建物联网开发环境免费
第二部分 基础项目实践篇
- 第4章 远程控制台灯
- 第5章 走廊噪声检测仪
- 第6章 远程开门
- 第7章 远程烟雾报警器
- 第8章 花草伴侣
- 第9章 定时风扇
第三部分 中级项目实践篇
- 第10章 教室感应灯
- 第11章 网络校准时钟
- 第12章 远程音乐播放器
- 第13章 停车位检测装置
- 第14章 校园气象站
- 第15章 舞台七彩灯
第四部分 高级项目实践篇
- 第16章 远程红绿灯
- 第17章 儿童起夜提醒器
- 第18章 教室人数统计器
第五部分 附录
- 附录A 常见问题及处理方法
- 附录B 结构搭建技巧
- 附录C 搭建Blynk本地服务器
- 附录D 课堂教学实施策略
样章试读:
远程控制台灯
项目背景
材料准备
USB电源模块
USB电源模块是一款数字信号执行器,可以通过程序控制其数字信号的高低电平,从而控制连接在其USB接口上的设备的工作状态。在USB电源模块上写有大写字母“D”(Digital),表明这是一款数字执行器,可以连接在物联网开发板的任何一个数字管脚上。比如,在USB电源模块连接一个USB台灯,就可以通过程序来控制台灯的开关和亮度。
USB电源模块
USB小台灯
右图所示的是一款小巧便携的,可以连接在电脑USB接口或充电宝等设备上的小台灯。其内部采用LED发光,具有亮度高和能耗低的特点,在创客项目制作中常用于模拟台灯。
USB小台灯
识点:数字信号
简单地说,数字信号就是只有0和1两种状态的信号。在生活中,数字信号的例子随处可见,比如电灯的开和关就可以与数字信号的1和0对应,声音的有和无也可以与数字信号的1和0对应。在电路中,数字信号可以表现为通路和断路,当然也可以表现为高电平和低电平。
思路分析
一个完整的物联网控制系统需要包含以下几个模块。
- App端:通过App接收数据、发送命令。
- 物联网开发板:作为整个物联网控制系统的核心,物联网开发板承担着采集数据、发送数据、处理数据等任务。
- Blynk服务器:用于存储信息,作为App端与开发板的中介。
- 路由器:路由器是物联网开发板连入网络的第一道门槛。将物联网开发板连接到路由器后,才能连上Blynk服务器。
以上各模块的关系图如图4-1所示。
图4-1 物联网控制系统各模块的关系图
当我们使用手机控制小台灯时,手机会发送一个命令到Blynk服务器上。为了准确控制某一块开发板上某一个接口的设备,发送的命令必须包含以下信息:授权码(用于App与物联网开发板匹配)、管脚号(台灯连接管脚号)和命令(开或关)。
手机发送的命令会存储在Blynk服务器中,而物联网开发板会时刻[1]与Blynk服务器保持联系。一旦物联网开发板获取到手机发送的命令,就会执行该命令。
在本项目中,按下手机上的按钮,将台灯设为“开”后,物联网开发板就会点亮GPIO 12号管脚的台灯。
知识点:授权码(Auth Taken)
授权码是在Blynk App中创建新项目时生成的一串具有唯一性的编码。在编写程序时,需要将该授权码写入程序。将手机和物联网开发板连接到网络后,手机App与物联网开发板凭授权码互相对应。
硬件连接
将USB电源模块连接到物联网开发板的GPIO 12号管脚,再将USB小台灯连接到USB电源模块上,电路连接如图4-2所示。
图4-2 电路连接
创建项目
创建项目的具体步骤如下。
步骤一:添加项目
打开手机上的Blynk App,通过单击“New Project”来新建项目,如图4-3所示。
图4-3 新建项目
在“Create New Project”(新建项目)页面输入项目名称,选择ESP8266硬件类型,然后单击“Create”按钮,即可创建项目,如图4-4所示。
图4-4 设置项目名称
项目创建完成后,系统就会给你的邮箱发送一封包含授权码的邮件。当然,你也可以在项目设置中再次找到该授权码,如图4-5所示。项目初始页面如图4-6所示。
图4-5 发送授权码
图4-6 项目初始页面
在“Project Settings”(项目设置)中,找到AUTH TOKENS(授权码)。它有两个功能:“Email all”(发送全部授权码到邮箱)和“Copy all”(复制全部授权码到剪贴板)。我们可以选择“Copy all”,然后通过QQ、微信等即时通讯工具将授权码从手机发送到电脑,如图4-7所示。
图4-7 项目设置页面
创建好项目后,相当于在Blynk App中创建了一个控制台灯App,当然这个App目前是空白的,没有任何功能。
常见的台灯往往只有一个开关,而一部分台灯还会带有调光的功能。那么在Blynk App中,和这两个功能对应的是“Button”(按钮)组件和 “Slider”(滑杆)组件,如图4-8所示。
图4-8 添加组件
步骤二:添加Button (按钮)组件
选择“Button”,项目页面上就会出现一个Button组件,如图4-9所示。在本项目中,Button组件用于控制台灯的亮灭。
图4-9 添加Button组件
单击项目页面上的Button组件,进入其设置页面,如图4-10所示,各项参数设置详见表4-1。
图4-10 Button组件的参数设置
表4-1 Button组件参数设置与说明(略)
步骤三:添加Slider (滑杆)组件
设置完Button组件后,我们再来添加一个Slider组件,用于控制台灯的亮度。Slider组件跟滑杆传感器类似,可以通过滑杆让物联网开发板输出一个模拟值,这个模拟值一般可以用来控制灯的亮度、风扇的转速等,如图4-11所示,Slider组件各参数设置详见表4-2。
图4-11 Slider组件参数设置
表4-2 Slider组件参数设置与说明(略)
知识点:模拟信号
在日常生活中,灯的开关、声音的有无可以用数字信号来表示。数字信号是最简单的信号,只有0和1两种状态。但是,生活中还有很多物理量不是简单的数字信号可以表示的,比如光的强弱、声音的大小,这些物理量在有和无之间还有很多中间状态。为了表示这些中间状态,可以对0和1之间的值再次细分。由于物联网开发板的细分精度为10bit,因此可以细分成210份,即1024份。
比如,将台灯亮度设置100,是比较暗的;如果将亮度设置为500,就会亮很多;当设置值达到1023时,亮度最高。
知识点:能量值(Engrey)
在Blynk App中添加组件时,我们发现每添加一个组件都需要消耗能量。组件的功能越复杂,需要消耗的能量也越多。在注册Blynk账号时,系统会提供2000点初始能量。如果想要使用更多的能量,你可以自行搭建Blynk服务器(详见附录)。
程序实现
用Mixly编写程序
打开Mixly软件,首先选择正确的开发板类型“Generic_ESP8266”,如图4-12所示。在后续章节中,如无特殊说明,开发板将默认选择Generic_ESP8266,不再赘述。
图4-12 选择开发板类型Generic_ESP8266
然后在“模块”界面中选择“Blynk IoT”,将“服务器信息”模块拖动到代码区,如图4-13所示。
图4-13 Blynk IoT类别
为了让物联网开发板能够受手机的控制,你需要知道家里的Wi-Fi名称和Wi-Fi密码,这样就能将物联网开发板连接到网络中。另外,还需要知道Blynk App上产生的授权码。授权码是Blynk App与物联网开发板之间互相对应的唯一编码。有了这3个信息后,我们就可以用手机控制物联网开发板了。远程控制台灯的Mixly程序如图4-14所示。
图4-14 远程控制台灯的Mixly程序
编写好程序后,检查开发板类型是否正确,选择正确的端口,上传程序,此时需要稍等片刻,如图4-15所示。
图4-15 Mixly上传程序
程序上传完成后,打开串口监视器后,按下物联网开发板上的RESET按键。如果能在串口监视器中看到类似于图4-16所示的信息,就说明已经成功连接到Blynk服务器。
图4-16 Mixly串口监视器输出信息
连接成功后,打开Blynk App,可以看到物联网开发板已经连接到App。
如果连接失败,则要检查Wi-Fi信息、授权码等是否填写正确。
用Arduino IDE编写程序
打开 Arduino IDE软件,选择“文件”→“示例”→“Blynk”→“GettingStarted”→“BlynkBlink”,打开示例项目。
一个Arduino程序至少包含setup函数和loop函数。setup函数主要包括程序的初始化操作,程序只会被执行一次。loop函数中的程序作为主程序会被反复执行。
在Blynk物联网编程中,首先需要引入与物联网通信相关的库文件。
#define BLYNK_PRINT Serial // 开启串口监视 #include <ESP8266Wi-Fi.h> #include <BlynkSimpleESP8266.h>
还要将授权码写入程序中。
char auth[] = "c6832f4a969b403c98ded86677bc16cc";//授权码
要将物联网开发板连接到网络中,需获取所在环境的Wi-Fi名称和Wi-Fi密码。
char ssid[] = "ssid";//Wi-Fi名称 char pass[] = "psssword";//Wi-Fi密码
有了这些信息之后,在setup函数中,可以通过Blynk.begin()函数让物联网开发板连接到Blynk服务器上。
void setup() { Serial.begin(9600); Blynk.begin(auth, ssid, pass);//官方服务器 }
而在loop函数中,通过调用Blynk.run();就可以让物联网开发板与Blynk服务器保持联系。
void loop() { Blynk.run(); }
上传程序前,要根据所使用的物联网开发板进行设置。选择“工具”→“开发板:"Generic_ESP8266"”[2],选择“Generic_ESP8266”,如图4-17所示。
图4-17 选择开发板类型
再选择物联网开发板连接的端口,此处选择COM3,如图4-18所示。
图4-18 选择端口
完成以上两项设置后,我们就可以将程序上传到开发板上了。单击Arduino IDE软件左上角的“上传”按钮,上传程序,如图4-19所示。
图4-19 “上传”按钮
稍等片刻,程序正常上传后,界面中会显示出上传成功的消息,如图4-20所示。
图4-20 上传成功消息
程序上传完成后,我们怎么才能知道物联网开发板已经连接到Blynk服务器上了呢?
在Arduino IDE软件右上角,打开串口监视器,如图4-21所示。
图4-21 串口监视器
打开串口监视器后,按下物联网开发板上的“RESET”按键。如果能在串口监视器中看到类似图4-22所示的信息,就说明物联网已经成功连接到Blynk服务器了。
图4-22 Arduino IDE串口监视器输出信息
如果没有看到Ready信息,那么说明没有将物联网开发板正确连接到Blynk服务器,请再次检查Wi-Fi信息和授权码是否正确。
效果演示
我们可以利用Laserblock-IoT木板搭建一个台灯模型,将主板隐藏在木板下方,并在模型上写上图4-23所示的文字。
图4-23 远程控制台灯作品完成图
当程序上传完成后,在Blynk App中,按钮处于关闭状态,实际的USB小台灯也处于关闭状态,如图4-24所示。
图4-24 台灯处于关闭状态
按下Blynk App上的开关键,USB小台灯立刻点亮,如图4-25所示。
图4-25 台灯处于开启状态
测试调光功能,拖动亮度滑杆,将亮度设为202,看到小台灯灯光比较暗,如图4-26所示。
图4-26 台灯亮度设置为202
继续向右侧滑动滑杆,将亮度设置为508,效果如图4-27所示。
图4-27 台灯亮度设置为508
继续向右侧滑动滑杆,将亮度设置为971,效果如图4-28所示。
图4-28 台灯亮度设置为971
经过测试,确定开关能控制小台灯的亮灭,亮度滑块能控制小台灯的亮度。
视频演示(略)
项目小结
制作完远程控制台灯之后,我们再回过头来复习一下这个项目,回顾一下整个开发流程。可以发现,其中有3个参数非常重要,它们分别是授权码、Wi-Fi名称和Wi-Fi密码。
将物联网开发板接入互联网需要用到Wi-Fi名称和Wi-Fi密码。Blynk App和开发板的对应关系由授权码决定。
猜你喜欢
- 2025-05-27 Mixly第26课 人体红外感应灯
- 2025-05-27 Mixly第24课 遥控LED灯
- 2025-05-27 红外遥控器家电设备,米思奇Mixly图形化统程ESP8266
- 2025-05-27 和爷爷一起学Arduino:让控制板上的LED闪烁
- 2025-05-27 Mixly第4课 呼吸灯
- 2024-08-30 Mixly第19课 超声波雷达(雷达 超声波 电磁波)
- 2024-08-30 Arduino教程┃五分钟全面了解数字红外避障传感器「图文教程」
- 2024-08-30 Mixly第6课 花式流水灯(花式流水灯原理图)
- 2024-08-30 Mixly第15课 舵机的使用(舵机使用说明)
- 2024-08-30 Mixly第8课 按键实验扩展(mixly按键控制灯)
你 发表评论:
欢迎- 最近发表
-
- 后端服务太慢?试试这 7 招(后端 服务端 区别)
- 做一个适合二次开发的低代码平台,把程序员从curd中解脱出来-1
- Caffeine缓存 最快缓存 内存缓存(caffeine缓存使用)
- Java性能优化的10大策略(java性能调优从哪几个方面入手)
- New Balance M576PGT 全新配色设计
- x-cmd pkg | qrencode - 二维码生成工具
- 平和精英抽奖概率是多少 平和精英抽奖物品一览
- x-cmd pkg | tmux - 开源终端多路复用器(terminal multiplexer)
- 漫威官方App中文版上线:全站漫画限时免费
- macOS Monterey 12.7.4 (21H1123) 正式版发布,ISO、IPSW、PKG 下载
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)