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

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

3天內不再提示

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

OpenHarmony技術社區(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 服務端與 TCP 客戶端(自己的設備)連接。

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

樣例運行步驟

①下載源文件

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 文件的相關代碼

如下:

PARAM_HOTSPOT_SSID 設置為要連接的熱點名稱

PARAM_HOTSPOT_PSK 設置為要連接的熱點秘碼

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

PARAM_SERVER_PORT 設置 3861開發(fā)板(作為 TCP 服務端) 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

主控芯片對應關系

環(huán)境監(jiān)測板上蜂鳴器與主控芯片(Pegasus)引腳的對應關系: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)引腳的對應關系GPIO9/PWM0
//IoTGpioInit用于初始化GPIO設備
IoTGpioInit(BEEP_PIN_NAME);
//hi_io_set_func用于配置某個IO的復用功能
hi_io_set_func(BEEP_PIN_NAME,BEEP_PIN_FUNCTION);
//IoTGpioSetDir用于設置GPIO引腳的方向
IoTGpioSetDir(BEEP_PIN_NAME,IOT_GPIO_DIR_OUT);
//IoTPwmInit用于初始化PWM設備
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é)序轉為網(wǎng)絡字節(jié)序
serverAddr.sin_addr.s_addr=htonl(INADDR_ANY);//允許任意主機接入,0.0.0.0

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

審核編輯:湯梓紅

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

    關注

    8

    文章

    1395

    瀏覽量

    80081
  • 開發(fā)板
    +關注

    關注

    25

    文章

    5378

    瀏覽量

    100650
  • 電子琴
    +關注

    關注

    4

    文章

    154

    瀏覽量

    30952
  • 鴻蒙
    +關注

    關注

    57

    文章

    2467

    瀏覽量

    43614
  • HiHope
    +關注

    關注

    0

    文章

    63

    瀏覽量

    3751

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

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

收藏 0人收藏

    評論

    相關推薦

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

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

    簡易電子琴仿真

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

    電子琴節(jié)拍

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

    電子琴設計

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

    電子琴實驗

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    電子琴設計程序代碼

    電子琴代碼
    發(fā)表于 05-26 16:38 ?9次下載

    基于FPGA的電子琴設計

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

    電子琴設計資料

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

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品