ESP32-CAM ArduinoIDE开发系列文章目录

第一篇:ESP32-CAM高性价比WIFI图传方案快速入门教程
第二篇:ESP32-CAM第一个无线点灯程序
第三篇:ESP32-CAM智能网关的设计与实现
第四篇:ESP32-CAM创建热点构成并发式DNS服务器
第五篇:ESP32-CAM高性价比温湿度监控系统
第六篇:ESP32-CAM高性价比温湿度监控系统配网与上网方案设计与实现


文章目录

  • ESP32-CAM ArduinoIDE开发系列文章目录
  • 前言
  • 一、ESP32-CAM高性价比温湿度监控系统配网与上网方案设计与实现是什么?
  • 二、软件开发思路
    • 1.编写配网主页
    • 2.单片机读入表单数据
    • 3.单片机发送post请求获取心知天气服务器的数据
  • 总结

前言

    daodanjishui物联网核心原创技术之ESP32-CAM高性价比温湿度监控系统配网与上网方案设计与实现。
    在上一篇:ESP32-CAM高性价比温湿度监控系统 我们可以看到确实这个图传模块可以实现网络监控,但是问题又来了,wifi摄像头连上的是局域网的热点,并且局域网的热点和密码是写死在程序里面的,所以让这个图传模块连上网络似乎比较头疼。
    有一篇CSDN的博客论述了WIFI模块各种常见的配网方式说明及其比较,证明了最好的配网方式是WEB配网,反正个人觉得微信配网很麻烦,因为要使用微信,没有微信就没有办法了。


