ESP32CAM物联网教学02

news2025/1/12 15:47:19

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.coloradmin.cn/o/1888869.html

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

相关文章

Mac/Linux安装JMeter压测工具

Mac安装JMeter压测工具 介绍 Apache JMeter™应用程序是开源软件&#xff0c;是一个100%纯的Java应用程序&#xff0c;旨在加载测试功能行为和衡量性能。它最初是为测试Web应用程序而设计的&#xff0c;但后来扩展到其他测试功能。 我能用它做什么&#xff1f; Apache JMet…

SwanLinkOS首批实现与HarmonyOS NEXT互联互通,软通动力子公司鸿湖万联助力鸿蒙生态统一互联

在刚刚落下帷幕的华为开发者大会2024上&#xff0c;伴随全场景智能操作系统HarmonyOS Next的盛大发布&#xff0c;作为基于OpenHarmony的同根同源系统生态&#xff0c;软通动力子公司鸿湖万联全域智能操作系统SwanLinkOS首批实现与HarmonyOS NEXT互联互通&#xff0c;率先攻克基…

二叉树的最近公共祖先-二叉树

236. 二叉树的最近公共祖先 - 力扣&#xff08;LeetCode&#xff09; ​ 递归 lson、rson左右子树&#xff1b; 深度优先遍历&#xff0c;遍历到p或者q就返回ture&#xff1b; class Solution { public:TreeNode* ans;bool dfs(TreeNode* root, TreeNode* p, TreeNode* q){i…

什么游戏加速器好用 网游加速器排行榜

玩游戏经常遇到卡顿和网络延迟等问题&#xff0c;尤其是外服游戏&#xff0c;这时候就需要一个安全稳定快速的加速器&#xff0c;我个人比较推荐“深度加速器。这款款加速器在稳定性和加速效果上都非常不错&#xff0c;而且用户口碑也很好。 在选择加速器时&#xff0c;确实有很…

DGMamba: Domain Generalization via Generalized State Space Model论文笔记

文章目录 DGMamba: Domain Generalization via Generalized State Space Model摘要动机DGMamba设计隐藏状态抑制(HSS)语义感知补丁细化(SPR)免先验扫描域上下文交换上下文patch识别 实验结果 DGMamba: Domain Generalization via Generalized State Space Model paper: https:/…

java到底是值传递还是引用传递

1、一定是值传递&#xff0c;给你的表象也有引用传递是因为对象传递的引用地址&#xff0c;我们在堆里更改了对象的属性值&#xff0c;但是地址没有变更&#xff0c;所以是值传递&#xff0c;可以参考方法的堆栈。 2、本质点看是否new一个新对象&#xff0c;如果new新对象&…

使用 llamaIndex 快速实现智能体

AI 智能体就是可以根据当前环境进行推理&#xff0c;并根据处理结果进行下一步的操作。简单来说 AI 智能体可以与外界环境进行交互&#xff0c;并根据结果执行更复杂的操作。本文将通过llamaIndex 实现一个简单的 Agent 实时获取数据&#xff0c;由于大模型是通过静态数据进行训…

Nginx 1.26.1最新版部署笔记

Nginx是一个高性能的 HTTP 和反向代理服务器&#xff0c;也是一个 IMAP/POP3/SMTP 代理服务器。 以下是 Nginx 的一些核心功能和特点&#xff1a; 高性能的 Web 服务器&#xff1a; Nginx 被设计为处理高并发连接&#xff0c;具有非常高的性能和稳定性。反向代理&#xff1a; …

买华为智驾,晚了肯定要后悔

文 | AUTO芯球 作者 | 雷慢 晚了就来不及了&#xff01; 你买华为系的车&#xff0c;薅羊毛真的要趁早。 华为ADS2.0高阶智驾正在慢慢恢复原价&#xff0c; 你看啊&#xff0c;就在昨天&#xff0c;华为宣布ADS智驾优惠后价格调到3万元&#xff0c; 只有6000元的优惠了。…

音视频开发35 FFmpeg 编码- 将YUV 和 pcm合成一个mp4文件

