(多图) 采用Cortex-M3单片机设计的WiFi物联网小车
1 总体设计方案
WiFi 物联网小车设计方案需要达到的目的是使用电脑软件(简称上位机)通过互联网与小车控制端(简称下位机) 进行通信,从而控制小车的运动,采集小车的速度、温度以及视频监控等功能。总体设计方案如图1 所示。图中有2 种通信模式可选,其中“WiFi 局域网小车控制”是采用局域网的方式,将上位机、无线路由器和小车组成一个局域网,实现上位机控制小车的目的。“互联网远程小车控制方案”是采用远程互联网的方式,将上位机与小车组成一个互联网,从而实现远程控制小车的目的。2 种方案的技术类似,由于受到实验条件的限制,本设计以局域网小车控制为例进行讲解说明。
图1 总体方案设计
从通信的角度来讲,无线路由器是上位机和下位机的数据中心,上位机通过Winsocket 套接字编程创建一个网络接口与路由器进行连接,小车端通过一个串口转WiFi 模块,将串口数据通过WiFi 模块转换成WiFi 信号与路由器交互。此过程中,上位机和下位机WiFi 模块均有一个独立的局域网IP 地址。通过这个IP 地址上位机和下位机便可以实现网络通信。
从控制的角度来讲,上位机是小车的控制中心,上位机通过“按键”发出指令给小车,小车收到指令后回传相关数据给上位机,上位机收到小车回传的数据,经过解析,将其显示出来。
1.1 上位机软件设计
上位机主要功能是控制小车运动,显示小车的速度、周围的温度以及小车采集的摄像。如图2 所示,这些功能由2 个线程来完成分别是“图像、声音处理线程”和“小车运动控制,速度、温度采集线程”等。前一个线程主要负责接收并处理有小车WiFi摄像头传过来的图像信息和音频信息,此部分主要涉及到DirectShow 相关技术。后一个线程主要负责小车运动的控制,包括“前进、后退、左转、右转、停止、加速、减速、转向灯和喇叭”以及接收处理小车回传的温度和速度信息等,并用虚拟图表显示出来。上位机软件2 个线程都创建了一个互不相干的套接字,前者用于与小车WiFi 摄像头进行数据交互,后者用于与小车串口转WiFi 模块进行数据交互。
图2 上位机软件设计方案
WiFi? LPC1768单片机? 图像处理? 虚拟仪表?