模拟智能公交车系统

    第一个项目:关于嵌入式,传感器,无线网络,串口通信

      开学第一周,企业实习,5天,前两天扫盲,后三天做项目,这40个小时作为开学周很充实,所以记录一下这个项目,第一次真正投入,研究的很感兴趣的一个项目。希望这是一个很好的开端,在这条道路上能走的更远。


一.技术,项目功能

    主要技术:嵌入式编程,ZigBee协议,QT写界面。

功能:首先给带有ZigBee模块和传感器的两块板子(光照和温湿度板子)下载定制的程序(端节点程序),让它每隔1s向同一信道的协调器发送测得的温,湿度数据;其次给协调器下载协调器程序(实现接收并显示两个传感器的数据,并将收到的数据向PC通过串口发送);最后在PC端,QT编写出来一个程序,实现接收数据,分析数据后通过串口发出控制指令(光照过强就关灯之类),并在自己的UI界面指定区域显示,UI还有很多其它控件,并且实现实时数据用图线画出来(未完全实现),存入数据库(未完全实现)。


二.创新点

1.协调器液晶屏的显示处理

因为端节点(传感器)发的数据是一条一条的(Temp:21C/Humi:67%/Light:0874lx)所以需要改写原来程序中的显示函数,实现这三种数据显示在一屏上,改改程序,主要是刷新函数什么时候调用,这样的话就不用设计通信协议,老师提示我们可以朝这方面考虑。

2.分析数据后,PC端通过串口发给协调器的指令

这个模块,设计到对数据的处理(发指令实现某种控制),听了很多组的报告后,总结来看,以下是我认为不错的想法。


初级版:通过UI界面上串口发送控件(LineEdit),就是在串口发送部分输入001,点击发送按钮,发送数据实现控制LED灯的亮灭。


中极版:点击按钮(照明系统开启/关闭),改代码,让它点击的时候就通过串口发送某条指令,只要几个按钮和指令对应上就行。


高级版:设置手动控制和自动调节两种,这样的在生活中更智能。就是手动的,可以采用上面两种方法;自动调节就是分析数据,当某些数据达到阈值,不在合适范围内,就通过串口向协调器发指令,有几个组是这样设计的。



2.PC端接收到的数据提取分析和实时绘图(当时手动输入看到的数据模拟了一下,并未真正调出来),存入数据库

只打开一个UI,打开串口接收后,里面串口接收函数开始工作,老师说扫描时间很快,必须判断接收到的ByteArray数组非空,才能去分析里面的数据,要想实现绘图,我这次找到的感觉挺好用的一个类是QCustomplot(关键函数是setData(),里面还有一个定时器,槽,Graph_show()),从网上找到一个Demo,改改就可以用到这里了,每次调用接收函数,接收到一次数据后,就画一次图,就存一次数据。想法很完整,但是完整确定可以跑的代码还没有编完。

思想:在大的UI类里面,设置三个类对象(画图的)作为自己的成员变量,并且存数据库的代码放在UI的串口接收函数中。

3.服务器(只是想想)

老师在项目开始前,提到了前几届的学生,做的比较好的有搭建C/S型服务器的,但是我不知道在这个系统中,服务器可以通信了,可以做什么?客户端把测得的数据实时发给服务器分析,保存之类的吗?这个传的过程很像上学期的一个物联网安全实验的项目,两台电脑利用计算机网络的知识,可以用协议实现通信(互发数据),那个时候还用到了安全知识,还有个第三方攻击者。

三.软,硬件

1.硬件


2.软件

IAR,QT,SourceInsight,串口调试助手

四.操作

给那三个硬件板子下载好程序后(注意信道改为一致,方便顺利组网),打开PC端的QT程序,将所有线都连好,通过按钮启动那三个板子,发数据,运行QT的程序,这样已经可以在协调器的液晶屏和UI界面上看到传递的数据,曲线也在绘制,数据库也在工作存储。

五.总结

1.看看别的组





  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值