91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】基于LwIP的Web Server 的演示與代碼分享

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-11-03 15:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來源電子發(fā)燒友社區(qū),作者:soon順soon, 帖子地址:https://bbs.elecfans.com/jishu_2018138_1_1.html

硬件模塊:

WF-H861-SSA1 WiFi 模組

實現(xiàn)功能:在上電后進入AP 模式,熱點名稱:Soon-WiFi-IoT,連接上熱點后用瀏覽器訪問http://192.168.10.1/
顯示“Hello Wifi IoT”
095426qkvzqwx9cwvzscrv.png
http://192.168.10.1/wifiiot
顯示“歡迎訪問wifi-iot頁面”
095428am6y4n4m63pjreep.png
http://192.168.10.1/error
顯示“404-Page not found”
095429hwjfzyiyi2w1yiwf.png

主要代碼如下
  1. #include
  2. #include
  3. #include
  4. #include
  5. #include "ohos_init.h"
  6. #include "cmsis_os2.h"
  7. #include "wifi/ap_mode.h"
  8. #include "lwip/sockets.h"
  9. const unsigned char htmldata[] = "
  10. <title>Wifi-iot
  11. 歡迎訪問wifi-iot頁面

  12. ";
  13. const unsigned char hellowifiiot[] = "
  14. Hello Wifi IoT

  15. ";
  16. const unsigned char errhtml[] = "
  17. 404-Page not found

  18. ";
  19. /**
  20. * [url=home.php?mod=space&uid=2666770]@Brief[/url] serve tcp connection
  21. * [url=home.php?mod=space&uid=3142012]@param[/url] conn: connection socket
  22. * @retval None
  23. */
  24. void http_server(int conn)
  25. {
  26. int buflen = 1500;
  27. int ret;
  28. unsigned char recv_buffer[1500];
  29. /* Read in the request */
  30. ret = read(conn, recv_buffer, buflen);
  31. if (ret <= 0)
  32. {
  33. close(conn);
  34. printf("read failedrn");
  35. return;
  36. }
  37. if (strncmp((char *)recv_buffer, "GET /wifiiot", 9) == 0)
  38. {
  39. write(conn, htmldata, sizeof(htmldata) - 1);
  40. }
  41. else if (strncmp((char *)recv_buffer, "GET /error", 9) == 0)
  42. {
  43. write(conn, errhtml, sizeof(errhtml) - 1);
  44. }
  45. else
  46. {
  47. write(conn, hellowifiiot, sizeof(hellowifiiot) - 1);
  48. }
  49. /* Close connection socket */
  50. close(conn);
  51. }
  52. /**
  53. * @briefhttp_task
  54. * @param None
  55. * @retval None
  56. */
  57. static void http_task(void)
  58. {
  59. int sock, newconn, size;
  60. struct sockaddr_in address, remotehost;
  61. /* create a TCP socket */
  62. if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0)
  63. {
  64. printf("can not create socket");
  65. return;
  66. }
  67. /* bind to port 80 at any interface */
  68. address.sin_family = AF_INET;
  69. address.sin_port = htons(80);
  70. address.sin_addr.s_addr = INADDR_ANY;
  71. if (bind(sock, (struct sockaddr *)&address, sizeof(address)) < 0)
  72. {
  73. printf("can not bind socket");
  74. close(sock);
  75. return;
  76. }
  77. /* listen for connections (TCP listen backlog = 1) */
  78. listen(sock, 1);
  79. size = sizeof(remotehost);
  80. while (1)
  81. {
  82. newconn = accept(sock, (struct sockaddr *)&remotehost, (socklen_t *)&size);
  83. if (newconn >= 0)
  84. {
  85. printf("newconn");
  86. http_server(newconn);
  87. }
  88. else
  89. {
  90. close(newconn);
  91. }
  92. }
  93. }
  94. static void *Lwip_Web_Task(const char *arg)
  95. {
  96. (void)arg;
  97. wifi_start_softap();
  98. http_task();
  99. return NULL;
  100. }
  101. static void Lwip_Web_Entry(void)
  102. {
  103. osThreadAttr_t attr = {0};
  104. attr.name = "Lwip_Web_Task";
  105. attr.attr_bits = 0U;
  106. attr.cb_mem = NULL;
  107. attr.cb_size = 0U;
  108. attr.stack_mem = NULL;
  109. attr.stack_size = 8192;
  110. attr.priority = osPriorityNormal;
  111. if (osThreadNew((osThreadFunc_t)Lwip_Web_Task, NULL, &attr) == NULL)
  112. {
  113. printf("Falied to create Lwip_Web_Entry!n");
  114. }
  115. }
  116. SYS_RUN(Lwip_Web_Entry);
