成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

無線通信:WIFI、MQTT 開發例程

系統 OpenHarmony
Hi3861作為AP模式(參考步驟一修改BUILD),可以使用手機連接開發板AP,可以在wifi_hotspot_demo.c文件中修改開發板AP的名稱和passward。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

一、無線通信

1、Wifi

(1)STA /AP 相關函數

主要學習Hi3861V100的STA和AP模式。常用接口函數如下:

// STA 模式
1.定義: int ConnectToHotspot(WifiDeviceConfig* apConfig);
功能: 連接WiFi
參數: WiFi相關參數比如SSID,passward
返回值: 1:成功
依賴: //foundation/communication/wifi_lite/interfaces/wifiservice
2.定義: void DisconnectWithHotspot(int netId);
**功能: 斷開WiFi
參數: WiFi對應的netId
**返回值:
依賴: //foundation/communication/wifi_lite/interfaces/wifiservic

// AP模式
1.定義: int StartHotspot(const HotspotConfig* config);
功能: 開啟AP
參數: AP參數包括:IP地址,默認網關,子網掩碼
**返回值: 0:成功
依賴: //foundation/communication/wifi_lite/interfaces/wifiservice
2.定義: void StopHotspot(void);
功能: 斷開AP
參數:
返回值:
依賴: //foundation/communication/wifi_lite/interfaces/wifiservice

(2)STA\AP demo運行

  • 硬件準備: 一塊開發板、可開啟熱點的手機。

第一步,將已有demo移動到app目錄下:

  • 將hi3861_hdu_iot_application/src/vendor/hisilicon/hispark_pegasus/demo/wifi_demo
    文件夾復制到hi3861_hdu_iot_application/src/applications/sample/wifi-iot/app/目錄下。
  • 修改applications/sample/wifi-iot/app/ wifi_demo/目錄下的BUILD.gn,如果使用STA模式,將"wifi_starter.c"和"wifi_hotspot_demo.c"使用#注釋,如果使用。
    AP模式,將"wifi_connecter.c"和"wifi_connect_demo.c"使用#注釋(同時只能使用一種模式),如下示例使用AP模式:
static_library("wifi_control") {
sources = [
#"wifi_connecter.c",
"wifi_starter.c",
#"wifi_connect_demo.c",
"wifi_hotspot_demo.c",
]

第二步,修改applications/sample/wifi-iot/app/目錄下的BUILD.gn,,在features字段中添加wifi_demo: wifi_control。

import("http://build/lite/config/component/lite_component.gni")
lite_component("app") {
features = [ "wifi_demo:wifi_control", ]
}

第三步,步驟四:Hi3861V100作為STA模式(參考步驟2修改文件實現demo功能),使用開發板連接手機熱點,可以在wifi_connect_demo.c修改熱點名稱和passward(注意:只支持4G網絡),源碼中的demo wifi名:“H”,passward:“12345678”,代碼如下所示:

static void WifiConnectTask(void)
{
osDelay(10); /* 10 = 100ms */
// setup your AP params
WifiDeviceConfig apConfig = { 0 };
strcpy(apConfig.ssid, "H"); // 設置wifi ssid "h" Set wifi ssid
strcpy(apConfig.preSharedKey, "12345678"); // 設置wifi passward "12345678" Set wifi password
apConfig.securityType = WIFI_SEC_TYPE_PSK;

int netId = ConnectToHotspot(&apConfig);
int timeout = 60;
while (timeout--) {
printf("After %d seconds I will disconnect with AP!\r\n", timeout);
/* 100相當于1s,60后WiFi斷開 */
/* 100 is equivalent to 1s, and the WiFi will be disconnected after 60 */
osDelay(100);
}
DisconnectWithHotspot(netId);
}

編譯運行之后,設置熱點H,passward12345678,復位開發板,打開串口調試Monitor后,可以看到開發板已經連接到手機上。

 #創作者激勵#【3.無線通信】WIFI、MQTT 開發例程-開源基礎軟件社區

Hi3861作為AP模式(參考步驟一修改BUILD),可以使用手機連接開發板AP,可以在wifi_hotspot_demo.c文件中修改開發板AP的名稱和passward。demo AP名稱:“HiSpark-AP”,passward為:“12345678”,代碼如下所示。

#include "wifi_starter.h"

static void WifiHotspotTask(void)
{
WifiErrorCode errCode;
HotspotConfig config = { 0 };

// 設置AP的配置參數 set configuration parameters for AP
strcpy(config.ssid, "HiSpark-AP"); // AP :HiSpark-AP
strcpy(config.preSharedKey, "12345678"); // Password:12345678
config.securityType = WIFI_SEC_TYPE_PSK;
config.band = HOTSPOT_BAND_TYPE_2G;
config.channelNum = 7; /* 通道7 Channel 7 */

osDelay(10); /* 10 = 100ms */

printf("starting AP ...\r\n");
errCode = StartHotspot(&config);
printf("StartHotspot: %d\r\n", errCode);

int timeout = 60; /* 60 = 1 minute */
while (timeout--) {
printf("After %d seconds Ap will turn off!\r\n", timeout);
osDelay(100); /* 100 = 1s */
}

printf("stop AP ...\r\n");
StopHotspot();
printf("stop AP ...\r\n");
osDelay(10); /* 10 = 100ms */
}

編譯運行之后,手機上可以看到HiSpark的無線網絡,點擊后輸入passward即可連接,串口可以看到連接信息。

 #創作者激勵#【3.無線通信】WIFI、MQTT 開發例程-開源基礎軟件社區

2、MQTT

(1)bearpi MQTT使用

mqtt目前已經移植到了OpenHarmony中,在源碼vendor目錄下bearpi、hihope等公司均有相應的應用demo。這里我先說如何使用bearpi的mqtt。

  • 第一步,拷貝src\vendor\bearpi\bearpi_hm_nano\demo\D5_iot_mqtt文件夾到src\applications\sample\wifi-iot\app\下,該目錄(D5_iot_mqtt).
  • 第二步,修改app目錄下的BUILD.gn,讓該工程參與編譯,如下:
import("http://build/lite/config/component/lite_component.gni")
lite_component("app") {
features = [
# "startup",
# "iothardware:led_example",
# iothardware指的是工程目錄
# :led_example指的是工程生成的靜態庫/文件
# "wifi_demo:wifi_control",
"D5_iot_mqtt:iot_mqtt",
]
}
  • 第三步,打開src\applications\sample\wifi-iot\app\D5_iot_mqtt\iot_mqtt.c文件,修改我們要連接的mqtt服務器(這里可以使用我的服務器120.55.170.12)也可以使用mqtt調試工具EMQX調試。連接的熱點我們改為H passward為12345678。
static void MQTTDemoTask(void)
{
WifiConnect("H", "12345678");
printf("Starting ...\n");
int rc, count = 0;
MQTTClient client;
  • 第四步,如果使用我的服務器調試,那么對應的topic需要修改,如下:
printf("MQTTSubscribe  ...\n");
// 下面這行 "substopic" 修改為 "web_fan_btn"
rc = MQTTSubscribe(&client, "web_fan_btn", MQTT_QOS, messageArrived);
if (rc != 0) {
printf("MQTTSubscribe: %d\n", rc);
osDelay(MQTT_DELAY_2S);
}
····
·····
message.payloadlen = strlen(payload);
// 下面這行 "pubtopic" 修改為 "fan"
if ((rc = MQTTPublish(&client, "fan", &message)) != 0) {
printf("Return code from MQTT publish is %d\n", rc);
NetworkDisconnect(&network);
MQTTDisconnect(&client);
}
osDelay(MQTT_DELAY_500_MS);
}
}
static void MQTTDemo(void)

