1.协议介绍
协议对象:麦仑科技-Melux 掌脉模块(M)、第三方主机设备(P)。
主要目的:完成第三方主机设备与麦仑掌脉模块的通讯,完成注册/认证过程。
使用方法:把麦仑掌脉模组的 USB TYPEC 口接入控制主机的 USB 口上。麦仑掌脉模组会模拟
出 USB 网卡,麦仑掌脉模组的默认 IP 是 192.168.3.1。
2.接口参数
接口根地址: http://设备 IP 地址:8080/请求类型
接口形式: HTTP 请求
请求类型: POST
请求参数: 使用 JSON 格式作为请求参数
3.接口详细内容

制作流程:

一、组URL、POST通过Http的httpPost函数进行发送

1.请求类型接口制作(以GetVersion为例):

主要包括sprintf()拷贝、memset()清空、httpPost()通讯;

主要包括cJSON_Parse()解JSON格式,cJSON_GetObjectItem()获取文本的JSON节点;

节点可以通过->valuestring、->valueint...进行数据类型转换。

设置时间可以通过以下方法获取系统时间:

    char szPostData[512] = {0};time_t nowtime;struct tm *p;nowtime = time(NULL);p = localtime(&nowtime);sprintf(szPostData,"{\n\t\"Time\":\"%04d-%02d-%02d %02d:%02d:%02d\"\n}",p->tm_year + 1900,p->tm_mon + 1,p->tm_mday,p->tm_hour,p->tm_min,p->tm_sec);

2.设置回调后回调信息类型(以PalmRegisterCB为例):

二、 起socket服务

1.创建socket

2.设置setsockopt

3.设置bind

4.设置listen

三、制作搜索线程

1.设置accept

2.设置read

进度到100重新发送Nomarl_Request()

应答

3.设置send

四、创建线程

解JSON数据

bool CMELUXAtomicFunc::GetRegisterImage(const char *pJsonData)
{printf("GetImage start\n");if(pJsonData == NULL){printf("pJsonData = NULL\n");return false;}cJSON * json,*parseprogress,*parseimagelist,*imagelist,*parseimage;json = cJSON_Parse(pJsonData);if(NULL != json){printf("json donot null\n");parseprogress = cJSON_GetObjectItem(json,"Progress");
//      m_iProgress = parseprogress->valueint;printf("Progress:%d\n",parseprogress->valueint);m_pLog->LogInfo("[%s][%s][%d] Progress:%d",__FILE__,__FUNCTION__,__LINE__,parseprogress->valueint);if(100 != parseprogress->valueint){m_iProgress = parseprogress->valueint;return false;}else{parseimagelist = cJSON_GetObjectItem(json,"ImageList");int iListSize = cJSON_GetArraySize(parseimagelist);for(int i = 0;i < iListSize; i++){imagelist = cJSON_GetArrayItem(parseimagelist,i);parseimage = cJSON_GetObjectItem(imagelist,"Image");
//              string strImage;
//              char chImageConvert[2048000];
//              strImage = parseimage->valuestring;
//              strcpy(chImageConvert,strImage.c_str());m_List.push_back(parseimage->valuestring);printf("第%d张图片数据为:%s",i,parseimage->valuestring);
//              m_pLog->LogDebug("[%s][%s][%d] 第%d张图片数据为:%s",__FILE__,__FUNCTION__,__LINE__,i,chImageConvert);printf("第%d张图片 insert success\n",i);if(i == 2){for(int j = 0;j < 2; j++){imagelist = cJSON_GetArrayItem(parseimagelist,j);parseimage = cJSON_GetObjectItem(imagelist,"Image");m_List.push_back(parseimage->valuestring);printf("第%d张图片数据为:%s",j + 3,parseimage->valuestring);printf("第%d张图片 insert success\n",j+3);}}}m_iProgress = parseprogress->valueint;cJSON_Delete(json);return true;}}return false;
}

基于http协议的Melux掌静脉模组相关推荐

  1. 基于高通X55平台的5G模组iperf灌包参数配置

    主机配置: iperf版本: iperf 2.0.0 测试环境: Windows10 根据高通文档说明,在iperf loopback灌包前需通过QPST工具将loopback_config.txt文 ...

  2. 基于涂鸦模组和ITOP4412开发板的宠物喂食器

    文章目录 基于涂鸦模组和ITOP4412开发板的宠物喂食器 1.作品描述 2.作品介绍 2.1 开发环境 2.1.1硬件设备 2.2 主要实现的功能 2.3 后续更新 3.开发流程 3.1 使用涂鸦I ...

  3. 【2G模组Air202开发】Lua脚本编程实现MQTT协议连接Tlink平台(三)

    [2G模组Air202开发]Lua脚本编程实现MQTT协议连接Tlink平台(三) 整体思路: 在TLINK平台上创建一个MQTT协议的设备 对Air202模组进行lua编程并烧录 使用串口向Air2 ...

  4. 基于华为巴龙MH5000-31 5G工业/商业模组开发(一)

    验证华为巴龙5000基带芯片基本功能.性能测试(Windows端)   5G-第五代移动通信技术(英语:5th generation mobile networks或5th generation wi ...

  5. 【2G模组Air202开发】Lua脚本编程实现MQTT协议连接Tlink平台(五)

    [2G模组Air202开发]Lua脚本编程实现MQTT协议连接Tlink平台(五) 整体思路: 在TLINK平台上创建一个MQTT协议的设备 对Air202模组进行lua编程并烧录 使用串口向Air2 ...

  6. 广和通l610二次开发|广和通l610 CAT.1模组opencpu开发《一》资源介绍

    广和通l610二次开发|广和通l610 CAT.1模组opencpu开发<一>资源介绍 L610 平台简介 L610 及平台支持的基本功能 OpenCPU 开机运行 开发板购买 L610 ...

  7. NB-IOT(4)---移远NB-IOT BC26模块模组简介和实际应用方向详解

    移远NB-IOT BC26模块模组简介和实际应用方向详解 继BC95和BC28之后,2017年底移远在杭州发布了基于MTK平台的新款NB-IOT BC26模组. BC26基于联发科MT2625芯片平台 ...

  8. 安信可EC系列模组接入OneNET物联网开放平台的多协议接入产品

    目录 前言 一.OneNET的多协议接入的创建 1. 进入到OneNET的首页:OneNET - 中国移动物联网开放平台,并进入到控制台: 2. 切换到旧版控制台:OneNET - 物联网控制台旧版 ...

  9. 机智云支持的wifi模组,Gagent模组

    Gokit 2 支持的常用模组芯片类型 汉枫 :lpb100. lpt120 .lpt200   (汉枫lpt120系列) 乐鑫 :esp8266 庆科:EMW3162 高通:QCA4004 Real ...

最新文章

  1. ASP.NET 2.0中轻松实现网站换肤
  2. 计算机操作系统pv实验,计算机操作系统笔记--信号量与PV 操作
  3. linux centos7 安装redis
  4. 在JS中如何判断undefined和null
  5. ASP.Net学习笔记010--加法计算器
  6. Linux也使用多线程下载
  7. Android程序中回调的讲解和使用
  8. java的linux内核构建,构建一个Docker 的Java编译环境
  9. 从零基础入门Tensorflow2.0 ----一、3.1 实战深度神经网络
  10. lg g3 android 5.0,LG G3 4.4和5.0系统root教程
  11. c语言八大排序算法详细版
  12. 了解CSS的float高度坍塌的原理,并懂得怎么解决高度坍塌!
  13. colormap保存 matlab_matlab中colormap用法
  14. matlab画微分方程的矢量场图_一维波动方程数值解 Matlab 教程(从入门到出图)——3数值计算的Matlab实现...
  15. html直角三角形怎么实现,直角三角形怎么画
  16. Navicat建数据库时字符集与排序规则说明
  17. 中国石油大学天梯赛真题模拟第三场
  18. 大数据、java、python、区块链、人工智能发展前景
  19. 10驾校科目一考试系统——窗口交互
  20. c语言微信小程序编程,微信小程序实现类似微信点击语音播放效果

热门文章

  1. Python-接受命令行参数-sys.argv
  2. 金蝶软件K3和金蝶软件KIS有什么不同?K3和其他财务软件的最大不同是什么?
  3. sublime text3快速查找和替换代码
  4. 全新霸王餐小程序、外卖霸王餐程序代码源码|美团/饿了么霸王餐系统 粉丝裂变分销,独立商家端
  5. C++1——控制语句章节
  6. 在OpenStack中调优基于LVM的Cinder卷的IO性能
  7. 世纪前线网络质量测试工具 是什么_内推 | 大厂需要什么样的人才?看看这些JD就知道啦...
  8. Qt on Android 图文详解Hello World全过程
  9. ps怎么制作流体_PS滤镜制作风化流体人物特效图片
  10. Lua简介:开发《魔兽争霸》和《愤怒的小鸟》的语言