Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CharlesGuo11
Heart-Rate Esp32s3-Box_AED
提交
9dddff9a
H
Heart-Rate Esp32s3-Box_AED
项目概览
CharlesGuo11
/
Heart-Rate Esp32s3-Box_AED
通知
6
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
代码片段
项目成员
Pages
H
Heart-Rate Esp32s3-Box_AED
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
9dddff9a
编写于
7月 16, 2022
作者:
honorifica
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
编写图传
上级
f391f74e
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
70 addition
and
72 deletion
+70
-72
main/app/app_player.c
main/app/app_player.c
+0
-7
main/app/app_sr_handler.c
main/app/app_sr_handler.c
+70
-65
未找到文件。
main/app/app_player.c
浏览文件 @
9dddff9a
...
...
@@ -118,10 +118,8 @@ static esp_err_t play_mp3(const char *path)
unsigned
char
*
read_ptr
=
read_buf
;
do
{
/* Process audio event sent from other task */
printf
(
"start
\n
"
);
if
(
pdPASS
==
xQueueReceive
(
audio_event_queue
,
&
audio_event
,
0
))
{
if
(
AUDIO_EVENT_PAUSE
==
audio_event
)
{
printf
(
"start_ok
\n
"
);
g_player_state
=
PLAYER_STATE_PAUSE
;
i2s_zero_dma_buffer
(
I2S_NUM_0
);
xQueuePeek
(
audio_event_queue
,
&
audio_event
,
portMAX_DELAY
);
...
...
@@ -150,7 +148,6 @@ static esp_err_t play_mp3(const char *path)
/* Find MP3 sync word from read buffer */
int
offset
=
MP3FindSyncWord
(
read_buf
,
MAINBUF_SIZE
);
printf
(
"nooooo"
);
if
(
offset
>=
0
)
{
read_ptr
+=
offset
;
/*!< Data start point */
...
...
@@ -160,8 +157,6 @@ static esp_err_t play_mp3(const char *path)
/* Get MP3 frame info and configure I2S clock */
MP3GetLastFrameInfo
(
mp3_decoder
,
&
frame_info
);
printf
(
"not"
);
/* Configure I2S clock if sample rate changed. Always reconfigure at first frame */
if
(
sample_rate
!=
frame_info
.
samprate
||
nChans
!=
frame_info
.
nChans
||
...
...
@@ -176,7 +171,6 @@ static esp_err_t play_mp3(const char *path)
}
/* Write decoded data to audio decoder */
printf
(
"not ok"
);
size_t
i2s_bytes_written
=
0
;
size_t
output_size
=
frame_info
.
outputSamps
*
nChans
;
i2s_write
(
I2S_NUM_0
,
output
,
output_size
,
&
i2s_bytes_written
,
portMAX_DELAY
);
...
...
@@ -190,7 +184,6 @@ static esp_err_t play_mp3(const char *path)
clean_up:
/* This will prevent from sending dumy data to audio decoder */
printf
(
"hhhhhhhhhhhhhh"
);
i2s_zero_dma_buffer
(
I2S_NUM_0
);
/* Clean up resources */
...
...
main/app/app_sr_handler.c
浏览文件 @
9dddff9a
...
...
@@ -25,16 +25,18 @@
#define AED_PORT 153
#define HELP_PORT 120
#define
img_PORT 222
#define
IMG_PORT 5555
#define REGIST_PORT 100
#define REMOVE_PORT 200
#define dataMaxLength 128
#define deviceID "5621564587648727"
#define SERVER_IP "139.9.142.29"
#define EYE_IP "192.168.2.35"
#define EYE_IP "192.168.0.109"
static
const
char
*
TAG
=
"sr_handler"
;
static
bool
b_audio_playing
=
false
;
bool
isAed
;
typedef
enum
{
AUDIO_WAKE
,
...
...
@@ -217,71 +219,74 @@ void sr_handler_task(void *pvParam)
gpio_set_level
(
GPIO_NUM_41
,
0
);
//1为高电平,0为低电平
break
;
case
SR_CMD_HELP
:
////sending information of the client////
sr_echo_play
(
AUDIO_END
);
helpSocket
=
socket
(
AF_INET
,
SOCK_STREAM
,
0
);
/*建立socket*/
if
(
helpSocket
==-
1
){
ESP_LOGE
(
TAG
,
"socket创建失败"
);
break
;
}
struct
sockaddr_in
dest_addr
;
char
buf
[
dataMaxLength
];
for
(
int
i
=
0
;
i
<
dataMaxLength
;
i
++
){
buf
[
i
]
=
'\0'
;
}
dest_addr
.
sin_family
=
AF_INET
;
dest_addr
.
sin_port
=
htons
(
HELP_PORT
);
ESP_LOGE
(
TAG
,
"服务器地址:%s"
,
SERVER_IP
);
if
((
dest_addr
.
sin_addr
.
s_addr
=
inet_addr
(
SERVER_IP
))
==
INADDR_NONE
)
{
ESP_LOGE
(
TAG
,
"地址解析失败"
);
break
;
}
bzero
(
&
(
dest_addr
.
sin_zero
),
8
);
if
(
connect
(
helpSocket
,(
struct
sockaddr
*
)
&
dest_addr
,
sizeof
(
struct
sockaddr
))
==-
1
){
//连接方法,传入句柄,目标地址和大小
ESP_LOGE
(
TAG
,
"服务器连接失败"
);
break
;
}
else
{
ESP_LOGI
(
TAG
,
"连接成功,发送求助设备编号 %s
\n
"
,
deviceID
);
if
(
send
(
helpSocket
,
deviceID
,
17
,
0
)
==-
1
)
{
ESP_LOGE
(
TAG
,
"sending failed
\n
"
);
break
;
}
ESP_LOGI
(
TAG
,
"发送成功,等待应答
\n
"
);
recv
(
helpSocket
,
buf
,
dataMaxLength
,
0
);
ESP_LOGI
(
TAG
,
"服务器应答 : %s"
,
buf
);
}
close
(
helpSocket
);
//
////sending information of the client////
//
sr_echo_play(AUDIO_END);
//
helpSocket=socket(AF_INET,SOCK_STREAM,0);/*建立socket*/
//
if(helpSocket==-1){
//
ESP_LOGE(TAG,"socket创建失败");
//
break;
//
}
//
struct sockaddr_in dest_addr;
//
char buf[dataMaxLength];
//
for(int i=0;i<dataMaxLength;i++){
//
buf[i]='\0';
//
}
//
dest_addr.sin_family=AF_INET;
//
dest_addr.sin_port=htons(HELP_PORT);
//
ESP_LOGE(TAG,"服务器地址:%s",SERVER_IP);
//
if((dest_addr.sin_addr.s_addr=inet_addr(SERVER_IP))==INADDR_NONE) {
//
ESP_LOGE(TAG,"地址解析失败");
//
break;
//
}
//
bzero(&(dest_addr.sin_zero),8);
//
if(connect(helpSocket,(struct sockaddr*)&dest_addr,sizeof(struct sockaddr))==-1){//连接方法,传入句柄,目标地址和大小
//
ESP_LOGE(TAG,"服务器连接失败");
//
break;
//
} else{
//
ESP_LOGI(TAG,"连接成功,发送求助设备编号 %s\n",deviceID);
//
if(send(helpSocket,deviceID,17,0)==-1) {
//
ESP_LOGE(TAG,"sending failed\n");
//
break;
//
}
//
ESP_LOGI(TAG, "发送成功,等待应答\n");
//
recv(helpSocket,buf,dataMaxLength,0);
//
ESP_LOGI(TAG,"服务器应答 : %s",buf);
//
}
//
close(helpSocket);
////sending command to eye ////
imgSocket
=
socket
(
AF_INET
,
SOCK_STREAM
,
0
);
if
(
imgSocket
==-
1
){
ESP_LOGE
(
TAG
,
"socket创建失败"
);
break
;
}
struct
sockaddr_in
eye_addr
;
char
buffer
[
dataMaxLength
];
for
(
int
i
=
0
;
i
<
dataMaxLength
;
i
++
){
buffer
[
i
]
=
'\0'
;
}
eye_addr
.
sin_family
=
AF_INET
;
eye_addr
.
sin_port
=
htons
(
img_PORT
);
if
((
eye_addr
.
sin_addr
.
s_addr
=
inet_addr
(
EYE_IP
))
==
INADDR_NONE
)
{
ESP_LOGE
(
TAG
,
"地址解析失败"
);
break
;
}
bzero
(
&
(
eye_addr
.
sin_zero
),
8
);
if
(
connect
(
imgSocket
,(
struct
sockaddr
*
)
&
eye_addr
,
sizeof
(
struct
sockaddr
))
==-
1
){
ESP_LOGE
(
TAG
,
"EYE连接失败"
);
break
;
}
else
{
if
(
send
(
imgSocket
,
'e'
,
sizeof
(
'e'
),
0
)
==-
1
)
{
ESP_LOGE
(
TAG
,
"sending failed
\n
"
);
break
;
}
if
(
recv
(
imgSocket
,
1
,
sizeof
(
1
),
0
)){
ESP_LOGI
(
TAG
,
"发送成功
\n
"
);
}
if
(
!
isAed
){
ESP_LOGI
(
TAG
,
"告知EYE进行图传"
);
int
imgSocket
=
socket
(
AF_INET
,
SOCK_STREAM
,
0
);
if
(
imgSocket
==-
1
){
ESP_LOGE
(
TAG
,
"socket创建失败"
);
break
;
}
struct
sockaddr_in
eye_addr
;
char
flag
[
1
]
=
{
0
};
eye_addr
.
sin_family
=
AF_INET
;
eye_addr
.
sin_port
=
htons
(
IMG_PORT
);
if
((
eye_addr
.
sin_addr
.
s_addr
=
inet_addr
(
EYE_IP
))
==
INADDR_NONE
)
{
ESP_LOGE
(
TAG
,
"地址解析失败"
);
break
;
}
bzero
(
&
(
eye_addr
.
sin_zero
),
8
);
if
(
connect
(
imgSocket
,(
struct
sockaddr
*
)
&
eye_addr
,
sizeof
(
struct
sockaddr
))
==-
1
){
ESP_LOGE
(
TAG
,
"EYE连接失败"
);
break
;
}
else
{
const
char
*
req
=
"reqImg"
;
if
(
send
(
imgSocket
,
req
,
strlen
(
req
)
*
sizeof
(
char
),
0
)
==-
1
)
{
ESP_LOGE
(
TAG
,
"发送失败
\n
"
);
break
;
}
if
(
recv
(
imgSocket
,
flag
,
1
,
0
)
>
0
){
ESP_LOGI
(
TAG
,
"告知成功
\n
"
);
}
}
close
(
imgSocket
);
}
else
{
}
close
(
imgSocket
);
break
;
default:
ESP_LOGE
(
TAG
,
"Unknow cmd"
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录