当前位置: 首页 > news >正文

华为摄像头通过stm32叠加字符串


void sendtoHuawei(uint8_t *cameraIp,uint16_t cameraSrcPort,uint16_t cameraDstPort,uint8_t *userName,uint8_t *pwd,uint8_t lineNum,int camNo)//华为

    int flag = 1;
    int sock = -1,connected;
    uint8_t ret;
    int recv_data_len;
    memset(str1, 0, sizeof(str1));
    memset(str2, 0, sizeof(str2));
    memset(str3, 0, sizeof(str3));
    memset(recvbuf, 0, sizeof(recvbuf));
    /*
    memset(disp1, 0, 4096);
    memset(disp2, 0, 4096);
    memset(disp3, 0, 4096);
    memset(disp4, 0, 4096);
    */
    char ip[15]="\0";
    memset(ip,0,sizeof(ip));
    sprintf(ip,"%d.%d.%d.%d",cameraIp[0],cameraIp[1],cameraIp[2],cameraIp[3]);
    printf("sendtoHuawei g_NetDataBag.cameraDstPort = %s,g_NetDataBag.cameraDstPort=%d\r\n",ip,cameraDstPort);
    ret=socket(SOCK_TCPS,Sn_MR_TCP,0, Sn_MR_ND);    
    if(ret != SOCK_TCPS){
        printf("%d:Socket Error\r\n",SOCK_TCPS);
        goto exit;
    }else{
        //printf("%d:Opened\r\n",SOCK_TCPS);
    }
    ret=connect(SOCK_TCPS,cameraIp,cameraDstPort);
    if(ret != SOCK_OK){
        printf("%d:Socket Connect Error\r\n",SOCK_TCPS);
//        while(1);
        goto exit;
    }    
    
    int len = strlen(str2);
    sprintf(str3, "%d", 4);

    memset(str1, 0, sizeof(str1));
    strcat(str1, "PUT /SDCAPI/V1.0/OsdIaas/Channels/Osd?ChannelId=101&TemplateId=0 HTTP/1.1\r\n");
    strcat(str1, "Accept: */*\r\n");
    strcat(str1, "Host: ");
    strcat(str1, ip);
    strcat(str1, "\r\n");
    //strcat(str1, "connection:close\r\n");
    //strcat(str1, "\r\n");

    strcat(str1, "Content-Type: text/xml\r\n");
    strcat(str1, "\r\n");
    printf("[sendcam]len=%d,%s\r\n",strlen(str1),str1);
    send(SOCK_TCPS,(uint8_t *)str1,strlen(str1));    
    
  vTaskDelay(300);
    //接收数据    
    if(getSn_IR(SOCK_TCPS) & Sn_IR_CON)                       
    {
        setSn_IR(SOCK_TCPS, Sn_IR_CON);                    // Sn_IR的CON位置1,通知W5500连接已建立
    }
    // 数据回环测试程序:数据从上位机服务器发给W5500,W5500接收到数据后再回给服务器
    len=getSn_RX_RSR(SOCK_TCPS);                            // len=Socket0接收缓存中已接收和保存的数据大小    
    recv_data_len &#

相关文章:

  • WPF中Dispatcher对象的用途是什么
  • 分发糖果(贪心算法)
  • VivadoAndTcl: namespace
  • 【Essential C++学习笔记】第四章 基于对象的编程风格
  • SIMULIA-Simpack 2022x新功能介绍
  • 11.16~11.19绘制图表,导入EXCEL中数据,进行拟合
  • 纯JS,RSA,AES,公钥,私钥生成及加解密
  • 基于C++实现循环赛日程表(分治算法)
  • 并发编程之生产者消费者模型
  • Golang环境搭建Win10(简洁版)
  • 栈与队列:设计循环队列
  • ModuleNotFoundError: No module named ‘pycocotools‘
  • buildadmin+tp8表格操作(3)----表头上方按钮绑定事件处理,实现功能(选中或取消指定行)
  • Excel vlookup 如何使用
  • 【Linux】冯诺依曼体系结构、操作系统、进程概念、进程状态、环境变量、进程地址空间
  • Android单元测试 - 几个重要问题
  • ES10 特性的完整指南
  • java取消线程实例
  • jdbc就是这么简单
  • JS基础之数据类型、对象、原型、原型链、继承
  • js如何打印object对象
  • Python学习之路13-记分
  • React组件设计模式(一)
  • unity如何实现一个固定宽度的orthagraphic相机
  • vue-loader 源码解析系列之 selector
  • Zsh 开发指南(第十四篇 文件读写)
  • 基于游标的分页接口实现
  • 老板让我十分钟上手nx-admin
  • 软件开发学习的5大技巧,你知道吗?
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 鱼骨图 - 如何绘制?
  • 主流的CSS水平和垂直居中技术大全
  • 【干货分享】dos命令大全
  • (7)STL算法之交换赋值
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (SpringBoot)第七章:SpringBoot日志文件
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)setTimeout 和 setInterval 的区别
  • (转)人的集合论——移山之道
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • ./configure,make,make install的作用(转)
  • .libPaths()设置包加载目录
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .NET实现之(自动更新)
  • .Net语言中的StringBuilder:入门到精通
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • @EnableAsync和@Async开始异步任务支持
  • [20171106]配置客户端连接注意.txt
  • [AI]文心一言爆火的同时,ChatGPT带来了这么多的开源项目你了解吗
  • [C/C++]关于C++11中的std::move和std::forward
  • [excel与dict] python 读取excel内容并放入字典、将字典内容写入 excel文件
  • [git] windows系统安装git教程和配置