APP下载

基于Arduino 的智能车辆管理系统原型设计与实现

2015-06-02王鸿彬

电脑知识与技术 2015年9期
关键词:物联网

王鸿彬

摘要:Arduino平台,开源、方便上手、便捷灵活的特点,使得它非常适用于快速搭建基于各种传感器的物联网应用原型。该文以停车场为应用场景,使用Arduino电子原型平台结合C#编写的上层管理程序设计并实现了一套用于高职层次物联网专业教学与实训的智能车辆管理系统模拟沙盘。

关键词:Arduino;C#;智能车辆管理;物联网

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)09-0199-01

Arduino是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的Arduino板和传感器)和软件(Arduino IDE)。Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境[1]。基于Arduino平台,可以快速搭建各种模拟物联网应用的电子原型[2]。C#是面向对象的编程语言。它简单、快速的特点,使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序[3],特别是在实现Windows应用程序方面优势非常明显。本文中的智能车辆管理系统正是利用上述两项的优势设计并实现了一套集门禁管理、停车场实时监控、灯光控制、停车指引等功能为一体的用于物联网专业教学与实训的电子原型。

1 设计思路与系统结构

该电子原型使用Arduino Uno开发板作为下位机,运行使用C#编写的通信Service和管理程序的PC作为上位机,通过一台数据库/通信服务器存储数据和传送指令,配合各种传感器和网络构成了整个原型的软硬件环境。如图1。

图中数据库/通信服务器和Arduino开发版联合组成了控制和通信的中樞,用于读取各传感器状态信息,发送控制信号,控制进/出口闸机、照明系统、LED显示屏,并为管理客户端提供基础数据。

2 功能描述

图1对系统的总体结构进行了描述,本节将对系统中各个部分的功能及实现原理进行详细描述。

LED显示屏:读取数据库信息,显示停车场实时显示车位占用情况,下停车场示意图中显示为占用停车位位置,同时显示总车位数,停车书和剩余车位数。

对射开关组(停车场):停车场每个车位均装有对射开关用于探测车位占用情况,系统实施读取开关状态,并将数据写入数据库。

对射开关组(路):探测道路上车辆行驶情况,当有车辆在道路上行驶时,按照车辆行驶路线,分段开启道路照明,实现照明系统智能开启。

进门RFID读卡器:用于读取进出门车辆卡片信息,判断该车是否为授权车辆,同时将车辆信息以语音播报的方式在进门控制室进行播报,以方便相关人员核对实际进门车辆是否与登记信息相符。

出门RFID读卡器:用于读取出门车辆卡片信息,结合该车进门信息生成计费数据,并进行计费管理。

车位状态指示灯:与车位对射开关组合,通过点亮或关闭指示灯,指示车位占用状态,并通过灯光指引车辆快速找到为占用车位。

光感开关:避免照明系统在光线充足的情况下开启,以节省能源。

Arduino控制板:读取停车场对射开关状态,生成停车场占用信息数据,读取道路对射开关状态,获取车辆在道路行驶的路径,将上述信息按通信协议编码并发送到数据库/通信服务器。通过RFID读卡器读取车辆卡片信息,查询数据库核对卡片授权信息、车辆登记信息、进门信息,控制进/出门闸机进行开闸和毕闸操作。根据道路车辆行驶信息控制照明系统分段开启照明。

数据库/通信服务器:由于本系统数据量和通信量都不大,故将数据库和通信两类服务安装在同一台服务器。数据库用于本系统所有数据存储和查询。通信服务负责根据各种通信协议从Arduino主控板读取各类传感器数据。另外,该服务器还负责驱动用于显示停车场实施状态的LED显示屏。

管理客户端:主要负责停车场示意图生成与维护;停车卡的制卡、销卡,车辆信息维护;闸机、照明系统的手动控制;停车场实时数据的监控。

3 系统实现

本文所述系统是为物联网专业学生实训开发的,系统中分别应用了C#(PC端程序和通信服务)、SQL-SERVER和Ardunio,篇幅所限下面只列出部分核心代码。

Arduno代码:

void loop()

{

uchar i,tmp;

uchar status;

uchar RC_size;

uchar blockAddr;

char data1;

int val,isCardRead;

isCardRead=0;

val=Serial.read();

if(val=='U')

{

steperUp();

}

if(val=='D')

{

steperDown();

}

if(val=='O')

{

digitalWrite(relay,HIGH);

}

if(val=='C')

{

digitalWrite(relay,LOW);

}

}

4 结束语

本文所述原型已在教学实践中的得到应用,C#结合Arduino快速、简单、易用、可拓展性强的特点使得本套系统在实训教学中非常受学生的欢迎,不但能够加强学生对物联网各层应用的理解,而且能够极大的调动学生的积极性、主动性,培养学生的创新思维。这些正是Arduino自身的优点所在。

参考文献:

[1] 施智雄. Arduino 在大学工科教学中应用探索[J]. 西昌学院学报, 2012(3).

[2] 蔡睿妍. Arduino的原理及应用[J]. 电子设计工程, 2012(16).

[3] Christian Nagel, Jay Glynn, Morgan Skinner. C#高级编程[M]. 北京: 清华大学出版社, 2013.

猜你喜欢

物联网
基于LABVIEW的温室管理系统的研究与设计
论智能油田的发展趋势及必要性
中国或成“物联网”领军者