ESP32CAM物联网教学02

ESP32CAM物联网教学02

物联网门锁

小智来到姑姑家门口,按了门铃;还在公司上班的姑姑用电脑给小智开了门,让他先进屋休息。小智对物联网门锁产生了兴趣:什么是物联网?为什么这么厉害?

  • 初识物联网

我们在百度搜索“物联网”,可以查阅到关于物联网的百科知识。

物联网源自英文Internet of Things,简称IOT,指的是物物相连的互联网(或者万物相连的互联网)。

在这个物联网门锁的应用中,小智按动门铃,把开锁的请求通过网络连接,发送到互联网上面的IOT服务器;姑姑利用公司的电脑中接收到了小智的请求,于是就发出了开门的操作命令;开锁的命令经过IOT服务器的转发,被家里的门锁接收,门锁也打开了。

这个物联网门锁的实现原理,和我们平常使用的微信聊天是否有些相似之处呢?小智和姑姑的聊天过程中,增加了一个新的对象,那就是门锁,聊天的内容也和门锁有了密切的关联啦,这个就是物联网的应用实例。

  • 点灯科技物联网

做物联网服务的公司很多,物联网品牌和很多,今天我们就认识一下点灯科技物联网Blinker。

我们在百度搜索“点灯科技”,就能找到点灯科技的官方网站。

我们利用手机号码,可以在点灯科技官网中注册一个新的用户,然后就可以登录进入到官网的用户管理界面了

用户登录后,“快速体验”按钮指向的是开发文档,这里有详细的使用教程;“APP & SDK下载”指向的是一个手机APP的下载,可以把一个安装文件APK下载到电脑中。

当然,如果你对于如何把一个安装文件APK传送到手机中进行安装的操作不够熟练的话,我们这里强烈建议在手机中操作就好,用手机浏览器访问点灯科技官网,再去下载这个安装文件APK。等下载完成后,点击安装就可以了。然后就可以用户的注册、登录了。

  • 注册设备

在手机中,第一次登录“点灯Blinker”,APP会引导你注册设备,点击“添加设备”,选择设备类型为“Arduino”就可以。

这样就进入了第二个界面,在这里,我们可以查看这个设备的密钥,这个密钥等一下ESP32Cam开发板联网的时候需要用到的,如果以后往了这个密钥的话,就要到这里来查看了。

点击第二界面上面的后退按钮“<”,可以进入第三个界面(以后每次打开APP都会直接进入到第三个界面,首次使用会出现第一个界面而已)。这第三个界面是设备管理界面,我们可以点击上面的“+”,来增加第二、第三个设备。已添加的设备会出现在中间的窗口中。

点击第三界面的这个Arduino开发板,会跳转到第四界面,设备控制界面。在这个界面的右上角有两个按钮:“...”是这个设备的属性查看按钮,点击这个按钮可以跳转到第二个界面,查看当前设备的属性(密钥)。铅笔的按钮是控件编辑按钮,点击可以挑战到后面的控件编辑窗口了。

  • 编辑控件

接上面的当前设备的控制界面,点击铅笔编辑按钮,进入第二个界面。

在第二个控件编辑界面,点击底部的“按钮”,添加一个按钮控件到中间的舞台窗口。可以拖动这个控件在窗口中的位置。

点击这个按钮本身,就可以跳转到第三个控件属性编辑界面,在这里我们特别需要注意的是编辑按钮组件键名为“btn-led”,(这个键名可以根据需要自己自由命名,但是这个名字需要记住,因为后面会用到的),然后勾选“开关按键”,其他的默认值就可以了。

编辑完成后,点击右上角的确认打钩按钮“√”,就会跳转到第四界面(其实是返回第二界面),点击右上角的锁形确认修改的按钮,则返回到第一个界面(这时候在第一界面中,会出现刚刚添加的这个按钮了)。

到这里,控件编辑操作就算完成了,我们添加了一个键名为“btn-led”的开关型按钮。

  • 给米思齐导入点灯科技的驱动库

这次我们改用米思齐mixly来编辑ESP32Cam的驱动程序。打开电脑中的米思齐2.0,在开始的界面中选择开发板的类型为“Arduino ESP32”。

    点击米思齐软件右上角的“设置——管理库”按钮。在打开的库管理器窗口中,勾选“Blinker”。选择从云端下载。等待下载完成,这个点灯科技Blinker的驱动库就安装好了。

  • 编辑LED控制程序

安装完点灯科技驱动库后,我们可以在左侧的积木仓库的底部看到“blinker点灯”的积木了。从“blinker”组里面拖动一个“全局区域”的积木组合到舞台中;再从“示例组合”组里面拖动一个“创建按钮”积木组合到舞台中。

接下来就是编辑这两个控件组合的参数了。首先我们选择开发板的类型为“AI Thinker ESP32-Cam”(切记要选择这款的开发板,至于什么原因如果忘了,可以去看前一篇文章)。

