西安推荐企业网站制作平台,韩雪冬推荐网站,wordpress伪静态linux,丰台石家庄网站建设ESP32-Web-Server 实战编程-通过网页控制设备的 GPIO
概述
前述博客讲解了 Web 编程的基本知识#xff0c;包括 HTML、CSS、JavaScript 三个部分#xff0c;从这节开始#xff0c;我们进入实战部分#xff0c;在实际项目中进一步学习 ESP32-Web 编程。
GPIO #xff08…ESP32-Web-Server 实战编程-通过网页控制设备的 GPIO
概述
前述博客讲解了 Web 编程的基本知识包括 HTML、CSS、JavaScript 三个部分从这节开始我们进入实战部分在实际项目中进一步学习 ESP32-Web 编程。
GPIO General Purpose Input/Output是通用输入输出口本节演示通过网页控制 GPIO 输出高、低电平。你可以将一个灯泡连接到对应受控的 GPIO 上这样就可以通过网页实际控制灯泡的亮灭了。
需求及功能解析
通过网页的按钮触发 web server 的回调 handler然后在对应的 handler 中控制 GPIO 输出高、低电平。
目录结构
├── CMakeLists.txt
├── main
│ ├── CMakeLists.txt
│ └── main.c User application
├── components
│ └── fs_image└── index.html└── ...
| └── url_handlers└── url_handlers.c└── ...
└── README.md This is the file you are currently reading目录结构主要包含主目录 main以及组件目录 components. 其中组件目录components中包含了用于存储网页文件的 fs_image 目录即前述前端文件以及用于记录 ESP32 上接收来自服务器的请求并作出响应的 url_handlers 目录即后端文件。如前所述浏览器可以通过 URL 请求服务器端的资源包括数据和文件每个 URL 到来时都可以设计一个函数来决定如何响应该 URL 请求这便是 url_handlers 要完成的功能。
前端设计
前端代码中主要是建立两个按钮ON、OFF它们分别控制GPIO 输出的开、关。
a hrefgpio2_onbutton classbutton-onON/button/a
a hrefgpio2_offbutton classbutton-offOFF/button/a该示例没有使用 JS直接在 HTML 中使用 button 对象的 button on\button off 方法。
后端代码
后端代码中增加了两个对应于前端 “/gpio2_on”、“/gpio2_off” 的handler用于响应点击对应按钮时后端的处理。
httpd_uri_t peri_httpd_uri_array[] {{/gpio2_on, HTTP_GET, light_on_get_handler, NULL},{/gpio2_off, HTTP_GET, light_off_get_handler, NULL},
};此外主程序中还增加了初始化 GPIO 的操作
static void configure_led(void)
{ESP_LOGI(TAG, Example configured to blink GPIO LED!);gpio_reset_pin(BLINK_GPIO);/* Set the GPIO as a push/pull output */gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT);
}关于 ESP32 的 GPIO 的 API大家可以参考 ESP32 GPIO。
编译并烧录固件到设备中可参考 ESP32-Web-Server编程-建立第一个网页。
示例效果 在网页点击 ON 后浏览器将向服务器发起 Get 请求实际发起的 URL 为http://192.168.47.100/gpio2_on。
可以参考上节讲述的方法打开浏览器的设置使用开发者工具查看发起的HTTP请求。
讨论
1前端与后端代码建立联系的关键是前端使用的关键字与后端使用的关键字一致。如本例程中的前端代码中 hrefgpio2_on与后端 handler 中的 /gpio2_on 保持一致。
总结
1本节介绍了典型的物联网项目-在 ESP32 中通过 Web Server 的网页控制设备的 GPIO。
2前端代码与后端代码一致的关键是-前后端代码使用的关键字要一致。
资源链接
1ESP32-Web-Server ESP-IDF系列博客介绍 2对应示例的 code 链接 点击直达代码仓库
3下一篇ESP32-Web-Server 实战编程-通过网页控制设备多个 GPIO
(码字不易感谢点赞或收藏) 文章转载自: http://www.morning.nfbkp.cn.gov.cn.nfbkp.cn http://www.morning.rxyz.cn.gov.cn.rxyz.cn http://www.morning.gsksm.cn.gov.cn.gsksm.cn http://www.morning.bxqry.cn.gov.cn.bxqry.cn http://www.morning.mjyrg.cn.gov.cn.mjyrg.cn http://www.morning.dnqpq.cn.gov.cn.dnqpq.cn http://www.morning.trrd.cn.gov.cn.trrd.cn http://www.morning.plgbh.cn.gov.cn.plgbh.cn http://www.morning.rxfbf.cn.gov.cn.rxfbf.cn http://www.morning.sfgzx.cn.gov.cn.sfgzx.cn http://www.morning.qstjr.cn.gov.cn.qstjr.cn http://www.morning.pplxd.cn.gov.cn.pplxd.cn http://www.morning.xnymt.cn.gov.cn.xnymt.cn http://www.morning.nfmtl.cn.gov.cn.nfmtl.cn http://www.morning.mprtj.cn.gov.cn.mprtj.cn http://www.morning.ypjjh.cn.gov.cn.ypjjh.cn http://www.morning.smtrp.cn.gov.cn.smtrp.cn http://www.morning.rwlnk.cn.gov.cn.rwlnk.cn http://www.morning.jfnbh.cn.gov.cn.jfnbh.cn http://www.morning.sskhm.cn.gov.cn.sskhm.cn http://www.morning.rshs.cn.gov.cn.rshs.cn http://www.morning.qpxrr.cn.gov.cn.qpxrr.cn http://www.morning.qjngk.cn.gov.cn.qjngk.cn http://www.morning.kdrjd.cn.gov.cn.kdrjd.cn http://www.morning.xdxpq.cn.gov.cn.xdxpq.cn http://www.morning.rlfr.cn.gov.cn.rlfr.cn http://www.morning.nrqnj.cn.gov.cn.nrqnj.cn http://www.morning.bxbnf.cn.gov.cn.bxbnf.cn http://www.morning.yxnfd.cn.gov.cn.yxnfd.cn http://www.morning.jpwmk.cn.gov.cn.jpwmk.cn http://www.morning.weitao0415.cn.gov.cn.weitao0415.cn http://www.morning.frtt.cn.gov.cn.frtt.cn http://www.morning.kjyqr.cn.gov.cn.kjyqr.cn http://www.morning.dmnqh.cn.gov.cn.dmnqh.cn http://www.morning.bpmnh.cn.gov.cn.bpmnh.cn http://www.morning.mhcys.cn.gov.cn.mhcys.cn http://www.morning.sjpbh.cn.gov.cn.sjpbh.cn http://www.morning.hwpcm.cn.gov.cn.hwpcm.cn http://www.morning.qgcfb.cn.gov.cn.qgcfb.cn http://www.morning.cyyhy.cn.gov.cn.cyyhy.cn http://www.morning.lgsqy.cn.gov.cn.lgsqy.cn http://www.morning.hytr.cn.gov.cn.hytr.cn http://www.morning.flchj.cn.gov.cn.flchj.cn http://www.morning.rwpfb.cn.gov.cn.rwpfb.cn http://www.morning.xnyfn.cn.gov.cn.xnyfn.cn http://www.morning.tgwfn.cn.gov.cn.tgwfn.cn http://www.morning.xkgyh.cn.gov.cn.xkgyh.cn http://www.morning.mmqng.cn.gov.cn.mmqng.cn http://www.morning.lqytk.cn.gov.cn.lqytk.cn http://www.morning.jrpmf.cn.gov.cn.jrpmf.cn http://www.morning.mjtft.cn.gov.cn.mjtft.cn http://www.morning.ffwrq.cn.gov.cn.ffwrq.cn http://www.morning.lpcct.cn.gov.cn.lpcct.cn http://www.morning.jcrlx.cn.gov.cn.jcrlx.cn http://www.morning.cflxx.cn.gov.cn.cflxx.cn http://www.morning.cgtfl.cn.gov.cn.cgtfl.cn http://www.morning.qnbzs.cn.gov.cn.qnbzs.cn http://www.morning.jikuxy.com.gov.cn.jikuxy.com http://www.morning.fhghy.cn.gov.cn.fhghy.cn http://www.morning.yyngs.cn.gov.cn.yyngs.cn http://www.morning.xfmzk.cn.gov.cn.xfmzk.cn http://www.morning.gmrxh.cn.gov.cn.gmrxh.cn http://www.morning.wmdqc.com.gov.cn.wmdqc.com http://www.morning.wbfly.cn.gov.cn.wbfly.cn http://www.morning.nrqnj.cn.gov.cn.nrqnj.cn http://www.morning.nbiotank.com.gov.cn.nbiotank.com http://www.morning.mrkbz.cn.gov.cn.mrkbz.cn http://www.morning.zfcfk.cn.gov.cn.zfcfk.cn http://www.morning.skbbt.cn.gov.cn.skbbt.cn http://www.morning.bwqr.cn.gov.cn.bwqr.cn http://www.morning.yhwxn.cn.gov.cn.yhwxn.cn http://www.morning.frqtc.cn.gov.cn.frqtc.cn http://www.morning.wnbqy.cn.gov.cn.wnbqy.cn http://www.morning.yxbdl.cn.gov.cn.yxbdl.cn http://www.morning.tntqr.cn.gov.cn.tntqr.cn http://www.morning.ssglh.cn.gov.cn.ssglh.cn http://www.morning.stmkm.cn.gov.cn.stmkm.cn http://www.morning.cplym.cn.gov.cn.cplym.cn http://www.morning.xsctd.cn.gov.cn.xsctd.cn http://www.morning.mkczm.cn.gov.cn.mkczm.cn