APP下载

基于Cortex-M3单片机的WiFi物联网小车的设计

2014-01-01汤莉莉王春波

无线电工程 2014年4期
关键词:机软件下位上位

汤莉莉,黄 伟,王春波,方 规

(1.湖北大学知行学院,湖北武汉430011;2.湖北航天技术研究院总体设计所,湖北武汉430040)

0 引言

WiFi物联网小车设计方案,采用电脑上位机软件通过无线WiFi控制小车的运动,采集小车的信息。与传统的“智能小车”相比,主要特点在于使用32位高性能单片机控制、互联网通信机制和电脑上位机软件控制。此方案融合了电脑软件、网络通信、图像处理、图形显示、运动控制、速度采集和温度采集等技术,具有“物联网”的相关特点。传统的小车控制大多使用红外通信,使用遥控器进行控制,不但受到距离的限制,而且远没有电脑软件直观美观。互联网通信使小车具备远程控制的能力,这是红外通信望尘莫及的。此外,本方案小车控制芯片采用Cortex-M3单片机,该单片机具有极丰富的外设,这给小车以后功能升级和扩展奠定了基础。

1 总体设计方案

WiFi物联网小车设计方案需要达到的目的是使用电脑软件(简称上位机)通过互联网与小车控制端(简称下位机)进行通信,从而控制小车的运动,采集小车的速度、温度以及视频监控等功能。总体设计方案如图1所示。图中有2种通信模式可选,其中“WiFi局域网小车控制”是采用局域网的方式,将上位机、无线路由器和小车组成一个局域网,实现上位机控制小车的目的。“互联网远程小车控制方案”是采用远程互联网的方式,将上位机与小车组成一个互联网,从而实现远程控制小车的目的。2种方案的技术类似,由于受到实验条件的限制,本设计以局域网小车控制为例进行讲解说明[1]。

图1 总体方案设计

从通信的角度来讲,无线路由器是上位机和下位机的数据中心,上位机通过Winsocket套接字编程创建一个网络接口与路由器进行连接,小车端通过一个串口转WiFi模块,将串口数据通过WiFi模块转换成WiFi信号与路由器交互。此过程中,上位机和下位机WiFi模块均有一个独立的局域网IP地址。通过这个IP地址上位机和下位机便可以实现网络通信。

从控制的角度来讲,上位机是小车的控制中心,上位机通过“按键”发出指令给小车,小车收到指令后回传相关数据给上位机,上位机收到小车回传的数据,经过解析,将其显示出来。

1.1 上位机软件设计

上位机主要功能是控制小车运动,显示小车的速度、周围的温度以及小车采集的摄像。如图2所示,这些功能由2个线程来完成分别是“图像、声音处理线程”和“小车运动控制,速度、温度采集线程”等。前一个线程主要负责接收并处理有小车WiFi摄像头传过来的图像信息和音频信息,此部分主要涉及到DirectShow相关技术。后一个线程主要负责小车运动的控制,包括“前进、后退、左转、右转、停止、加速、减速、转向灯和喇叭”以及接收处理小车回传的温度和速度信息等,并用虚拟图表显示出来。上位机软件2个线程都创建了一个互不相干的套接字,前者用于与小车WiFi摄像头进行数据交互,后者用于与小车串口转WiFi模块进行数据交互。

图2 上位机软件设计方案

1.2 下位机软件设计

下位机软件设计,即 Cortex-M3核心处理器的程序设计,如图3所示。设计方案主要包括:摄像的控制、小车4个电机的控制、DS18B20温度数据的采集、红外对管速度模块数据的采集以及采集到数据后数据的处理打包发送等内容。其中摄像的控制、电机控制以及温度和速度的采集均以函数的形式获取,当下位机收到上位机的相关命令后,便调用相应的函数获取到结果后用固定的格式发送给上位机。

图3 下位机软件方案

下位机实现WiFi与无线路由器通信的核心是串口转WiFi模块,通过这个模块可以将下位机发送的串口数据直接转换成WiFi信号发射出去。在使用此模块之前可以通过多种方式进行配置,只要配置好了,便可以与制定的WiFi接入点进行网络通信。

2 设计方案特点及扩展说明

2.1 特点介绍

本方案是基于将电脑软件、互联网通信以及单片机技术相结合的理念构想设计的。从单片机的选型、通信方案的确定以及上位机软件的设计等都与传统的“智能小车”有很大的特别之处。以下是本设计方案的3大特色:

①小车的控制芯片采用功能强大的Cortex-M3 32位高性能、低功耗的处理器,该芯片具有丰富的外设,芯片还支持ARM公司提供的RLTx实时操作系统,使用起来非常方便[2];

②通信方式采用TCP/IP通信协议,使用无线WiFi技术,实现对小车的控制。此通信方案(如图1),在具有私有IP的情况下可以连接远程网络,可以通过远程网络遥控小车,这在“智能家居”和“远程医疗”等领域将会有不错的使用价值;

③利用电脑上位机管理软件,使单片机控制、网络通信和计算机软件有效地结合。此方案设计上位机软件来管理小车,符合将复杂的控制简单化、界面化的设计理念。

2.2 扩展说明

Cortex-M3单片机强大丰富的外设资源为本设计的扩展奠定了强大的基础。除了已实现的功能外,单片机还剩下2个串口未用,这使小车还可以添加如下功能[3]:GPS导航功能、语音功能以及GSM/GPRS发短信、打电话和无线上网功能。

