2013年11.25本周计划

1.传感器方面——传感器的测试程序的改善

2.软件方面——给I爱国者平板端写一个WEBSERVICE的接口

对于任务1——

添加的功能有:看到经过5点3此平滑后的数据;动态的看到PM2.5的实时值,并看到1分钟后原始数据的平均值,以红色字体显示,并定格1分钟,蜂鸣器响应

遇到的BUG1:重用QT新改写了界面,发现按钮的大小改变不了了,不管用什么方法就是不行,后发现自己以前用arm下的qmake在当前目录下生成了一个新的界面,程序会移植加载这个界面,用make clean后清楚当前目录下的文件,然后点击重新构建,然后”执“qmake”,“运行”!

解决问题1:

设置字体的代大小问题,直接用QT中的界面设置,右击改变样式表设置字体的大小,Q看到它使用的是:setStyleSheet函数来设置字体的大小的,这个函数不仅可以设置字体大小,还可以设置背景颜色————有待补充

设置完字体颜色后开始设置1分钟字体颜色跳变一次:

2013年11.25本周计划_第1张图片

后面就是关于熟知的变换了,每隔1分钟重新计数即可。

解决问题2:

原先对获取传感器值的部分,我创建了线程来执行用pthread的一些列函数,后来别人提醒可以直接用QT中的时钟来进行取代线程的操作,我觉得这主意不错,就用了,发现简化了很多代码,没有那么多的线程操作了;不过,这里有个问题,在读数据时,程序会等待(我驱动中设置的读是阻塞1s的),QT中的时钟设置就很关键,起初我知道这个会出现问题,但我希望用户看到的是0.5s显示一次,于是我设置了0.5s,,这是我的第一个需求:用户希望0.5看到一次数据,我该怎么办?于是我想了设置两个定时器,分别用于显示数据和获取数据的定时,显示数据设置的是0.5s,获取数据当然是1s了,不过系统会比较卡,把获取数据和显示数据放在一个定时器里面执行也是同样的效果,最后我还是妥协了,没1s显示一次,如果想要0.5s显示,还是得创建多线程来做。

解决问题3:

做了一个可以应用到WEbservice(基于gSoap)的检测仪测试程序:服务器端使用C++写的,那么客户端也用C++来完成,主要添加一下语句

char* server="http://192.168.1.232:9000";

SmsWBSProxy* sms; //这句我定义为另一个结构体的私有成员

sms = new SmsWBSProxy; //这儿调用的时候就用new来创建

sms->soap_endpoint = server;//这条语句需要放到调用server的语句前面

sms->GetSensorPM(1, &buff); //这儿调用的是service端的接口函数


对于任务二——

已经做了WEBservice的接口给了客户端,不过,现在需要改变策略——

添加功能:WEBService的通过后台程序来调用,后台程序再把数据传给客户端。

未完待续……

WEBservice和后来程序间的交互涉及到了进程间的通信,进程间的通信我是一直不熟悉,正好利用这次机会好好学习,这个任务看来得拖到下个星期了!

你可能感兴趣的:(2013年11.25本周计划)