基于ESP32和ESP8266的物联网开发过程(一)

给大家演示一个小工具,通过Wifi去连接ESP32或者ESP8266出来的一个热点。连接到这个热点之后,可以输密码,也可以不输密码。这里我设置的是不输密码直接进来,我这个是ESP8266。

进来之后直接点配置Wifi,然后可以看到ESP8266。我程序里边有两种模式,一种是联网模式,一种是不联网模式。不联网模式可以直接线下配置,配置就是选上线下离线控制设备,打开open这一个灯,也可以自己去定义。点保存之后这个灯就会亮,可以看到已经亮了。这个是随时可以进行连接的,如果需要关闭的话,再次连接上这个热点,会自动再次跳到这个配置页面。

这是它的一些个信息,用的是ESP8266,一些个空间的使用情况。它这个库也可以进行OTA远程升级。

它的另一个功能就是可以进行一个特别简单的方便的连接onenet的一个方式(方法)。就是把那个ONENET注册之后的那个ID,还有设备名字以及设备密钥填到填到这里边之后点保存,就会自动通过配置的一个网络去进行ONENET的连接。

现在要关上的话就可以进行配置,选这个离线模式,不选这个open就会把这个灯关上。硬件的话,我一开始是买的现成的板子,就是几块钱。这个可以进行继电器的控制,说是支持到12伏,但是因为我这个灯是12伏,我接12伏的时候发烫特别严重,这个ESP8266一直在重启,我就不用他这个继电器板了,自己重新做了一个开关板。也不算自己做的,汆了一个进行开关控制的一块电路,用的是一个降压芯片。这个可以直接从12V降到3.3之后主要是为了给这个ESP866供电。它的ESP866的信号再给这个mos管的控制端,通过这个MOS管去控制这个12伏的导通与关断。

12V降3.3这个模块还是比较贵的,它比这个MOS开关要贵,这个后续有打算做成用两个AMS1117,一个转5伏,一个转3.3伏的。就是先从12伏转到 5伏,转到5伏转3.3伏。那两个模块加起来都没有这一个贵。然后这是用ESP8266方案的,它的话发热基本上没有,ESP8266用的不是那种常联的Wifi,HTTP的协议,用的是MQTT的也比较省电。这种mos管方案控制的话还有一个后续可以改进的点,就是它可以用来做PWM无极调光。如果用继电器的话,如果想用它做PWM的话,它的速度没有mos管快。

代码里也对ESP32做了兼容,用的是ESP32C3模块。把程序烧录进去之后也是通过刚才的方式连接到它的热点之后,会自动跳出那个热点连接配置的页面。可以配置Wifi还有onenet的一些信息,或者直接在离线模式下使用。这个在电脑上也是可以进行配置的,也是同样的方法。在Wifi里边找到那个ESP8266出来的热点,然后进行连接。连接后就会自动跳跳出配置页面和刚才一样。如果不想连接onenet进行离线控制的话选择离线,然后打开灯就可以进行控制了。这这些模式我没有指定内容可以进行自指定,自定义这些都可以用的都可以选择。这也是借鉴的一个国外开源的内容,像这些东西都可以去改的。就比如说这个我已经改成自己的内容,保存数据就已经可以进行下发控制了。

开源的内容我放到国内的这个gitee上了。仓库还是有一些内容的,大家可以去逛逛。不过有些是空的还没有内容。这最近在做的几个小项目,这个时间已经挺早的了。

我当时是想做智能家居来着,放在这里边了,在软件这个分支下面分两个区,一个是ESP32的代码就直接copy下来就可以用了,一个是这个ESP8266。两个工程代码用的platformIO加vs code,可以看一下描述,中间有碰见一些坑,比如说那个Onenet的TOKEN计算总是失败。

开源链接:https://gitee.com/yangfei_addoil/home-connection

视频链接:https://www.bilibili.com/video/BV14K421Y7C3/

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

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

相关文章

【简单介绍下7-Zip】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

快速入门!学习鸿蒙App开发的终极指南!

鸿蒙(HarmonyOS)是华为推出的一款分布式操作系统,旨在为不同设备提供统一的操作体验。鸿蒙App开发可以让应用程序在多个设备上实现流畅运行。本文将介绍鸿蒙App开发的终极指南,帮助您快速入门。 开发环境搭建 鸿蒙App开发过程需要…

专业渗透测试 Phpsploit-Framework(PSF)框架软件小白入门教程(五)

本系列课程,将重点讲解Phpsploit-Framework框架软件的基础使用! 本文章仅提供学习,切勿将其用于不法手段! 继续接上一篇文章内容,讲述如何进行Phpsploit-Framework软件的基础使用和二次开发。 在下面的图片中&#…

小工具 - 用Astyle的DLL封装一个对目录进行代码格式化的工具

