基于物联网的公交车收费系统设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于物联网的公交车收费系统

一.系统设计

整体设计

公交车收费系统使用Android数据网关,连接无线AP点,通过串口跟控制芯片连接,控制芯片将RFID读卡器的数据通过无线AP发送,对公交卡用户执行开户、充值、余额查询、销户、消费等操作。

系统框图如下:

公交车收费系统的硬件设备主要包括:

(1) Android后台:程序的运行环境,处理获取的卡号,执行相关操作,并显示金

额。

(2) RFID读卡:读卡设备,用于读取IC卡数据。

(3) Wi-Fi模块:通过串口线与高频RFID读卡器相连,将读卡数据通过Socket连接

发送给安卓后台管理程序。

(4) 高频IC卡:用户公交卡。

公交系统数据库的设计

本系统数据库非常简单,在实验室阶段,我们可以只用一个用户表即可完成,简单期间,下表只注册用户姓名,联系电话,如果需要可以添加更多的用户信息,比如年龄,工作单位之

类的。

软件部分:

软件部分功能基本开发完成了

信息查询:

WiFi模块通过tcp/ip跟安卓后台通讯(软硬件交互部分):

Wifi模块跟单片机的连接:通过USART

ESP8266模块引脚图

通过串口通信的话。模块连线就比较简单了,只需要:

ESP8266 <----->STM32

GND <----->GND

3.3V <----->3.3V

TXD <----->PA3//IO口功能复用,串口收发数据RXD <----->PA2

Wifi模块使用:

ESP8266支持AT指令:

在AT模式下可以通过串口的AT指令对系统参数做配置。指令格式如下:

AT+=<值>

例如:“AT+CWMODE”查询当前模块的WIFI模式。

例如:“A T+CWMODE=3”设置模块WIFI模式为AP+STA模式。

这里是所有支持的AT指令:

ESP8266模块支持三种模式:AP模式,STA和AP+STA模式

我们考虑采用AP模式:即模块作为无线WIFI热点,允许其他WIFI设备连接到本模块,实现串口与其他设备之间的无线(WIFI)数据转换互传。AP模式下包括三个子模式:TCP 服务器、TCP 客户端,UDP

将本模块设置成TCP服务器端的过程:使用AT指令AT+CWMODE=2 设置模块WIFI模式为AP模式AT+RST 重启生效

AT+CWSAP=”myWIfi”,”123456 78”,1,4设置模块的AP参数:SSID为myWifi,密码为12345678,通道号为1,加密方式为:

WPA_WPA2_PSK

AT+CIPMUX=1 开启多连接

AT+CIPSERVER=1,8888 开启SERVER模式,设置端口为

8888

安卓端的TCP/IP

Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议

什么是Socket?

Socket是应用层与TCP/IP协议簇通讯的中间抽象层,Socket是一组接口,它把复杂的TCP/IP协议簇的内容隐藏在套接字接口后面,我们无需关心协议的实现,只需使用Socket提供的接口即可。

安卓端创建服务器端的步骤:

1.创建ServerSocket对象,绑定监听端口

2.通过accept()方法监听客户端请求

3.连接建立之后,通过获取输入流,取得客户端请求信息

4.创建输出流,返回给客户端信息

5.关闭资源

安卓端创建客户端的步骤:

1.创建socket对象,指定需要链接的服务器地址和端口号

2.建立连接后,获取输出流,向客户端发起请求信息

3.获取输入流,读取服务器端反馈的信息

4.关闭相应资源

读卡器部分:

主要内容包括:STM32芯片与RC522模块的通信,RC522模块与IC卡之间的识别过程

RC522引脚图:

1.rc522与单片机的引脚设置:

RC522引脚图

在使用不同类型接口的时候,RC522的引脚作用会不同,在与单片机通信的时候是采用SPI 通信

串行外设接口

因此跟STM32板的接线方式如下:(参看STM32引脚图)

RC522---------stm32

1--SDA <----->PA4 //选通

*2--SCK <----->PB13 //SCK时钟

*3--MOSI<----->PB15 //OI

*4--MISO<----->PB14 //IO

*5—悬空

*6--GND <----->GND

*7--RST <----->PB1

*8--3.3V<----->3.3V

RC522的工作过程:

一.RC522跟单片机的通信:

MFRC522发送与接收卡数据暂存于FIFO缓冲区中

二.对卡的操作

分成四步:寻卡→防冲突→选卡→读/写卡;

使用二次编程的函数接口

(1)寻卡

向FIFO中写入PICC_REQIDL命令,通过PCD_TRANSCEIVE命令将FIFO中数据通过天线发送出去,此时若有卡在天线作用范围内,将识别命令,并返回卡类型,和卡片序列号;

卡类型(TagType):

0x4400 = Mifare_UltraLight

0x0400 = Mifare_One(S50)

0x0200 = Mifare_One(S70)

0x0800 = Mifare_Pro(X)

0x4403 = Mifare_DESFire

相关文档
最新文档