输入“设备密钥”“WiFi设备名”“WiFi密码”。修改按钮控件的键名为“btn-led”(和前面的设置一致),修改LED等的端口和控制亮灭的参数。这里对LED灯做一下说明,在这块ESP32Cam开发板中,有一个高亮度的LED灯,作为摄像头补光的闪光灯,连接的端口是4号端口,由于这个灯全开时太亮了,所以我们这里采用PWM模拟输出的方法,让这个灯点亮时亮度压低一些(亮度的控制是模拟输出的值在0——255之间)。

接下来我们可以点击上方的“上传”按钮,用于把这个程序烧写到ESP32Cam开发板中了。等上个三四分钟,就可以看到上传成功。

  • APP物联网控制点灯

把ESP开发板拔出,重新插入电脑中(利用电脑的USB口给开发板提供5V的工作电源)。

在手机中,重新打开点灯科技APP,在设备管理界面中,会看到这个Arduino图形的开发板设备变成彩色的了,表示这个接通电源的ESP32Cam设备已经连接到了点灯科技的物联网服务器了(如果是离线状态,也就是这个设备处于掉线断开时,设备是灰色的。这时候只要用手指往下划手机屏幕,这个程序就会刷新连接检测,刷几次就会看到ESP32Cam设备连接在线了)

这时候点击这个在线的设备,就进入设备控制界面。点击界面上的开关按钮,ESP32Cam开发板上的闪光灯LED点亮了,而APP中的按钮也变成了红色,并用文字显示“灯打开了”(如图所示)。  当再次点击按钮时,则会关闭LED,响应的按钮颜色、文字也会改变了。

需要说明的是,这个是真正的物联网控制。手机APP发送的开灯关灯的指令,发送到了点灯科技的物联网服务器,并由服务器转发给ESP32Cam开发板,由开发板执行LED灯的亮灭;开发板会再次把灯的亮灭状态,用颜色、文字的形式,发送到物联网服务器,并传递给手机APP。

这些交流的信息都是通过互联网传递的,所以不受空间的限制,只要手机APP和ESP32Cam都能连接到互联网,再远的距离就都不是问题了,这就是物联网的厉害之处。而有了点灯科技、米思齐等支持,实现物联网也是这样的简单了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/41592.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

andboxie-Plus - 知名沙盒软件、支持游戏多开测试软件

我们经常会需要用到一些毒瘤软件——它们可能不是真正的恶意软件&#xff0c;但总爱偷摸干一些流氓行为。 工作中&#xff0c;有时还不得不安装使用一些来路不明、不能完全信任的可疑软件。 装上吧&#xff0c;心里膈应、难受&#xff1b;不装吧&#xff0c;有些工作又进行不…

【驱动篇】龙芯LS2K0300之PWM设备驱动

实验目的 利用脉冲调制效应&#xff08;PWM&#xff09;等效改变输出功率大小控制LED&#xff0c;从而实现呼吸灯效果&#xff0c;需要用到RGB LED模块 模块连接 IO 插针接口上一共集成了两路PWM&#xff0c;分别是PWM2和PWM3&#xff0c;对应GPIO88、GPIO89 PWM2和PWM3对…

期末考试结束,老师该如何私发成绩?

随着期末考试的落幕&#xff0c;校园里又恢复了往日的宁静。然而&#xff0c;对于老师们来说&#xff0c;这并不意味着工作的结束&#xff0c;相反&#xff0c;一系列繁琐的任务才刚刚开始。 成绩单的发放&#xff0c;就是其中一项让人头疼的工作。家长们焦急地等待着孩子的考试…

【Linux】在线求助命令--help,man page , info page

我们知道Linux有很多的命令&#xff0c;那LInux要不要背命令&#xff1f; 答案是背最常用的那些就行了 那有的时候我们想查询一些命令的详细用法该怎么办呢&#xff1f; 这里我给出3种方法 1.--help --help的使用方法很简单啊 要查询的命令 --help 我们看个例子 这里我只…

CRT工具

CRT工具 传输位置设置 打开SFTP alt p 命令 ls&#xff1a;远程机器当前目录内容 lls&#xff1a;传输位置文件的目录内容 pwd&#xff1a;远程机器的当前位置 lpwd&#xff1a;传输位置的位置 get 文件&#xff1a;ftp传输文件 get -r 文件夹&#xff1a;ftp传输文件…

大华DSS user_toLoginPage.action命令执行漏洞

免责声明 本文章仅做网络安全技术研究使用&#xff01;严禁用于非法犯罪行为&#xff0c;请严格遵守国家法律法规&#xff1b;请勿利用文章内的相关技术从事非法测试&#xff0c;如因此产生的一切不良后果与文章作者无关。使用本文所提供的信息或工具即视为同意本免责声明&…

go语言day11 错误 defer(),panic(),recover()

错误&#xff1a; 创建错误 1&#xff09;fmt包下提供的方法 fmt.Errorf(" 格式化字符串信息 " &#xff0c; 空接口类型对象 ) 2&#xff09;errors包下提供的方法 errors.New(" 字符串信息 ") 创建自定义错误 需要实现error接口&#xff0c;而error接口…