復制代碼


完整代碼,如附件
?lwip_webserver.7z(2.69 KB, 下載次數(shù): 3)

編譯好的測試bin
?Hi3861_wifiiot_app_allinone.bin(761.04 KB, 下載次數(shù): 5)

參考文章
LwIP之socket應用--WebServer和Modbus TCP
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • wi-fi
    +關注

    關注

    15

    文章

    2424

    瀏覽量

    129566
  • HarmonyOS
    +關注

    關注

    80

    文章

    2153

    瀏覽量

    36054
  • HiSpark
    +關注

    關注

    1

    文章

    156

    瀏覽量

    7757
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    技術資訊 I Wi-Fi 模塊設計

    本文要點Wi-Fi模塊設計旨在打造一套緊湊且高效的硬件和軟件解決方案,使設備能夠通過Wi-Fi網(wǎng)絡實現(xiàn)通信。Wi-Fi模塊設計是一個復雜的過程,要求研發(fā)人員兼具硬件與軟件工程方面的專業(yè)知識
    的頭像 發(fā)表于 02-27 17:12 ?572次閱讀
    技術資訊 I <b class='flag-5'>Wi-Fi</b> 模塊設計

    Wi-Fi:無線連接的全球通用語

    一、什么是Wi-FiWi-FiWi-Fi聯(lián)盟制造商的商標認證,是基于IEEE 802.11標準的無線局域網(wǎng)技術。它允許電子設備在特定范圍內(nèi)無線接入網(wǎng)絡,實現(xiàn)高速數(shù)據(jù)交換與互聯(lián)網(wǎng)訪問,已成為
    發(fā)表于 01-07 09:49

    探索CY8CPROTO - 062S2 - 43439 PSoC? 62S2 Wi-Fi藍牙原型套件

    探索CY8CPROTO - 062S2 - 43439 PSoC? 62S2 Wi-Fi藍牙原型套件 引言 在物聯(lián)網(wǎng)(IoT)和可穿戴設備蓬勃發(fā)展的今天,低功耗、高性能且功能豐富的開發(fā)套件
    的頭像 發(fā)表于 12-20 14:50 ?1519次閱讀

    Nordic發(fā)布nRF7002 EBII 開發(fā)板, 支持Wi-Fi 6, 解鎖nRF54L新玩法

    Wi-Fi 6 功能,幫助開發(fā)人員創(chuàng)建高性能、高能效的Wi-Fi 6 物聯(lián)網(wǎng)解決方案。 基于 Nordic 的 nRF7002 Wi-Fi 協(xié)同 IC,nRF7002 EBII幫助 采用
    發(fā)表于 12-10 11:58

    Wi-Fi模塊選型指南 | 低功耗藍牙/Wi-Fi 6模塊推薦 | 物聯(lián)網(wǎng)設備集成攻略

    物聯(lián)網(wǎng)的快速發(fā)展,Wi-Fi技術的成熟的情況下,越來越多的場景需要用到Wi-Fi來無線傳輸數(shù)據(jù),尤其是移動設備中,怎么再設備中選擇合適的Wi-Fi模塊呢?下面我們來介紹下Wi-Fi模塊
    的頭像 發(fā)表于 12-09 11:27 ?1071次閱讀
    <b class='flag-5'>Wi-Fi</b>模塊選型指南 | 低功耗藍牙/<b class='flag-5'>Wi-Fi</b> 6模塊推薦 | 物聯(lián)網(wǎng)設備集成攻略

    淺談Wi-Fi 6E與Wi-Fi 7的關鍵器件——BAW濾波器新技術

    作者: Qorvo 亞太區(qū)無線連接事業(yè)部高級行銷經(jīng)理林健富 ? 2020年1月,Wi-Fi聯(lián)盟正式宣布開放6GHz頻段(5925MHz-7125MHz),并將其命名為Wi-Fi 6E。2020年4月
    發(fā)表于 09-19 18:29 ?2137次閱讀
    淺談<b class='flag-5'>Wi-Fi</b> 6E與<b class='flag-5'>Wi-Fi</b> 7的關鍵器件——BAW濾波器新技術

    如何更新 NuMaker IoT 板上的 Wi-Fi 模塊固件?

    更新 NuMaker IoT 板上的 Wi-Fi 模塊固件
    發(fā)表于 09-04 08:28

    LitePoint Wi-Fi測試軟件減輕客戶設計負擔

    Wi-Fi 7于一年多前獲得Wi-Fi聯(lián)盟認證以來,作為最新一代通信技術,Wi-Fi正逐步成為用戶實現(xiàn)無所不在無線連接的新選擇。隨著每一代Wi-Fi信號復雜性的提升,建議將硬件測試納
    的頭像 發(fā)表于 08-06 15:34 ?1197次閱讀
    LitePoint <b class='flag-5'>Wi-Fi</b>測試軟件減輕客戶設計負擔

    有沒有什么修復方法可以確保 AP 模式下的 Wi-Fi 和 BLE 連接同時正常工作?

    我正在使用 CYBSYSKIT DEV 01 套件。我嘗試在 AP 模式下打開 Wi-Fi 并宣傳 BLE。我可以宣傳 SoftAP 和 BLE。但是,我無法從中央設備連接到 BLE。它可以立即連接并斷開連接。有沒有什么修復方法可以確保 AP 模式下的
    發(fā)表于 07-17 06:13

    科普|公司的Wi-Fi,為什么這么慢?

    大家在公司上班,經(jīng)常會使用到Wi-Fi。最近這幾年,隨著時代的發(fā)展,高清視頻會議等大帶寬網(wǎng)絡應用越來越普遍。而公司的網(wǎng)絡,卻非常不給力,頻繁卡頓,嚴重影響使用體驗。哪怕IT的同事已經(jīng)把網(wǎng)絡優(yōu)化得很
    的頭像 發(fā)表于 06-20 06:06 ?1537次閱讀
    科普|公司的<b class='flag-5'>Wi-Fi</b>,為什么這么慢?

    Wi-Fi 8:開啟極高可靠性 (UHR) 連接的新紀元——1

    英國作家狄更斯在《雙城記》的開頭寫道:“這是最好的時代,也是最壞的時代?!?這句話若套用在現(xiàn)今Wi-Fi 的市場現(xiàn)狀,何嘗不是驚人的相似? 怎么說呢?Wi-Fi 從被發(fā)明至今已經(jīng)經(jīng)過了20多年的迭代
    發(fā)表于 06-13 11:09

    Wi-Fi HaLow如何突破傳統(tǒng)Wi-Fi性能瓶頸?

    視頻推薦在萬物互聯(lián)的時代,傳統(tǒng)Wi-Fi在覆蓋范圍、功耗、連接數(shù)上漸顯不足。而Wi-FiHaLow的誕生,正在用黑科技打破傳統(tǒng)Wi-Fi的性能瓶頸!今天,我們一起來探究Wi-FiHaL
    的頭像 發(fā)表于 04-22 11:38 ?1126次閱讀
    <b class='flag-5'>Wi-Fi</b> HaLow如何突破傳統(tǒng)<b class='flag-5'>Wi-Fi</b>性能瓶頸?

    基于 Wi-Fi 的定位服務

    以下捕獲使用 location_wifi_get 函數(shù)請求 Wi-Fi 定位服務。該事件的總功耗為 125.85mC,日志顯示精確度為 30.0m。 Got location: method
    發(fā)表于 04-17 15:16

    nRF Cloud Wi-Fi 定位服務

    、Predictive-GPS、Single-Cell、Multi-Cell 和 Wi-Fi 定位。通過利用 nRF Cloud 的優(yōu)化定位算法,基于 Nordic SoC 和 模組的產(chǎn)品可在定位用例
    發(fā)表于 04-17 15:07

    Wi-Fi 定位服務

    Wi-Fi 是一種著名的無線網(wǎng)絡技術,用于設備的局域網(wǎng)和互聯(lián)網(wǎng)接入。Wi-Fi 通過 Wi-Fi 網(wǎng)絡為家庭、辦公室和學校等環(huán)境提供便捷的無線互聯(lián)網(wǎng)接入服務。 Wi-Fi 定位是一種
    發(fā)表于 04-17 15:01