采用Cortex-M3单片机设计的WiFi物联网小车
杂的控制简单化、界面化的设计理念。
2.2 扩展说明
Cortex-M3 单片机强大丰富的外设资源为本设计的扩展奠定了强大的基础。除了已实现的功能外,单片机还剩下2 个串口未用,这使小车还可以添加如下功能:GPS 导航功能、语音功能以及GSM/GPRS 发短信、打电话和无线上网功能。
3 方案难点及关键技术
方案难点有:
① 上位机控制小车的运动对实时性的要求很高,而采集小车的速度并用表盘显示出来,这对通信的稳定性又提出了要求,而对于本来就存在延时的TCP / IP 通信来说更是难上加难;
② 图像处理主要是借鉴网上DirectShow 开发指南中提供的技术,很多内部的处理机制和信号过滤器的使用是难点;
③ 上位机速度表盘显示速度不连贯,偶尔还有"卡死"的现象。
关键技术有:① 通信协议的制定;② 下位机采集并处理信息的方法;③ 上位机套接字编程,速度表盘动态显示速度;④ 上位机显示小车监控视屏;⑤ 小车作为WiFi 接入点接入网络。
4 系统仿真结果分析
4.1 WiFi 物联网小车整体外观
小车整体外观如图4 和图5 所示,系统由上位机和小车组成,小车控制电路放在小车上。小车控制器主要包括:电机控制、测速、测温、通信、图像采集和无线路由等。
图4 WiFi 物联网小车
图5 小车俯视图
4.2 系统整体调试
WiFi 物联网小车控制系统上位机界面主要包括:网络设置、功能设置、视屏监控区、运动控制区、速度显示区、温度显示区以及调试窗口。网络设置用于上位机与小车进行网络连接,输入小车IP 地址,点击"连接"即可。视频监控功能需要小车端安装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 结束语
通过反复调试和修改代码,可以实现预想的功能。通信稳定,小车的控制可靠,数据采集的准确度和灵敏度达到要求。在不涉及到远程联网控制的情况下,系统的稳定性和可靠性已经远远超过普通的红外遥控小车和无线射频遥控小车。方案的意义在于将电脑软件技术、网络技术和单片机技术有效结合,突出体现并且深化了"物联网"的含义,未来必将广泛应用于社会生活和生产中。方案的应用领域主要有无人驾驶、远程监控和智能家居等。
- 你不得不知的Cortex-M3和M4微控制器使用秘诀(07-01)
- Cortex M3的SRAM单元故障软件的自检测研究(06-29)
- 低成本ARM 32位MCU,开发人员面临的两种选择(04-28)
- ARM Cortex-M3微处理器测试方法研究与实现(07-15)
- 自己动手用Cortex-M3与ADXL345做个重力感应遥控器(02-22)
- ARM Cortex M3/M4微控制器最大效率设计三秘诀(04-12)