文章目录 小工具 - 用Astyle的DLL封装一个对目录进行代码格式化的工具概述笔记效果编译AStyle的DLL初次使用接口的小疑惑测试程序 - 头文件测试程序 - 实现文件测试程序 - RC备注END 小工具 - 用Astyle的DLL封装一个对目录进行代码格式化的工具 概述 上一个实验(vs2019 - ast…

知识图谱在提升大语言模型性能中的应用:减少幻觉与增强推理的综述

幻觉现象指的是模型在生成文本时可能会产生一些听起来合理但实际上并不准确或相关的输出,这主要是由于模型在训练数据中存在知识盲区所致。 为了解决这一问题,研究人员采取了多种策略,其中包括利用知识图谱作为外部信息源。知识图谱通过将信息…

简单介绍IIC通信协议

文章目录 一,简单介绍二,IIC物理层三,IIC通信时序1.起始位与停止位2.IIC读写地址位信号3.IIC应答信号4.IIC数据位收发信号 四,总线速率五,主机发送数据流程六,主机接收数据流程七,IIC的时钟延展…

【云原生】Pod 的生命周期(二)

【云原生】Pod 的生命周期(一)【云原生】Pod 的生命周期(二) Pod 的生命周期(二) 6.容器探针6.1 检查机制6.2 探测结果6.3 探测类型 7.Pod 的终止7.1 强制终止 Pod7.2 Pod 的垃圾收集 6.容器探针 probe 是…

uniapp文本框上下滚动问题

一个基本需求,textarea标签没有办法通过手拖动的方式进行滚动,当文字超出其容量后,想要编辑上面被遮挡部分的文字这边难以点到,电脑可以鼠标滚轮,但手机需要拖动但无效: 下面提供了我的解决思路&#xff1a…

高精地图是怎么构建的?方案有哪些?高精度语义地图构建的一点思考

高精地图是怎么构建的?方案有哪些?高精度语义地图构建的一点思考 高精度(High-Definition, HD)语义地图是目前自动驾驶领域的一个重要研究方向,近年随着Transformer和BEV的大火,很多大佬团队都开展了HD语义地图构建相关的工作。2…

【005_音频开发_基础篇_ALSA_Codec_驱动-MA120x0P功放】

005_音频开发_基础篇_ALSA_Codec_驱动-MA120x0P功放 文章目录 005_音频开发_基础篇_ALSA_Codec_驱动-MA120x0P功放创作背景MA120X0P输出模式BTLSEPBTLSEBTL 硬件配置方式/硬件Limiter限幅器限幅器作用过程 主要寄存器操作指令 ma120x0p.cma120x0p.h 创作背景 学历代表过去、能…

Vue MVVM这一篇就够啦!

Vue vs React 相似之处: 它们都有使用 Virtual DOM虚拟DOM-CSDN博客;提供了响应式(Reactive)和组件化(Composable)的视图组件。将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库。R…

GreptimeDB 助力国家电网数字换流站打造稳定高效的时序数据底座

电网体系作为现代社会运行的支柱之一,为各行各业、千家万户提供了电能的基本支持。从家庭到企业,医院到学校,交通到通讯,电力电网的应用贯穿始终。近年来,特高压换流站成为国家电网的重点建设工程,“十四五…

vivado Virtex 和 Kintex UltraScale+ 比特流设置

下表所示 Virtex 和 Kintex UltraScale 器件的器件配置设置可搭配 set_property <Setting> <Value> [current_design] Vivado 工具 Tcl 命令一起使用。

RAG 修炼手册|一文讲透 RAG 背后的技术

今天我们继续剖析 RAG&#xff0c;将为大家详细介绍 RAG 背后的例如 Embedding、Transformer、BERT、LLM 等技术的发展历程和基本原理&#xff0c;以及它们是如何应用的。 01. 什么是 Embedding? Embedding 是将离散的非结构化数据转换为连续的向量表示的技术。 在自然语言…

管理能力学习笔记九:授权的常见误区和如何有效授权

授权的常见误区 误区一&#xff1a;随意授权 管理者在授权工作时&#xff0c;需要依据下属的能力、经验、意愿问最自己&#xff1a;这项工作适合授权给Ta做吗&#xff1f;如果没有&#xff0c;可以通过哪些方法进行培训呢&#xff1f; 误区二&#xff1a;缺乏信任 心理暗示…

牛客NC275 和为S的两个数字【简单 map C++/Java/Go/PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/390da4f7a00f44bea7c2f3d19491311b 思路 map参考答案C #include <vector> class Solution {public:vector<int> FindNumbersWithSum(vector<int> array, int sum) {vector<int> ans;m…

【iOS】NSOperation、NSOperationQueue

文章目录 前言一、NSOperation、NSOperationQueue 简介二、NSOperation、NSOperationQueue 操作和操作队列三、NSOperation四、NSOperationQueue五、NSOperationQueue 控制串行执行、并发执行六、 NSOperation 操作依赖七、NSOperation 优先级八、NSOperation、NSOperationQueu…

一个JDBC小工具

pom.xml 结构 <properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><mysql5>5.1.44<…

服务器端优化-Redis内存划分和内存配置

6、服务器端优化-Redis内存划分和内存配置 当Redis内存不足时&#xff0c;可能导致Key频繁被删除、响应时间变长、QPS不稳定等问题。当内存使用率达到90%以上时就需要我们警惕&#xff0c;并快速定位到内存占用的原因。 有关碎片问题分析 Redis底层分配并不是这个key有多大&…

[信息收集]-端口扫描--Nmap

端口号 端口号的概念属于计算机网络的传输层&#xff0c;标识这些不同的应用程序和服务而存在的。通过使用不同的端口号&#xff0c;传输层可以将接收到的数据包准确地传递给目标应用程序。 80&#xff1a;HTTP&#xff08;超文本传输协议&#xff09;用于Web浏览器访问网页 …