RM新时代网站-首页

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

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

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

鴻蒙開發(fā)板上實現(xiàn)TCP電子琴

OpenHarmony技術(shù)社區(qū) ? 來源:OST開源開發(fā)者 ? 2023-05-15 09:33 ? 次閱讀

本文實現(xiàn)了用潤和 HiHope Pegasus 3861 開發(fā)板實現(xiàn) TCP 電子琴。

2e8b8474-f29d-11ed-90ce-dac502259ad0.png

樣例運行的 OpenHarmony 源碼環(huán)境下載

https://gitee.com/HiSpark/hi3861_hdu_iot_application
通過本文您將了解:

HiHopePegasus 3861 開發(fā)環(huán)境選擇

HiHopePegasus 3861 連接 wifi

HiHopePegasus 3861 TCP 連接

HiHopePegasus 3861 環(huán)境監(jiān)測板上蜂鳴器的控制

TCP電子琴樣例運行效果

3861 開發(fā)板作為 TCP 服務(wù)端與 TCP 客戶端(自己的設(shè)備)連接。

TCP 客戶端發(fā)送 12345678,控制開發(fā)板上環(huán)境拓展板上的蜂鳴器發(fā)出 duō lái mī fā suō lā xī duō 8 種音調(diào)。

樣例運行步驟

①下載源文件

https://gitee.com/from-north-to-north/open-armony-north/tree/master/潤和3861輕量系統(tǒng)TCP電子琴

將源文件文件放置在命名為 TCP_keyboard_demo 的文件夾下,將其放置在 OpenHarmony 輕量系統(tǒng)源碼 applicationssamplewifi-iotapp 目錄下。

②修改 net_params.h 文件的相關(guān)代碼

如下:

PARAM_HOTSPOT_SSID 設(shè)置為要連接的熱點名稱

PARAM_HOTSPOT_PSK 設(shè)置為要連接的熱點秘碼

PARAM_SERVER_ADDR 設(shè)置為要連接的作為 TCP 客戶端的設(shè)備 IP 地址

PARAM_SERVER_PORT 設(shè)置 3861開發(fā)板(作為 TCP 服務(wù)端) TCP socket端口

③在源碼 applicationssamplewifi-iotappBUILD.gn 文件 features 字段下添加"TCP_keyboard_demo:TCP_keyboard_demo",使樣例 demo 加入編譯。

④根據(jù) 3861 開發(fā)板的 ip(串口打印出來的)和 net_params.h 中填寫的 TCP socket 端口號創(chuàng)建客戶端,連接 3861 開發(fā)板。

2f11b256-f29d-11ed-90ce-dac502259ad0.png

主控芯片對應(yīng)關(guān)系

環(huán)境監(jiān)測板上蜂鳴器與主控芯片(Pegasus)引腳的對應(yīng)關(guān)系:GPIO9/PWM0。

源碼分析

文件說明:

2f46dde6-f29d-11ed-90ce-dac502259ad0.png

tcp_server_test.c 文件解析:

#include
#include
#include

#include

//TCP連接的部分
#include"net_demo.h"
#include"net_common.h"

/********************環(huán)境監(jiān)測板上蜂鳴器的部分*********************************/
#include"iot_gpio.h"
#include"iot_pwm.h"
#include"hi_pwm.h"
#include"hi_io.h"
#defineBEEP_PIN_NAME9
#defineBEEP_PIN_FUNCTION5
#defineWIFI_IOT_PWM_PORT_PWM00
#defineBEEP_PWM_DUTY50

/*********************************************************************/

#defineDELAY_1S(1)