3 方案难点及关键技术

方案难点有:

①上位机控制小车的运动对实时性的要求很高,而采集小车的速度并用表盘显示出来,这对通信的稳定性又提出了要求,而对于本来就存在延时的TCP/IP通信来说更是难上加难;

②图像处理主要是借鉴网上DirectShow开发指南中提供的技术,很多内部的处理机制和信号过滤器的使用是难点;

③上位机速度表盘显示速度不连贯,偶尔还有“卡死”的现象。

关键技术有:① 通信协议的制定;② 下位机采集并处理信息的方法;③ 上位机套接字编程,速度表盘动态显示速度;④ 上位机显示小车监控视屏[4];⑤ 小车作为 WiFi接入点接入网络[5]。

4 系统仿真结果分析

4.1 WiFi物联网小车整体外观

小车整体外观如图4和图5所示,系统由上位机和小车组成,小车控制电路放在小车上。小车控制器主要包括:电机控制、测速、测温、通信、图像采集[6]和无线路由等。

图4 WiFi物联网小车

图5 小车俯视图

4.2 系统整体调试

WiFi物联网小车控制系统[7]上位机界面主要包括:网络设置、功能设置、视屏监控区、运动控制区、速度显示区、温度显示区以及调试窗口。网络设置用于上位机与小车进行网络连接,输入小车IP地址,点击“连接”即可。视频监控[8]功能需要小车端安装WiFi摄像头,通过点击视频显示框下面的“Call”按钮可以连接WiFi摄像头的IP地址,连接成功即可获取摄像头采集到的图像。运动控制区用于控制小车的运动和显示小车的转向灯、喇叭等。速度显示区是一个速度表盘用于显示小车的实时速度。温度显示区是一个温度计的图形界面,可以显示小车上DS18B20传感器的温度值。通信调试窗口在调试程序时使用。

4.2.1 网络连接

网络连接调试使用网上下载的TCP网络调试助手,首先设置TCP调试助手为服务器模式,设置服务器监听 IP为192.168.16.110,端口设为345,连接网络,此IP地址和端口号是UART转WiFi模块的IP地址和端口号,通过单片机用AT指令设定。网络连接成功后,小车上位机会不断的发送“014,SR1,TE1,029.6”,表示小车端当前的温度是 29.6℃。

4.2.2 小车运动

小车运动控制部分的调试同样采用上位机和TCP网络调试助手进行调试。连接好网络后,在上位机上分别点击“↑”,“↓”,“←”,“→”,“█”,“加速”,“减速”。在调试助手接收窗口上依次接收到“:014,SG1,UP1,;”、“:014,SG1,DO1,;”、“:014,SG1,LE1,;”、“:014,SG1,RI1,;”、“:014,SG1,ST1,;”、“:014,SG1,AD1,;”和 “:014,SG1,SU1,;”,分别表示“前进”,“后退”,“左转”,“右转”,“停止”,“加速”和“减速”。

4.2.3 温度和速度的显示

温度和速度的测试直接在小车的实际运动过程中进行测试。打开小车,连接上位机,用手捂住小车上的DS18B20,观察上位机上温度显示区模拟温度计的度数变化,然后用手转动小车的轮子观察上位机速度显示区速度表盘指针的变化,改变温度和速度的大小,发现速度表盘指针和温度指示相应发生变化,因此可以判断温度和速度的传输没有问题。

5 结束语

通过反复调试和修改代码,可以实现预想的功能。通信稳定,小车的控制可靠,数据采集的准确度和灵敏度达到要求。在不涉及到远程联网控制的情况下,系统的稳定性和可靠性已经远远超过普通的红外遥控小车和无线射频遥控小车。方案的意义在于将电脑软件技术、网络技术和单片机技术有效结合,突出体现并且深化了“物联网”的含义,未来必将广泛应用于社会生活和生产中。方案的应用领域主要有无人驾驶、远程监控和智能家居等。

[1] 崔更申,孙安青.ARM 嵌入式系统开发与实践[M].北京:中国电力出版社,2008.

[2] ARM Limited.Cortex-M3 Technical Reference Manual[S],2006.

[3] 黄天健.基于GSM模块TC35T的无线远程监控[J].国外电子元器件,2004,10(10):31 -34.

[4] 怯肇乾.嵌入式系统硬件体系设计[M].北京:航空航天大学出版社,2007.

[5] 唐智灵.嵌入式中断WiFi网卡驱动程序的开发[J].桂林电子工学院学报,2005,25(3):25-28.

[6] 梁 伟.Visual C++网络编程静电案例详解[M].北京:清华大学出版社,2010.

[7] 徐亚卿.嵌入式移动终端内置 WiFi的低功耗设计[J].微计算机信息,2008,24(23):24 -27.

[8] 于 广.精通网络视频核心开发技术[M].北京:电子工业出版社,2011.

猜你喜欢

机软件下位上位
发射机房监控系统之下位机
特斯拉 风云之老阿姨上位
小水电站计算机监控系统上位机软件的开发
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
道岔监测系统上位机软件设计
景洪电厂监控系统下位机数据传输网络改造
围观党“下位”,吐槽帝“登基”
以新思路促推现代农业上位
CAN总线并发通信时下位机应用软件设计