Commit e29952ad authored by 学习的菜鸟's avatar 学习的菜鸟

加入了互斥锁

parent 20d1604c
......@@ -46,10 +46,16 @@ int thread_start_init(ThreadFunc thread_exit_time, ThreadFunc thread_mqtt_beat,
void *thread_exit_time(void *arg) {
while(1){
delay_ms(100);
pthread_mutex_lock(&g_exit_count_mutex);
g_devcontrol_exit_count++;
pthread_mutex_lock(&g_exit_count_mutex);
if(g_devcontrol_exit_count>=5) {
device_stop(g_device_type);
pthread_mutex_lock(&g_exit_count_mutex);
g_devcontrol_exit_count=6;
pthread_mutex_unlock(&g_exit_count_mutex);
}
}
return NULL;
......@@ -126,8 +132,18 @@ void *thread_time_calculation(void *arg) {
while (1) {
delay_ms(5);
g_device_delay_count++;//设备计时,坦克打击倒退逻辑
pthread_mutex_lock(&g_verify_mutex);
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;
}
return NULL;
......
No preview for this file type
......@@ -3,7 +3,7 @@
#include "device_fileopen.h"
#include "device_identity.h"
char gwebcam[254];//存放启动火狐网站命令
char gwebcam[2048];//存放启动火狐网站命令
int opencamsh_china(){
const char* url = "https://jywy.yd-ss.com?dev=";
......@@ -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(){
const char* url = "https://video.luckycar.top/?dev=";
char urls[50];
......
......@@ -20,6 +20,7 @@
int g_heartbeat_count=0;
pthread_mutex_t g_exit_count_mutex = PTHREAD_MUTEX_INITIALIZER;
int g_devcontrol_exit_count=0;
int g_message_type=0;
......@@ -132,7 +133,6 @@ void message_3(cJSON *body){
g_valt[0]=typeTemp;
g_valt[1]=modeTemp;
g_valt[2]=valTemp;
g_devcontrol_exit_count = 0;
my_zlog_debug("typeTemp:%d",g_valt[0]);
my_zlog_debug("modeTemp:%d",g_valt[1]);
......@@ -159,7 +159,6 @@ void message_4(cJSON *body){//message 为4时候
valTemp=1;
}
g_devcontrol_exit_count=0;
g_valt[0]=0;
g_valt[1]=pinTemp;
g_valt[2]=valTemp;
......@@ -248,6 +247,10 @@ int device_message_receive(cJSON *json){//接收到的控制设备的mqtt消息
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;
my_zlog_debug("message_type: %d",message_type->valueint);
switch(g_message_type){
......
......@@ -3,11 +3,14 @@
#include "cjson/cJSON.h"
#include <pthread.h>
extern int g_heartbeat_count;
extern pthread_mutex_t g_exit_count_mutex;
extern int g_devcontrol_exit_count;
void mqtt_beat_wirte();
int device_message_receive(cJSON *json);
......
......@@ -2,12 +2,13 @@
#define MQTT_VERIFY_H__
#include "cjson/cJSON.h"
#include <pthread.h>
/*TRUE为打开验证,FALSE为关闭验证*/
#define VERIFIED_MODE FALSE
#define VERIFIED_MODE TRUE
#define AES_BLOCK_SIZE 16
extern pthread_mutex_t g_verify_mutex;
extern int g_verify_count;//验证计时
extern int g_verify_index;//判断是否验证成功
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment