广州网站建设高端,网页设计实验报告怎么写,专业做调查的网站,重庆网络公司排行榜学习工作进度 物联网方面 1.模拟设备通过规则引擎将数据通过mqtt进行转发 在物联网平台上实现模拟设备通过规则引擎将数据通过mqtt进行转发已经全部完成了#xff0c;所使用的物联网平台在这方面有不少的问题和bug#xff0c;也可能是没有按照开发者的想法对平台进行使用才导…学习工作进度 物联网方面 1.模拟设备通过规则引擎将数据通过mqtt进行转发 在物联网平台上实现模拟设备通过规则引擎将数据通过mqtt进行转发已经全部完成了所使用的物联网平台在这方面有不少的问题和bug也可能是没有按照开发者的想法对平台进行使用才导致出现了问题也能给我们进行一个提醒在日后开发我们自己的平台时一定要把使用文档写明白 2.网关二次开发 网关二次开发的工作终于圆满结束了上周因为向网关上传的程序有问题导致网关宕机与客服交流过之后解决了网关无法工作的问题并且也解决了c程序编译的问题 本周首先通过网关技术客服给的调试程序获取到了网关每次对传感器轮询得到的原始数据。得到原始数据之后还要对原始数据进行处理 调试软件界面 网关轮询的得到的原始数据 以下是对数据的处理过程 数据处理全过程 经过一系列的进制转换拼接之后将数据封装成JSON格式的通过网关配置软件中指定的ip地址和端口将数据发送到mqtt-broker上mqtt-broker再根据配置的topic将消息进行转发
以下为网关二次开发的程序
#include user_code.hstatic void get_mb_cmd_info(unsigned char item,int length,char** res)
{struct zq_mbpoll_info info; int i;char** arrmalloc(length*sizeof(char*));char *token;char a[50];int num;double result;memset(a,0X00,50*sizeof(char));memset(info,0x00,sizeof(info));zq_get_mbpoll_item_cmd_info(item,info);strcpy(a,info.val);dbg_user_printf(%s,info.val);for(i0; ilength; i){if (i0){tokenstrtok(a, ,);}else{tokenstrtok(NULL, ,);}numatoi(token);arr[i]malloc(5*sizeof(char));sprintf(arr[i],%x,num);}for(i0; ilength; ii2){res[i/2]malloc(7*sizeof(char));strcpy(res[i/2],arr[i]);strcat(res[i/2],arr[i1]);free(arr[i]);free(arr[i1]);numstrtol(res[i/2],NULL,16);resultnum/10.0;sprintf(res[i/2],%.1f,result);dbg_user_printf(%s,res[i/2]);}
}int mymb_poll_loop_query_end(void){char* res[5];int i;get_mb_cmd_info(0,10,res);char* result;cJSON *root;rootcJSON_CreateObject();cJSON_AddItemToObject(root,temperature,cJSON_CreateString(res[0]));cJSON_AddItemToObject(root,humidity,cJSON_CreateString(res[1]));cJSON_AddItemToObject(root,pressure,cJSON_CreateString(res[2]));cJSON_AddItemToObject(root,illumination,cJSON_CreateString(res[3]));cJSON_AddItemToObject(root,CO2,cJSON_CreateString(res[4]));dbg_user_printf(%s,cJSON_Print(root));resultcJSON_Print(root);zq_tcp_send(2,result,strlen(result)*sizeof(char),0,0);dbg_user_printf(end);free(result);cJSON_Delete(root);for(i0;i5;i){free(res[i]);}return 0;
}int app_main(void * pParameter){zq_set_version(24);struct zq_recv_cb cb;memset(cb,0x00,sizeof(cb));cb.mb_poll_loop_query_end mymb_poll_loop_query_end; zq_set_recv_cb(cb);
}
APP_INIT app_init app_main;
工作学习中遇到的问题
物联网方面 1.模拟设备通过规则引擎将数据通过mqtt进行转发 按照正常流程开发遇到了很多奇奇怪怪的问题 规则的日志显示发送成功但实际上并没有接收到 这时候是发送到本地奇特物联平台带的emqx上可能平台对消息的发送者进行了鉴权但是这里无法进行鉴权可能是平台的bug也可能是我使用的方法不对后边换成了其他服务器上独立运行的emqx才顺利接收到消息 2.网关二次开发 技术支持客服本身也接这个业务所以有的时候问的一些问题不给讲全只是大致讲一下学长也没有这方面的经验很多时候都是靠自己摸索 一方面要回顾以前学习过的c语言基础部分一方面还要学习没有接触过的高级部分对内存和指针的管理还好去年学习c语言的时候认真学了有点基础要不然这个项目算是夭折了
总结
总的来说这两项任务都算是完成了网关的二次开发有一个月了规则引擎实现数据流转有半个月了终于完成了。接下来就是做我们自己的物联网平台后端的很多技术我都忘了这段时间也都没有怎么学要重新拾起来了。