一、ESP32-CAM高性价比温湿度监控系统配网与上网方案设计与实现是什么?

    在这一期项目中:将要实现一个WEB配网方式,通过ESP32-CAM先创建一个知道账号和密码的AP热点“daodanjishui”,然后用手机WIFI通过输入密码asdfghjkl连上这个热点,再用该手机打开浏览器,在浏览器网址输入栏输入192.168.4.1(热点的IP是固定的,如果想在局域网实现DNS域名解析,请看第四篇:ESP32-CAM创建热点构成并发式DNS服务器,输入网址之后就可以看到保存在ESP32的配网主页,在主页输入要链接的无线WIFI账号和密码 ,点击连接即可。连上Internet之后,自然可以轻松地发送get请求,最后请求"心知天气"的服务器返回北京的天气预报,最后ESP32-CAMM模块通过串口打印出来天气情况,以此来证明ESP32-CAM确实能与外网相互通信。

二、软件开发思路

1.编写配网主页

    首先编写一个配网主页,存入单片机。
代码如下(示例):

<!DOCTYPE html>
<html><head><!--<meta http-equiv="Content-Type" content="text/html; charset=GBK" />--><meta charset="GBK"><meta name="viewport"content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible"content="ie=edge"><title>daodanjishui网页配网</title></head><body><form name="my">WiFi名称:<input type="text" name="s" placeholder="请输入您WiFi的名称" id="aa"><br>WiFi密码:<input type="text" name="p" placeholder="请输入您WiFi的密码" id="bb"><br><input type="button" value="连接" onclick="wifi()"></form><script language="javascript">function wifi(){var ssid = my.s.value;var password = bb.value;var xmlhttp=new XMLHttpRequest();xmlhttp.open("GET","/HandleVal?ssid="+ssid+"&password="+password,true);xmlhttp.send()   alert("用户名为:"+ssid+' '+"密码为:"+password);}</script></body>
</html>

    然后单片机开机之后创建一个无需密码的热点,手机连上如下图的热点
连上无密码热点之后在其浏览器上输入地址192.168.4.1(这个热点IP是不会变的,所以不用看串口打印的IP地址就可以写对)先显示这个配网主页,如下图所示:

让用户输入无线热点的账号和密码,通过提交网页表单的方式让单片机接收该账号和密码去运行配网的代码从而实现智能网页配网(如果密码正确,ESP32会在串口打印出有关网络信息(箭头1),并且利用该网络发送get请求(箭头2)。用户可以修改为LED指示灯也是没有问题的)。配网成功之后切换联网模式正常上网,上网之后获取心知天气的天气预报。串口打印信息如下:

互联网上的“心知天气”服务器收到该ESP32-CAM发送的get请求,就会把json格式的天气预报信息返回给ESP32-CAM,ESP32-CAM再将该信息打印到串口上,如上图的箭头三所示(不想让程序复杂化,这里我没有做json字符串解析),如下图所示

2.单片机读入表单数据

    通过单片机读取网页表单的密码和账号完成配网
代码如下(示例):

void HandleVal()
{String wifis = server.arg("ssid"); //从JavaScript发送的数据中找ssid的值String wifip = server.arg("password"); //从JavaScript发送的数据中找password的值Serial.println(wifis);Serial.println(wifip);//WiFi.begin(wifis,wifip);WiFi.begin(wifis.c_str(),wifip.c_str());
}

3.单片机发送post请求获取心知天气服务器的数据

    单片机连上互联网之后就可以实时获取网络上服务器的数据了。现在就不是局域网的通信了。

   String postRequest =(String)("GET ") + url + " HTTP/1.1\r\n" +  //"Content-Type: text/html;charset=utf-8\r\n" +   "Host: " + host + "\r\n" + "Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"+"Accept-Language:zh-cn\r\n"+//"User-Agent: daodanjishuiESP32\r\n" +"Connection: Keep Alive\r\n\r\n";  Serial.println(postRequest);  client.print(postRequest);  // 发送HTTP请求 // 展示返回的所有信息  String line = client.readStringUntil('\n');while(line.length() != 0){Serial.println(line);line = client.readStringUntil('\n');}Serial.println(line);client.stop();

总结

总结:这套代码可以学到图传摄像头ESP32-CAM WEB配网、AP模式发布配网主页到手机浏览器、嵌入式服务器获取表单数据、STA模式连上Internet、发送GET请求给远程服务器获取天气预报。免费版的代码是没有注释的,收费版是有详细注释的,收费版还送了网页源码和get请求格式指导,随君选择。本项目涉及到的有关项目都是原创为主,不是什么51单片机点灯之类程序,挑选的是比较新的前沿的设备进行创作。程序源码都经过严格测试,教程也详细到位,从而保证了含金,也欢迎广大电子爱好者和同学们采用相关的方案做电子设计、毕业设计或diy创作。后期将加入一些娱乐、玩耍和科幻创作的元素,敬请期待。

免费代码下载链接:https://www.cirmall.com/circuit/19407/
点我直接跳转

收费代码下载链接:https://www.cirmall.com/circuit/19409/
点我直接跳转

ESP32-CAM高性价比温湿度监控系统配网与上网方案设计与实现相关推荐

  1. ESP32-CAM高性价比温湿度监控系统

    ESP32-CAM ArduinoIDE开发系列文章目录 第一篇:ESP32-CAM高性价比WIFI图传方案快速入门教程 第二篇:ESP32-CAM第一个无线点灯程序 第三篇:ESP32-CAM智能网 ...

  2. 一种简易的档案库房温湿度监控系统系统方案

    盛世宏博现代化智慧档案馆十防/八防九防/环境安全3D可视化管理平台 档案馆库房自动化恒温恒湿消毒净化系统 档案库房温湿度标准 系统背景 档案库房是保管档案的重地, 随着社会不断发展与进步,档案分类越来 ...

  3. 温湿度监控设备遇到的常见问题

    1.温湿度监控设备用于食品.电子生产车间.药房.冰箱.冷库.仓库.机房.实验室.工业暖通空调.图书馆.档案室.博物馆.孵化器.温室.烟草.食品仓库.医院.蔬菜.水果.花卉农业温室.农场.机房.实验室. ...

  4. 十大笔记本电脑排行_2020双十一,十大高性价比游戏笔记本电脑值得买排行榜之搭载144Hz电竞屏机型(配置推荐)福利放送...

    最新文章已更新20201028,戳下方⏬文章链接看最新排行 Leo Leung:双十一更新,预算万元以下144Hz广色域电竞屏游戏笔记本电脑十大高性价比机型排行榜.福利放送!​zhuanlan.zhi ...

  5. 高性价比WIFI图传方案快速入门教程

    ESP32-CAM ArduinoIDE开发系列文章目录 第一篇:ESP32-CAM高性价比WIFI图传方案快速入门教程 文章目录 ESP32-CAM ArduinoIDE开发系列文章目录 前言 一. ...

  6. 从0到N建立高性价比的大数据平台

    声明:本文为作者在CSDN技术公开课的分享原创整理,未经许可,禁止转载. 作者:郭炜,易观CTO,毕业于北京大学,曾任联想大数据总监.万达电商数据部总经理,曾在中金.IBM.Teradata公司担任大 ...

  7. 物联网毕业设计-基于stm32的温湿度监控系统

    一.引言 近年来,随着科技的进步,计算机和电子技术在各个领域的应用越来越广泛,人们对温湿度的要求也越来越高.现在用于食品.药品和环境监测的仪器.仪表和计算机等设备越来越多,它们与人们生产.生活的关系越 ...

  8. ESP32 + Python打造智能温湿度花卉养植系统

    我们国家的现代农业和过去相比已经有了长足的进步,其中花卉养植监控系统也是高效农业的一个重要组成部分. 花卉养植监控系统是一种可以改变植物生长环境.为植物生长创造最佳条件.避免外界四季变化和恶劣气候对其 ...

  9. esp32 cam工作电流_我如何在家工作:Cam的生产力之痛

    esp32 cam工作电流 Telecommuting is becoming more and more common these days, with many tech writers (mys ...

最新文章

  1. 通过类名和窗口名查找指定窗口
  2. php session不生效_php 验证session无效问题解决办法
  3. python之markdown转html
  4. cleanmymac定时清理与垃圾监测
  5. jQuery Mobile 教程
  6. c语言保存文件格式如何改回来,急求如何将下列C语言程序数据存储到文件中?...
  7. 矩阵键盘简易计算机设计报告,矩阵键盘显设计报告..doc
  8. ASP.NET 主题(Themes)FAQ
  9. oracle dataguard详解,Oracle 19c 新特性详解:DataGuard 中ADG的自动DML重定向
  10. [WEB] 详解Ajax实现网页数据异步更新并实时自动刷新
  11. Android裁剪图片为圆形
  12. 北京地铁,4号线换乘13号线,用时最短换乘线路
  13. stm32h7能跑linux,STM32H7榨干了Cortex-M7的最后一滴血
  14. FileReader 和 FileWriter(Second)
  15. 技嘉b365m小雕驱动工具_百元也有“雕”牌!技嘉B365M Aorus Elite主板评测
  16. react-player一个很好用的直播组件,可以播放视频等等
  17. PCL1.9.0网盘资源分享(ALL IN ONE +PDB)
  18. 【商业分析 01】商业分析网站汇总
  19. 分享我的公众号留言功能迁移成功的故事
  20. 不断升级的USB-C接口

热门文章

  1. 案例+图解带你一文读懂Canvas【2W字,建议收藏】
  2. DBeaver:开源、跨平台、强大的数据库管理工具
  3. Swagger使用方法笔记
  4. APP为什么打开率低?三大原因和应对之策!
  5. Android8.0 悬浮窗的实现
  6. GEM5教程: 使用 gem5 运行 PARSEC 基准测试
  7. c语言中compar的用法,compare的用法
  8. 统一推送平台搭建与优化
  9. vuex的state数据丢失
  10. 深入分析Linux虚拟化KVM-Qemu之ARMv8虚拟化