【先楫HPM6750EVK2】-8.WebServer控制LED
[复制链接]
WebServer搭建完成后,就需要完成我们的最终目标,通过浏览器控制开发板上的LED的亮灭。
那是什么原理呢?首先我们从上一节知道,浏览器是通过“GET”命令来获取开发板上的数据(资源),同样的,浏览器也可以通过“POST”命令来设置开发板上的资源,当然,我们在服务器端(开发板)需要对“POST”命令产生应答并且处理才可以,因此我们需要对服务器进行改写,而且将开发板上LED等的状态实时显示在网页上。
继续在之前的代码中修改,增加两个头文件引用。定义GPIOB(LED使用了GPIOB)。
增加三个字符串数组,分别保存服务器要返回html数据的头和LED开关状态代码。
增加三个函数,分别为初始化led、获取led状态和设置led状态。
在任务的开始部分调用led初始化函数,对LED进行初始化。
在接收到TCP数据的处理部分增加判断,如果"GET /led",获取led状态并返回相应HTML代码。
如果获取到"POST",则判断后续是"on"还是"off",并对led进行控制。
在浏览器中输入开发板的ip地址并在后面增加“/led”,浏览器就会返回led的当前状态,此时为关闭。
点击“Turn On”按钮后,浏览器返回led新的状态为打开。
同时开发板上的红色LED点亮。
点击"Turn Off"按钮,浏览器返回led新的状态为关闭。
同时开发板上的红色LED熄灭。
至此,浏览器控制开发板LED的一个小功能算是完整实现了。
先楫HPM6750EVK2开发板功能如此强大,而且还适配了OpenHarmony系统,是一款非常适合OpenHarmony学习的开发板。不过由于适配鸿蒙系统时间较短,资料还不是很丰富,希望大家多多的学习并补充。此外,RISC-V+鸿蒙的组合实现了自主可控(重点是可控),能为日后的新品研发增加不少安全保障。
|