本文来源电子发烧友社区,作者:soon顺soon, 帖子地址:https://bbs.elecfans.com/jishu_2018138_1_1.html
硬件模块:
WF-H861-SSA1 WiFi 模组
实现功能:在上电后进入AP 模式,热点名称:Soon-WiFi-IoT,连接上热点后用浏览器访问http://192.168.10.1/
显示“Hello Wifi IoT”

http://192.168.10.1/wifiiot
显示“欢迎访问wifi-iot页面”

http://192.168.10.1/error
显示“404-Page not found”

主要代码如下
复制代码
完整代码,如附件
lwip_webserver.7z
编译好的测试bin
Hi3861_wifiiot_app_allinone.bin
参考文章
LwIP之socket应用--WebServer和Modbus TCP
硬件模块:
WF-H861-SSA1 WiFi 模组
实现功能:在上电后进入AP 模式,热点名称:Soon-WiFi-IoT,连接上热点后用浏览器访问http://192.168.10.1/
显示“Hello Wifi IoT”

http://192.168.10.1/wifiiot
显示“欢迎访问wifi-iot页面”

http://192.168.10.1/error
显示“404-Page not found”

主要代码如下
- #include
- #include
- #include
- #include
- #include "ohos_init.h"
- #include "cmsis_os2.h"
- #include "wifi/ap_mode.h"
- #include "lwip/sockets.h"
- const unsigned char htmldata[] = "
- <title>Wifi-iot
-
欢迎访问wifi-iot页面
- ";
- const unsigned char hellowifiiot[] = "
-
Hello Wifi IoT
- ";
- const unsigned char errhtml[] = "
-
404-Page not found
- ";
- /**
- * [url=home.php?mod=space&uid=2666770]@Brief[/url] serve tcp connection
- * [url=home.php?mod=space&uid=3142012]@param[/url] conn: connection socket
- * @retval None
- */
- void http_server(int conn)
- {
- int buflen = 1500;
- int ret;
- unsigned char recv_buffer[1500];
- /* Read in the request */
- ret = read(conn, recv_buffer, buflen);
- if (ret <= 0)
- {
- close(conn);
- printf("read failedrn");
- return;
- }
- if (strncmp((char *)recv_buffer, "GET /wifiiot", 9) == 0)
- {
- write(conn, htmldata, sizeof(htmldata) - 1);
- }
- else if (strncmp((char *)recv_buffer, "GET /error", 9) == 0)
- {
- write(conn, errhtml, sizeof(errhtml) - 1);
- }
- else
- {
- write(conn, hellowifiiot, sizeof(hellowifiiot) - 1);
- }
- /* Close connection socket */
- close(conn);
- }
- /**
- * @briefhttp_task
- * @param None
- * @retval None
- */
- static void http_task(void)
- {
- int sock, newconn, size;
- struct sockaddr_in address, remotehost;
- /* create a TCP socket */
- if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0)
- {
- printf("can not create socket");
- return;
- }
- /* bind to port 80 at any interface */
- address.sin_family = AF_INET;
- address.sin_port = htons(80);
- address.sin_addr.s_addr = INADDR_ANY;
- if (bind(sock, (struct sockaddr *)&address, sizeof(address)) < 0)
- {
- printf("can not bind socket");
- close(sock);
- return;
- }
- /* listen for connections (TCP listen backlog = 1) */
- listen(sock, 1);
- size = sizeof(remotehost);
- while (1)
- {
- newconn = accept(sock, (struct sockaddr *)&remotehost, (socklen_t *)&size);
- if (newconn >= 0)
- {
- printf("newconn");
- http_server(newconn);
- }
- else
- {
- close(newconn);
- }
- }
- }
- static void *Lwip_Web_Task(const char *arg)
- {
- (void)arg;
- wifi_start_softap();
- http_task();
- return NULL;
- }
- static void Lwip_Web_Entry(void)
- {
- osThreadAttr_t attr = {0};
- attr.name = "Lwip_Web_Task";
- attr.attr_bits = 0U;
- attr.cb_mem = NULL;
- attr.cb_size = 0U;
- attr.stack_mem = NULL;
- attr.stack_size = 8192;
- attr.priority = osPriorityNormal;
- if (osThreadNew((osThreadFunc_t)Lwip_Web_Task, NULL, &attr) == NULL)
- {
- printf("Falied to create Lwip_Web_Entry!n");
- }
- }
- SYS_RUN(Lwip_Web_Entry);
完整代码,如附件
lwip_webserver.7z编译好的测试bin
Hi3861_wifiiot_app_allinone.bin参考文章
LwIP之socket应用--WebServer和Modbus TCP
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
wi-fi
+关注
关注
15文章
2382浏览量
128912 -
HarmonyOS
+关注
关注
80文章
2147浏览量
35593 -
HiSpark
+关注
关注
1文章
156浏览量
7689
发布评论请先 登录
相关推荐
热点推荐
Nordic发布nRF7002 EBII 开发板, 支持Wi-Fi 6, 解锁nRF54L新玩法
了 Wi-Fi 6 功能,帮助开发人员创建高性能、高能效的Wi-Fi 6 物联网解决方案。
基于 Nordic 的 nRF7002 Wi-Fi 协同 IC,nRF7002 EBII帮助 采用
发表于 12-10 11:58
Wi-Fi模块选型指南 | 低功耗蓝牙/Wi-Fi 6模块推荐 | 物联网设备集成攻略
物联网的快速发展,Wi-Fi技术的成熟的情况下,越来越多的场景需要用到Wi-Fi来无线传输数据,尤其是移动设备中,怎么再设备中选择合适的Wi-Fi模块呢?下面我们来介绍下Wi-Fi模块
浅谈Wi-Fi 6E与Wi-Fi 7的关键器件——BAW滤波器新技术
作者: Qorvo 亚太区无线连接事业部高级行销经理林健富 2020年1月,Wi-Fi联盟正式宣布开放6GHz频段(5925MHz-7125MHz),并将其命名为Wi-Fi 6E。2020年4月
发表于 09-19 18:29
•1332次阅读
LitePoint Wi-Fi测试软件减轻客户设计负担
自Wi-Fi 7于一年多前获得Wi-Fi联盟认证以来,作为最新一代通信技术,Wi-Fi正逐步成为用户实现无所不在无线连接的新选择。随着每一代Wi-Fi信号复杂性的提升,建议将硬件测试纳
有没有什么修复方法可以确保 AP 模式下的 Wi-Fi 和 BLE 连接同时正常工作?
我正在使用 CYBSYSKIT DEV 01 套件。我尝试在 AP 模式下打开 Wi-Fi 并宣传 BLE。我可以宣传 SoftAP 和 BLE。但是,我无法从中央设备连接到 BLE。它可以立即连接并断开连接。有没有什么修复方法可以确保 AP 模式下的
发表于 07-17 06:13
BLE代码示例中Wi-Fi连接重试失败的原因?
您好,我正在使用 BLE 代码示例进行 Wi-Fi 接入。我从 modus 工具箱下载了代码示例。
代码示例包含所有最新的库。
当在提供 SSID 和密码后从手机发送连接命令时,微控制
发表于 07-08 07:42
科普|公司的Wi-Fi,为什么这么慢?
大家在公司上班,经常会使用到Wi-Fi。最近这几年,随着时代的发展,高清视频会议等大带宽网络应用越来越普遍。而公司的网络,却非常不给力,频繁卡顿,严重影响使用体验。哪怕IT的同事已经把网络优化得很
Wi-Fi 8:开启极高可靠性 (UHR) 连接的新纪元——1
英国作家狄更斯在《双城记》的开头写道:“这是最好的时代,也是最坏的时代。”
这句话若套用在现今Wi-Fi 的市场现状,何尝不是惊人的相似?
怎么说呢?Wi-Fi 从被发明至今已经经过了20多年的迭代
发表于 06-13 11:09
Wi-Fi HaLow如何突破传统Wi-Fi性能瓶颈?
视频推荐在万物互联的时代,传统Wi-Fi在覆盖范围、功耗、连接数上渐显不足。而Wi-FiHaLow的诞生,正在用黑科技打破传统Wi-Fi的性能瓶颈!今天,我们一起来探究Wi-FiHaL
基于 Wi-Fi 的定位服务
以下捕获使用 location_wifi_get 函数请求 Wi-Fi 定位服务。该事件的总功耗为 125.85mC,日志显示精确度为 30.0m。
Got location:
method
发表于 04-17 15:16
nRF Cloud Wi-Fi 定位服务
、Predictive-GPS、Single-Cell、Multi-Cell 和 Wi-Fi 定位。通过利用 nRF Cloud 的优化定位算法,基于 Nordic SoC 和 模组的产品可在定位用例
发表于 04-17 15:07
Wi-Fi 定位服务
Wi-Fi 是一种著名的无线网络技术,用于设备的局域网和互联网接入。Wi-Fi 通过 Wi-Fi 网络为家庭、办公室和学校等环境提供便捷的无线互联网接入服务。
Wi-Fi 定位是一种
发表于 04-17 15:01
华为海思正式进入Wi-Fi FEM赛道?
大家都知道了,2018年11 月离开锐迪科(RDA),前往福建晋江创立三伍微,专注于Wi-Fi射频前端芯片,从路由器Wi-Fi FEM,到手机Wi-Fi FEM,再到IoT FEM全覆
发表于 12-11 17:42
摩尔斯微电子发布Wi-Fi HaLow评估套件,加速物联网开发
近日,全球领先的Wi-Fi HaLow解决方案提供商摩尔斯微电子正式推出一款开创性的评估套件——MM6108-EKH05。这款完全整合的开发平台,旨在推动各行业物联网解决方案的快速发展

【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】基于LwIP的Web Server 的演示与代码分享
评论