如果自己設定的mqtt服務器,需要約定好topic。編譯運行后,測試如下圖所示,點擊風扇按鈕,開發板可以接收到發送過來的數據。

 #創作者激勵#【3.無線通信】WIFI、MQTT 開發例程-開源基礎軟件社區

 #創作者激勵#【3.無線通信】WIFI、MQTT 開發例程-開源基礎軟件社區

(2)hihope MQTT使用

這個已經有詳細教程,可參考連老師文章,https://ost.51cto.com/posts/10201。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

責任編輯:jianghua 來源: 51CTO 開源基礎軟件社區
相關推薦

2009-07-28 10:57:21

光無線通信光纖通信

2010-04-07 16:55:41

無線通信技術

2014-04-28 11:32:56

2016-03-24 09:43:57

無線通信技術無線技術

2020-10-12 06:52:56

無線通信基站

2009-05-13 10:32:49

2015-06-15 15:54:37

無線通訊NFC

2010-05-27 16:31:15

LTE無線通信

2022-07-11 23:46:42

數字孿生無線通信網絡

2014-05-29 11:09:52

無線通信技術

2010-03-18 15:44:46

UWB無線協議

2024-03-05 08:21:18

2009-04-01 10:45:00

無線技術無線通信

2012-08-06 10:18:09

2012-11-19 15:50:15

無線通信網絡編碼網絡架構

2009-07-29 09:36:07

無線通信接入方式

2009-11-18 09:33:24

2024-04-30 15:15:49

無線通信Wi-fi藍牙

2012-05-17 10:31:15

Wi-Fi無線網絡

2009-09-24 10:42:13

互聯網
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩在线小视频 | 伊人春色在线 | 日本三级播放 | 国产精品久久国产精品99 gif | 午夜精品一区二区三区在线观看 | 日本午夜免费福利视频 | 一区天堂| 午夜视频在线 | 精品一区二区不卡 | 国产一区不卡 | 九九国产在线观看 | 99精品免费久久久久久久久日本 | 色综合久久久 | 欧美二三区 | 欧美一区二区三区四区五区无卡码 | 精品在线视频播放 | 久草在线视频中文 | 美女视频黄色的 | 久久精品男人的天堂 | 久久久成人精品 | 黑人巨大精品 | 黄色大片在线播放 | 久久精品小视频 | 北条麻妃av一区二区三区 | 九九热这里只有精品6 | 国产精品一区二区久久 | 亚洲网在线 | 亚洲精品高清视频在线观看 | 亚洲视频国产视频 | 99成人| 天天干 夜夜操 | 久久久黄色 | 岛国av免费观看 | 在线中文字幕亚洲 | 一区二区三区四区在线视频 | 亚洲男人网 | 国产午夜精品一区二区三区嫩草 | 日韩在线观看 | 久久精品成人 | 亚洲国产欧美91 | 欧美日韩国产精品一区 |