JavaSe系列二十七: Java正则表达式

正则表达式 为什么要学习正则表达式再提几个问题解决之道-正则表达式正则表达式基本介绍介绍 正则表达式底层实现实例分析 正则表达式语法基本介绍元字符-转义号 \\\\元字符-字符匹配符元字符-选择匹配符元字符-限定符元字符-定位符分组非贪婪匹配 应用实例对字符串进行如下验证…

学习笔记——动态路由——OSPF聚合(汇总)

十一、OSPF聚合(汇总) 1、路由聚合(汇总) 路由汇总是一种重要的思想&#xff0c;在大型的项目中是必须考虑的一个重点事项。随着网络的规模越来越大&#xff0c;网络中的设备所需维护的路由表项也就会越来越多&#xff0c;路由表的规模也就会逐渐变大&#xff0c;而路由表是需…

React中的useMemo和memo

引言 React是一个声明式的JavaScript库&#xff0c;用于构建用户界面。在开发过程中&#xff0c;性能优化是一个重要的方面。useMemo和memo是React提供的工具&#xff0c;用于帮助开发者避免不必要的渲染和计算&#xff0c;从而提升应用性能。 问题背景 在React应用中&#…

实现antd designable平台的组件拖拽功能

平台&#xff1a;designable设计器 github&#xff1a;designable 目录 1 背景2 技术栈3 组件拖拽和放置3.1 类型定义3.2 拖拽3.3 放置 1 背景 由于业务需求&#xff0c;我们需要实现designable平台的一个简易版的组件拖拽功能。 #mermaid-svg-QrxSDGe9YyGG3LbQ {font-family:…

【Unity2D 2022:UI】制作角色血条

一、创建血底UI 1. 创建画布&#xff08;Canvas&#xff09; 2. 在画布上添加血底图像&#xff08;Image&#xff09;子物体 二、编辑血底UI 1. 将血底图片拖入源图像&#xff08;Source Image&#xff09;中 2. 点击设置为图片的原大小&#xff08;Set Native Size&#x…

Java | Leetcode Java题解之第219题存在重复元素II

题目&#xff1a; 题解&#xff1a; class Solution {public boolean containsNearbyDuplicate(int[] nums, int k) {Set<Integer> set new HashSet<Integer>();int length nums.length;for (int i 0; i < length; i) {if (i > k) {set.remove(nums[i - …

# 三 JS的流程控制和函数

三 JS的流程控制和函数 3.1 JS分支结构 if结构 这里的if结构几乎和JAVA中的一样,需要注意的是 if()中的非空字符串会被认为是trueif()中的非零数字会被认为是true 代码 if(false){// 非空字符串 if判断为trueconsole.log(true) }else{console.log(false) } if(){// 长度为0…

GitHub详解:代码托管与协作开发平台

文章目录 一、GitHub简介二、GitHub的核心功能2.1 仓库&#xff08;Repository&#xff09;2.2 版本控制与分支&#xff08;Branch&#xff09;2.3 Pull Request2.4 Issues与Projects2.5 GitHub Actions 三、GitHub的使用方法3.1 注册与登录3.2 创建和管理仓库3.3 使用Git进行代…

【密码学】密码学中的四种攻击方式和两种攻击手段

在密码学中&#xff0c;攻击方式通常指的是密码分析者试图破解加密信息或绕过安全机制的各种策略。根据密码分析者对明文、密文以及加密算法的知识程度&#xff0c;攻击可以分为以下四种基本类型&#xff1a; 一、四种攻击的定义 &#xff08;1&#xff09;唯密文攻击(COA, C…

PCIe驱动开发(2)— 第一个简单驱动编写和测试

PCIe驱动开发&#xff08;2&#xff09;— 第一个简单驱动编写和测试 一、前言 教程参考&#xff1a;02_实战部分_PCIE设备测试 教程参考&#xff1a;03_PCIe设备驱动源码解析 二、驱动编写 新建hello_pcie.c文件 touch hello_pcie.c然后编写内容如下所示&#xff1a; #i…

【持续集成_03课_Jenkins生成Allure报告及Sonar静态扫描】

1、 一、构建之后的配置 1、安装allure插件 安装好之后&#xff0c;可以在这里搜到已经安装的 2、配置allure的allure-commandline 正常配置&#xff0c;是要么在工具里配置&#xff0c;要么在系统里配置 allure-commandline是在工具里进行配置 两种方式进行配置 1&#xff…

原生JavaScript实现录屏功能

1. 前言 使用JavaScript实现浏览器中打开系统录屏功能 示例图: 2. 源码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><…

LabVIEW机器视觉系统中的图像畸变、校准和矫正

在机器视觉应用中&#xff0c;图像畸变、校准和矫正是确保图像准确性的关键步骤。LabVIEW作为一种强大的图像处理和分析工具&#xff0c;提供了一系列功能来处理这些问题。以下是对图像畸变、校准和矫正的详细介绍。 图像畸变 图像畸变 是指由于摄像镜头的光学特性或拍摄角度问…