一 程序的目的 /*** *该程序的目的是: * 将 一个pcm文件 和 一个 yuv文件&#xff0c;合成为一个 0804_out.mp4文件 * pcm文件和yuv文件是从哪里来的呢&#xff1f;是从 sound_in_sync_test.mp4 文件中&#xff0c;使用ffmpeg命令 抽取出来的。 * 这样做的目的是为了对比前…

Zombie Voices Audio Pack(僵尸游戏音频包)

僵尸声音音频包是600多个高质量声波的集合。 它提供了僵尸主题游戏所需的一切&#xff0c;这要归功于它的20多个类别&#xff1a; 攻击、咬、呼吸、窒息、损坏、死亡、进食、血腥、咕噜、大笑、疼痛、反应、尖叫、喉咙、呕吐、单词和句子。 我们的僵尸动画包带来的额外奖励&am…

HarmonyOS Next系列之Echarts图表组件(折线图、柱状图、饼图等)实现(八)

系列文章目录 HarmonyOS Next 系列之省市区弹窗选择器实现&#xff08;一&#xff09; HarmonyOS Next 系列之验证码输入组件实现&#xff08;二&#xff09; HarmonyOS Next 系列之底部标签栏TabBar实现&#xff08;三&#xff09; HarmonyOS Next 系列之HTTP请求封装和Token…

【List】判断集合相等、集合拷贝

【List】判断集合相等、集合拷贝 【一】判断集合是否相等【1】☆使用list中的containAll【2】使用for循环遍历contains方法【3】将list先排序再转为String进行比较【4】使用list.retainAll()方法【5】使用MD5加密方式【6】转换为Java8中的新特性steam流再进行排序来进行比较 【…

2024 MWC上海:创新力量驱动未来先行,移远智慧点亮数字蓝海

6月26日&#xff0c;2024年世界移动通信大会&#xff08;MWC上海&#xff09;如期举行&#xff0c;今年的展会以“未来先行”为主题&#xff0c;涵盖“超越 5G、数智制造和人工智能经济”三大技术主题。移远通信作为全球物联网行业的引领者之一&#xff0c;今年不仅在展示内容上…

快速上手文心一言指令:解锁AI对话新纪元

快速上手文心一言指令 一、引言&#xff1a;文心一言的魅力所在二、准备工作&#xff1a;了解文心一言平台2.1 轻松注册&#xff0c;开启智能对话之旅2.2 深度探索&#xff0c;掌握界面布局奥秘2.2.1 输入框&#xff1a;智慧交流的起点2.2.2 回复区&#xff1a;即时反馈的窗口2…

初识Java(复习版)

一. 什么是Java Java是一种面向对象的编程语言&#xff0c;和C语言有所不同&#xff0c;C语言是一门面向过程的语言。偏底层实现&#xff0c;比较注重底层的逻辑实现。不能一味的说某一种语言特别好&#xff0c;每一种语言都是在特定的情况下有自己的优势。 二.Java语言发展史…

反射--通俗易懂

一、反射(Reflection) 反射就是:加载类&#xff0c;并允许以编程的方式解剖类中的各种成分(成员变量、方法、构造器等) 动态语言&#xff0c;是一类在运行时可以改变其结构的语言&#xff1a;例如新的函数、对象、甚至代码可以被引进&#xff0c;已有的函数可以被删除或是其他…

9.(vue3.x+vite)修改el-input,el-data-picker样式

效果预览 二:相关代码 <template><div style="padding: 50px"><el-input placeholder="请输入模型名称" style="width: 260px" /><br /

OpenELM:开启开放训练和推理框架的高效语言模型家族

随着大模型模型规模的增长&#xff0c;这些强大工具的透明度、可复现性和对数据偏见的敏感性也引起了人们的关注。这些问题不仅关系到研究的开放性和公平性&#xff0c;也关系到模型输出的可信度和安全性。为了应对这些挑战&#xff0c;Apple的研究团队发布了名为OpenELM的新一…

Real-Time 3D Graphics with WebGL2

WebGL渲染管线 下图是WebGL渲染管线的示意图: Vertex Buffer Objects (VBOs) VBOS中包含了用于描述几何体的信息。如&#xff0c;几何体的顶点坐标&#xff0c;法线坐标&#xff0c;颜色&#xff0c;纹理坐标等。 Index Buffer Objects (IBOs) IBOs中包含了描述顶点关系的信…