voidTcpServerTest(unsignedshortport)
{

/********************環(huán)境監(jiān)測板上蜂鳴器的部分*********************************/
//初始化蜂鳴器
//蜂鳴器:GPIO9/PWM0
//環(huán)境監(jiān)測板上蜂鳴器與主控芯片(Pegasus)引腳的對應(yīng)關(guān)系GPIO9/PWM0
//IoTGpioInit用于初始化GPIO設(shè)備
IoTGpioInit(BEEP_PIN_NAME);
//hi_io_set_func用于配置某個IO的復(fù)用功能
hi_io_set_func(BEEP_PIN_NAME,BEEP_PIN_FUNCTION);
//IoTGpioSetDir用于設(shè)置GPIO引腳的方向
IoTGpioSetDir(BEEP_PIN_NAME,IOT_GPIO_DIR_OUT);
//IoTPwmInit用于初始化PWM設(shè)備
IoTPwmInit(WIFI_IOT_PWM_PORT_PWM0);

/***************************************************************************************/

ssize_tretval=0;
intbacklog=1;
intsockfd=socket(AF_INET,SOCK_STREAM,0);//TCPsocket
intconnfd=-1;

structsockaddr_inclientAddr={0};
socklen_tclientAddrLen=sizeof(clientAddr);
structsockaddr_inserverAddr={0};
serverAddr.sin_family=AF_INET;
serverAddr.sin_port=htons(port);//端口號,從主機字節(jié)序轉(zhuǎn)為網(wǎng)絡(luò)字節(jié)序
serverAddr.sin_addr.s_addr=htonl(INADDR_ANY);//允許任意主機接入,0.0.0.0

/*************************************綁定端口****************************************************/
retval=bind(sockfd,(structsockaddr*)&serverAddr,sizeof(serverAddr));
if(retval

審核編輯:湯梓紅

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

    關(guān)注

    8

    文章

    1353

    瀏覽量

    79055
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5032

    瀏覽量

    97371
  • 電子琴
    +關(guān)注

    關(guān)注

    4

    文章

    152

    瀏覽量

    30496
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2339

    瀏覽量

    42805
  • HiHope
    +關(guān)注

    關(guān)注

    0

    文章

    63

    瀏覽量

    3540

原文標(biāo)題:鴻蒙開發(fā)板上實現(xiàn)TCP電子琴

文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    [求助]我電腦聲音想輸出到電子琴,能不能直接把耳機線接到電子琴喇叭,具體怎么

    我電腦聲音想輸出到電子琴,能不能直接把耳機線接到電子琴喇叭,具體怎么做,請詳細給我說下?。ㄏ喈?dāng)于把電子琴當(dāng)個音箱)這個
    發(fā)表于 06-03 23:23

    簡易電子琴仿真

    我用555定時器做了一個簡單的電子琴 有八個音節(jié) 但是聲音出不來 有哪位高人有簡易電子琴的proteus仿真啊
    發(fā)表于 05-25 11:35

    電子琴節(jié)拍

    有那位高手知道用51做的電子琴的節(jié)拍怎么確定啊,急求。。。
    發(fā)表于 06-28 22:57

    電子琴設(shè)計

    電子琴設(shè)計
    發(fā)表于 08-19 12:01 ?250次下載

    電子琴實驗

    電子琴實驗 一. 實驗?zāi)康睦脤嶒瀮x提供的按鍵K1~K7 作為電子琴按鍵,控制蜂鳴器發(fā)聲,使用戶了解計算機發(fā)聲原理,熟悉定
    發(fā)表于 09-22 10:48 ?3794次閱讀
    <b class='flag-5'>電子琴</b>實驗

    使用FPGA DIY開發(fā)板控制實現(xiàn)電子琴演奏功能

    wang1113的電子琴視頻。
    的頭像 發(fā)表于 06-22 00:58 ?3210次閱讀

    FPGA DIY開發(fā)板控制電子琴

    haohaolinux 的電子琴視頻 。
    的頭像 發(fā)表于 06-20 16:00 ?3682次閱讀

    如何基于51單片機做簡易的電子琴詳細資料合集免費下載

    本文檔的主要內(nèi)容詳細介紹的是基于51開發(fā)板做的簡易電子琴的詳細資料合集
    發(fā)表于 07-24 08:00 ?14次下載
    如何基于51單片機做簡易的<b class='flag-5'>電子琴</b>詳細資料合集免費下載

    基于555的簡易電子琴設(shè)計

    偶爾玩兩下電子琴也是不錯的
    的頭像 發(fā)表于 08-15 17:43 ?1.9w次閱讀

    使用單片機實現(xiàn)智能電子琴的設(shè)計資料合集

    本文檔的主要內(nèi)容詳細介紹的是如何使用單片機實現(xiàn)智能電子琴的設(shè)計資料合集免費下載
    發(fā)表于 03-12 08:00 ?30次下載
    使用單片機<b class='flag-5'>實現(xiàn)</b>智能<b class='flag-5'>電子琴</b>的設(shè)計資料合集

    基于FPGA的簡易電子琴實現(xiàn)

    本系統(tǒng)是采用EDA技術(shù)設(shè)計的一個簡易的八音符電子琴,該系統(tǒng)基于計算機中時鐘分頻器的原理,采用自頂向下的設(shè)計方法來實現(xiàn),它可以通過按鍵輸入來控制音響。多功能電子琴的設(shè)計是在原有普通電子琴
    發(fā)表于 04-28 11:16 ?45次下載

    基于STM32單片機的電子琴設(shè)計與實現(xiàn)

    基于STM32單片機的電子琴設(shè)計與實現(xiàn)
    發(fā)表于 06-27 09:25 ?121次下載

    電子琴的設(shè)計與實現(xiàn)

    電子琴
    發(fā)表于 05-31 16:48 ?26次下載

    基于FPGA的電子琴設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于FPGA的電子琴設(shè)計.pdf》資料免費下載
    發(fā)表于 10-10 09:40 ?11次下載
    基于FPGA的<b class='flag-5'>電子琴</b>設(shè)計

    電子琴設(shè)計資料

    電子發(fā)燒友網(wǎng)站提供《電子琴設(shè)計資料.pdf》資料免費下載
    發(fā)表于 10-11 10:21 ?2次下載
    <b class='flag-5'>電子琴</b>設(shè)計資料
    RM新时代网站-首页