Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
car-controlserver
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wenzhongjian
car-controlserver
Commits
e29952ad
Commit
e29952ad
authored
Jul 28, 2025
by
学习的菜鸟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
加入了互斥锁
parent
20d1604c
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
55 additions
and
6 deletions
+55
-6
pthread_open.c
app/main/pthread_open.c
+17
-1
main
build/main
+0
-0
browser_open.c
modules/browser/browser_open.c
+27
-1
mqtt_infor_handle.c
modules/mqtt/mqtt_infor_handle.c
+5
-2
mqtt_infor_handle.h
modules/mqtt/mqtt_infor_handle.h
+3
-0
mqtt_verify.h
modules/mqtt/mqtt_verify.h
+3
-2
No files found.
app/main/pthread_open.c
View file @
e29952ad
...
@@ -46,10 +46,16 @@ int thread_start_init(ThreadFunc thread_exit_time, ThreadFunc thread_mqtt_beat,
...
@@ -46,10 +46,16 @@ int thread_start_init(ThreadFunc thread_exit_time, ThreadFunc thread_mqtt_beat,
void
*
thread_exit_time
(
void
*
arg
)
{
void
*
thread_exit_time
(
void
*
arg
)
{
while
(
1
){
while
(
1
){
delay_ms
(
100
);
delay_ms
(
100
);
pthread_mutex_lock
(
&
g_exit_count_mutex
);
g_devcontrol_exit_count
++
;
g_devcontrol_exit_count
++
;
pthread_mutex_lock
(
&
g_exit_count_mutex
);
if
(
g_devcontrol_exit_count
>=
5
)
{
if
(
g_devcontrol_exit_count
>=
5
)
{
device_stop
(
g_device_type
);
device_stop
(
g_device_type
);
pthread_mutex_lock
(
&
g_exit_count_mutex
);
g_devcontrol_exit_count
=
6
;
g_devcontrol_exit_count
=
6
;
pthread_mutex_unlock
(
&
g_exit_count_mutex
);
}
}
}
}
return
NULL
;
return
NULL
;
...
@@ -126,8 +132,18 @@ void *thread_time_calculation(void *arg) {
...
@@ -126,8 +132,18 @@ void *thread_time_calculation(void *arg) {
while
(
1
)
{
while
(
1
)
{
delay_ms
(
5
);
delay_ms
(
5
);
g_device_delay_count
++
;
//设备计时,坦克打击倒退逻辑
g_device_delay_count
++
;
//设备计时,坦克打击倒退逻辑
pthread_mutex_lock
(
&
g_verify_mutex
);
g_verify_count
++
;
//验证计时,每15s一次
g_verify_count
++
;
//验证计时,每15s一次
if
(
g_verify_count
>=
20000
)
g_verify_count
=
20000
;
pthread_mutex_unlock
(
&
g_verify_mutex
);
if
(
g_verify_count
>=
20000
)
{
pthread_mutex_lock
(
&
g_verify_mutex
);
g_verify_count
=
20000
;
pthread_mutex_unlock
(
&
g_verify_mutex
);
}
if
(
g_device_delay_count
>=
5000
)
g_device_delay_count
=
5000
;
if
(
g_device_delay_count
>=
5000
)
g_device_delay_count
=
5000
;
}
}
return
NULL
;
return
NULL
;
...
...
build/main
View file @
e29952ad
No preview for this file type
modules/browser/browser_open.c
View file @
e29952ad
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
#include "device_fileopen.h"
#include "device_fileopen.h"
#include "device_identity.h"
#include "device_identity.h"
char
gwebcam
[
2
54
];
//存放启动火狐网站命令
char
gwebcam
[
2
048
];
//存放启动火狐网站命令
int
opencamsh_china
(){
int
opencamsh_china
(){
const
char
*
url
=
"https://jywy.yd-ss.com?dev="
;
const
char
*
url
=
"https://jywy.yd-ss.com?dev="
;
...
@@ -20,6 +20,32 @@ int opencamsh_china(){
...
@@ -20,6 +20,32 @@ int opencamsh_china(){
}
}
// int opencamsh_china() {
// const char* url = "https://jywy.yd-ss.com?dev=";
// char urls[50];
// sprintf(urls, "%s%s", url, mqtt_topic_pure_number());
// // 使用nice和taskset提高优先级并绑定CPU核心
// sprintf(gwebcam, "su - orangepi -c \"nice -n -10 taskset -c 1 chromium-browser --use-fake-ui-for-media-stream "
// "--use-gl=egl "
// "--enable-features=WebRTC-H264WithOpenH264FFmpeg "
// "--disable-features=WebRTC-IPv6OnWiFi "
// "--enable-gpu-rasterization "
// "--enable-zero-copy "
// "--disable-quic "
// "--disable-gpu-compositing "
// "--autoplay-policy=no-user-gesture-required "
// "--window-size=800,600 --start-maximized "
// "%s\"", urls);
// system(gwebcam);
// my_zlog_debug("%s", gwebcam);
// my_zlog_debug("open cam");
// return 0;
// }
int
opencamsh_abroad
(){
int
opencamsh_abroad
(){
const
char
*
url
=
"https://video.luckycar.top/?dev="
;
const
char
*
url
=
"https://video.luckycar.top/?dev="
;
char
urls
[
50
];
char
urls
[
50
];
...
...
modules/mqtt/mqtt_infor_handle.c
View file @
e29952ad
...
@@ -20,6 +20,7 @@
...
@@ -20,6 +20,7 @@
int
g_heartbeat_count
=
0
;
int
g_heartbeat_count
=
0
;
pthread_mutex_t
g_exit_count_mutex
=
PTHREAD_MUTEX_INITIALIZER
;
int
g_devcontrol_exit_count
=
0
;
int
g_devcontrol_exit_count
=
0
;
int
g_message_type
=
0
;
int
g_message_type
=
0
;
...
@@ -132,7 +133,6 @@ void message_3(cJSON *body){
...
@@ -132,7 +133,6 @@ void message_3(cJSON *body){
g_valt
[
0
]
=
typeTemp
;
g_valt
[
0
]
=
typeTemp
;
g_valt
[
1
]
=
modeTemp
;
g_valt
[
1
]
=
modeTemp
;
g_valt
[
2
]
=
valTemp
;
g_valt
[
2
]
=
valTemp
;
g_devcontrol_exit_count
=
0
;
my_zlog_debug
(
"typeTemp:%d"
,
g_valt
[
0
]);
my_zlog_debug
(
"typeTemp:%d"
,
g_valt
[
0
]);
my_zlog_debug
(
"modeTemp:%d"
,
g_valt
[
1
]);
my_zlog_debug
(
"modeTemp:%d"
,
g_valt
[
1
]);
...
@@ -159,7 +159,6 @@ void message_4(cJSON *body){//message 为4时候
...
@@ -159,7 +159,6 @@ void message_4(cJSON *body){//message 为4时候
valTemp
=
1
;
valTemp
=
1
;
}
}
g_devcontrol_exit_count
=
0
;
g_valt
[
0
]
=
0
;
g_valt
[
0
]
=
0
;
g_valt
[
1
]
=
pinTemp
;
g_valt
[
1
]
=
pinTemp
;
g_valt
[
2
]
=
valTemp
;
g_valt
[
2
]
=
valTemp
;
...
@@ -248,6 +247,10 @@ int device_message_receive(cJSON *json){//接收到的控制设备的mqtt消息
...
@@ -248,6 +247,10 @@ int device_message_receive(cJSON *json){//接收到的控制设备的mqtt消息
return
1
;
return
1
;
}
}
pthread_mutex_lock
(
&
g_exit_count_mutex
);
g_devcontrol_exit_count
=
0
;
pthread_mutex_unlock
(
&
g_exit_count_mutex
);
g_message_type
=
message_type
->
valueint
;
g_message_type
=
message_type
->
valueint
;
my_zlog_debug
(
"message_type: %d"
,
message_type
->
valueint
);
my_zlog_debug
(
"message_type: %d"
,
message_type
->
valueint
);
switch
(
g_message_type
){
switch
(
g_message_type
){
...
...
modules/mqtt/mqtt_infor_handle.h
View file @
e29952ad
...
@@ -3,11 +3,14 @@
...
@@ -3,11 +3,14 @@
#include "cjson/cJSON.h"
#include "cjson/cJSON.h"
#include <pthread.h>
extern
int
g_heartbeat_count
;
extern
int
g_heartbeat_count
;
extern
pthread_mutex_t
g_exit_count_mutex
;
extern
int
g_devcontrol_exit_count
;
extern
int
g_devcontrol_exit_count
;
void
mqtt_beat_wirte
();
void
mqtt_beat_wirte
();
int
device_message_receive
(
cJSON
*
json
);
int
device_message_receive
(
cJSON
*
json
);
...
...
modules/mqtt/mqtt_verify.h
View file @
e29952ad
...
@@ -2,12 +2,13 @@
...
@@ -2,12 +2,13 @@
#define MQTT_VERIFY_H__
#define MQTT_VERIFY_H__
#include "cjson/cJSON.h"
#include "cjson/cJSON.h"
#include <pthread.h>
/*TRUE为打开验证,FALSE为关闭验证*/
/*TRUE为打开验证,FALSE为关闭验证*/
#define VERIFIED_MODE
FALS
E
#define VERIFIED_MODE
TRU
E
#define AES_BLOCK_SIZE 16
#define AES_BLOCK_SIZE 16
extern
pthread_mutex_t
g_verify_mutex
;
extern
int
g_verify_count
;
//验证计时
extern
int
g_verify_count
;
//验证计时
extern
int
g_verify_index
;
//判断是否验证成功
extern
int
g_verify_index
;
//判断是否验证成功
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment