精华内容
下载资源
问答
  • 智能停车系统数据库

    2017-07-30 21:01:07
    智能停车系统数据库
  • Python 与SQL sever数据库 图形化智能停车场管理系统

    千次阅读 多人点赞 2020-06-18 10:31:54
    首先你应该确保你的SQL数据库可以在Pycham中连接成功。不会的可以去其他博客写看一看。
    1. 这个是我的一次课程设计,写了236行代码,都是最简单的函数和图形化界面。特别简单。
    2. 首先你应该确保你的SQL数据库可以在Pycham中连接成功。不会SQL连接的的可以去其他博客写看一看。
    3. 在Pycham中需要安装 Tkinter   win32com.client 第三方库。
    • 序言
    • 界面截图展示
    • 数据库展示
    • 代码
    1. 序言:下面的代码是模块化的,拼起来就是一个完整的小系统。如果你不想自己拼或者拼起来有问题,可以私聊我。
    2. 我其实也是个小菜。
    • 停车界面
      def Menu1():
          root = tkinter.Tk(className='界面')
          root.title='界面'
          label = tkinter.Label(root, text="Hello Hello欢迎进入智能停车收费停车场", bg='yellow')
          root.geometry('300x300+260+160')
          label.pack()
          def click1():
              park()
          def click2():
              find()
          def click3():
              dispcust()
          def click5():
              root.destroy()
              ased()
          def click4():
              dis()
          def click6():
              sum()
          def click7():
              exit(0)
          button1 = tkinter.Button(root, text='1)停车', bg='blue', width=20, command=click1)
          button1.pack()
          button2 = tkinter.Button(root, text='2)查询', bg='blue', width=20, command=click2)
          button2.pack()
          button3 = tkinter.Button(root, text='3)显示', bg='blue', width=20, command=click3)
          button3.pack()
          button4 = tkinter.Button(root, text='4)帮助', bg='blue', width=20, command=click4)
          button4.pack()
          button5 = tkinter.Button(root, text='5)取车', bg='blue', width=20, command=click5)
          button5.pack()
          button6 = tkinter.Button(root, text='6)统计', bg='blue', width=20, command=click6)
          button6.pack()
          button7 = tkinter.Button(root, text='7)退出', bg='blue', width=20, command=click7)
          button7.pack()
          root.mainloop()
      def park():   #操作1   添加用户
          rt1 = tkinter.Tk(className='测试')
          rt1.geometry('380x200+650+150')
          t1 =  Entry(rt1,show=None )
          t1.place(x=120, y=10)
          t2 = Label(rt1, text='车号:')
          t2.place(x=60, y=10)
          t3 =  Entry(rt1, show=None)
          t3.place(x=120, y=60)
          t4 = Label(rt1, text='车主:')
          t4.place(x=60, y=60)
          t5 = Label(rt1, text='颜色:')
          t5.place(x=60, y=100)
          t6 = Entry(rt1, show=None)
          t6.place(x=120, y=100)
          def queding():
              v1 = t1.get()
              v2 = t3.get()
              v3 = t6.get()
              if v1=='' or v2=='' or v3=='':
                  tkinter.messagebox.showinfo(title='添加失败',message="输入无效!!!")
              else:
                  cn = win32com.client.Dispatch('ADODB.Connection')
                  cnstr = 'Provider = SQLOLEDB.1;Integrated Security = SSPI;Data Source=DESKTOP-KHP9P0M'
                  cn.Open(cnstr, 'sa', 'sa')
                  cn.DefaultDatabase = 'sst'
                  cn.Execute("USE sst")
                  cn.Execute("INSERT INTO sst1 VALUES('%s','%s','%s')" % (v1, v2, v3))
                  tkinter.messagebox.showinfo(title='添加成功', message="%s用户停车成功!" % v1)
                  rt1.destroy()
          def quxiao():
              rt1.destroy()
          bt1 = Button(rt1, text='确认', width=10, height=1, command=queding)
          bt1.place(x=80,y=140)
          bt2 = Button(rt1, text='取消', width=10, height=1,command=quxiao)
          bt2.place(x=160, y=140)
          rt1.mainloop()

    • def find():            #查询函数
          rt1 = tkinter.Tk(className='查询界面')
          rt1.geometry('380x240+580+250')
          lb=Label()
          t2 = Label(rt1, text='车号:')
          t2.place(x=60, y=10)
          t1 = Entry(rt1, show=None)
          t1.place(x=100, y=10)
          def queding1():
              global manfra
              tno = t1.get()
              if tno=='':
                  tkinter.messagebox.showinfo(title='查询成功', message="请重新输入" )
              else:
                  cn = win32com.client.Dispatch('ADODB.Connection')
                  cnstr = 'Provider = SQLOLEDB.1;Integrated Security = SSPI;Data Source=DESKTOP-KHP9P0M'
                  cn.Open(cnstr, 'sa', 'sa')
                  cn.DefaultDatabase = 'sst'
                  cn.Execute("USE sst")
                  rs = win32com.client.Dispatch('ADODB.RecordSet')
                  rs.Open('sst1', cn)
                  i=1
                  if not rs.EOF:
                      while not rs.EOF:
                          if (rs.Fields(0).Value).strip() == tno:
                              s1 = rs.Fields(0).Value
                              s2 = rs.Fields(1).Value
                              s3 = rs.Fields(2).Value
                              t3 = Label(rt1, text='车号:')
                              t3.place(x=60, y=120)
                              t4 = Entry(rt1, show=None)
                              t4.insert(INSERT, s1)
                              t4.place(x=100, y=120)
                              t5 = Label(rt1, text='车主:')
                              t5.place(x=60, y=140)
                              t6 = Entry(rt1, show=None)
                              t6.insert(INSERT, s2)
                              t6.place(x=100, y=140)
                              t7 = Label(rt1, text='颜色:')
                              t7.place(x=60, y=160)
                              t8 = Entry(rt1, show=None)
                              t8.insert(INSERT, s3)
                              i=2
                              t8.place(x=100, y=160)
                              t9 = Label(rt1, text='查询结果:', font=('微软雅黑', 15, 'bold'))
                              t9.place(x=60, y=80)
                          rs.MoveNext()
                  else:
                      tkinter.messagebox.showinfo(title='查询失败', message="该车库无%s车号信息"%tno)
              if i==1:
                      tkinter.messagebox.showinfo(title='查询失败', message="该车库无%s车号信息"%tno)
          def ass():
              rt1.destroy()
          bt1 = Button(rt1, text='确认', width=10, height=1, command=queding1)
          bt1.place(x=80, y=200)
          bt2 = Button(rt1, text='取消', width=10, height=1, command=ass)
          bt2.place(x=200, y=200)
          rt1.mainloop()

    • def dispcust():  #显示客户
          cn = win32com.client.Dispatch('ADODB.Connection')
          cnstr = 'Provider = SQLOLEDB.1;Integrated Security = SSPI;Data Source=DESKTOP-KHP9P0M'
          cn.Open(cnstr, 'sa', 'sa')
          cn.DefaultDatabase = 'sst'
          cn.Execute("USE sst")
          rt8=Tk(className='显示客户')
          tr2 = Label(rt8, text='车号信息:',font=('微软雅黑', 15, 'bold'))
          tr2.place(x=10, y=10)
          rt8.geometry('300x300+600+200')
          text1=Text(rt8,width=30,height=15)
          text1.place(x=10,y=80)
          tr3 = Label(rt8, text='车号')
          tr3.place(x=10, y=50)
          tr4 = Label(rt8, text='车主')
          tr4.place(x=86, y=50)
          tr5 = Label(rt8, text='颜色')
          tr5.place(x=150, y=50)
          rs=win32com.client.Dispatch('ADODB.RecordSet')
          rs.Open('sst1',cn)
          if not rs.EOF:
              #text1.insert(INSERT,'车号    \t车主    \t颜色 ')
              while not rs.EOF:
                  text1.insert(INSERT,rs.Fields(0).Value)
                  text1.insert(INSERT,rs.Fields(1).Value)
                  text1.insert(INSERT,rs.Fields(2).Value)
                  rs.MoveNext()
          else:
              tkinter.messagebox.showinfo(title='车库', message="车库空空如也!!!!")
      
          rt8.mainloop()

    • def ased():
          rt6 = Tk()
          rt6.geometry('600x400+400+200')
          rt6.title('出车界面')
          rt6.iconbitmap('pro.ico')
          idat = PhotoImage(file='Prou.gif', width=850, height=450)
          lab1 = Label(image=idat)
          lab1.place(x=0, y=0)
          def as1():
              v6 = t3.get()
              cn = win32com.client.Dispatch('ADODB.Connection')
              cnstr = 'Provider = SQLOLEDB.1;Integrated Security = SSPI;Data Source=DESKTOP-KHP9P0M'
              cn.Open(cnstr, 'sa', 'sa')
              cn.DefaultDatabase = 'sst'
              cn.Execute("USE sst")
              cn.Execute("delete from sst1 where cno=%s" % v6)
              tkinter.messagebox.showinfo(title='出车', message="%s用户出车成功!\n 您需要支付3元的停车费" % v6)
      
          def as2():
              rt6.destroy()
              Menu1()
          def as3():
              def as4():
                  rt7.destroy()
              rt7 = Tk('5x5+200+200')
              rt7.title('支付界面')
              bt1 = Button(rt7, text='完成支付', width=10, height=1,command=as4)
              bt1.place(x=10, y=20)
              lab3 = Label(text='请扫描下方二维码完成支付')
              lab3.pack()
              idat1 = PhotoImage(file='Prou1.png', width=420, height=318)
              lab3 = Label(image=idat1)
              lab3.place(x=0, y=0)
              rt7.mainloop()
          bt1 = Button(rt6, text='确认', width=10, height=1, command=as1)
          bt1.place(x=430, y=200)
          bt2 = Button(rt6, text='取消', width=10, height=1, command=as2)
          bt2.place(x=510, y=200)
          bt3 = Button(rt6, text='扫码支付', width=20, height=1, command=as3)
          bt3.place(x=430, y=260)
          t2 = Label(rt6, text='请输入您的车号:')
          t2.place(x=430, y=120)
          t2 = Label(rt6, text='车号:')
          t2.place(x=430, y=160)
          t3 = Entry(rt6, show=None,width=15)
          t3.place(x=460, y=160)
          label = Label(rt6, text="期待您的下次光临!!!!", bg='blue', width=85, height=3)
          label.place(x=0, y=350)
          manfra = LabelFrame()
          manfra.pack()
          rt6.mainloop()

    • def sum():
          cn = win32com.client.Dispatch('ADODB.Connection')
          cnstr = 'Provider = SQLOLEDB.1;Integrated Security = SSPI;Data Source=DESKTOP-KHP9P0M'
          cn.Open(cnstr, 'sa', 'sa')
          cn.DefaultDatabase = 'sst'
          cn.Execute("USE sst")
          rs = win32com.client.Dispatch('ADODB.RecordSet')
          rs.Open('sst1', cn)
          s=0
          while not rs.EOF:
              s=s+1
              rs.MoveNext()
          rs.Close()
          tkinter.messagebox.showinfo(title='统计信息', message="停车车场共有%d辆车!" %s)

    • def dis():     #帮助信息
          tkinter.messagebox.showinfo(title='帮助',message='这么简单的界面要什么帮助!\n是不是不想掏钱!\n 想跑!!!\n门都没有')

      数据库展示,这里只用了数据库的一张表,比较简单。如果想要多表操作,你可以修改上面的SQL语句,然后在调用模块函数。

    展开全文
  • 使用百度AI实现车牌识别,对车牌识别反馈至QT客户端并与Linux写的数据库进行远程访问。实现对车辆停车收费等功能,项目数据库有小BUG。
  • CIS499 泊车智能数据库,车牌扫描仪和网站,用于对停在停车场的汽车进行计数和跟踪
  • javaweb智能停车场管理项目源码,包含数据库部分资源,可以很好地了解web项目的开发
  • 智能停车场收费系统设计源码

    热门讨论 2013-04-21 20:45:06
    用java语言实现的智能停车场收费系统,该设计获得优秀毕业论文,论文可以参考我的资源“智能停车场收费系统设计”,该系统是一个图形化的界面系统,数据存储用的是SQLserver2005数据库,可以直接在界面上操作,界面...
  • 智能停车场管理系统C#版.数据结构课程设计,数据库课程设计
  • 智能停车场管理

    2013-04-10 08:29:17
    基于vc6.0的开发环境和采用了sqlserver数据库。文件包括有开发文档和设计文档和源码。实现了车位的智能引导、卡收费管理、轧机控制和视频通信等功能。
  • 详细介绍料智能停车场软件系统的安装过程和数据库安装过程
  • 1概述在现代化停车场管理中,涉及到各方面的管理,其中车辆的管理是一个重要的方面。...为了改善这种与现代化停车场、大院不相称的管理模式,需要尽快实现停车场保安工作的自动化、智能化,并以计算机网
  • 智能停车场一期核心代码

    千次阅读 2017-10-09 09:07:12
    主要功能:采集把停车场地磁采集过来,后端进行判断是否有车,并把停车信息存入数据库。并把消息实时推送给前端 数据库主要字段: 地磁管理:idsparkspace所属停车场,connectedparkingspace关联停车位,state状态 ...

    停车场一期:
    主要功能:采集把停车场地磁采集过来,后端进行判断是否有车,并把停车信息存入数据库。并把消息实时推送给前端
    数据库主要字段:
    地磁管理:idsparkspace所属停车场,connectedparkingspace关联停车位,state状态
    停车信息:paymentstate缴费情况,parkinglotbelong所属停车场,parkingtime停车用时,parkingfee停车费用,platenumber车牌号
    主要流程:

    ParkAction:getParkMsg()  
        前端获取mac,status,再根据mac获取地磁信息.保存停车信息,存入redis
    ParkUtils.saveParkmsg2redis(parkingspace所属停车场, mac, status, patrol,connectedparkingspace关联停车位)
        根据状态对比存入车辆离开或车辆进入信息,再推送消息给前端
    redis存入值:redisval = status + "," + 扫描时间 + "," + 车辆进出时间 + "," +停车信息id+ "," + "pk";
    
    public static void saveParkmsg2redis(String parkingspace, String mac, String status, String patrol,
                String connectedparkingspace) {
            ParkDao parkdao = new ParkDaoImpl();
            String parkplace = parkdao.getsparkplace(mac);
            Jedis jedis = RedisConnection.getJedis();
            jedis.select(2);
            Long starttime = System.currentTimeMillis();
            String key = "parkingmsessage:" + mac;
            String oldredisval = jedis.get("parkingmsessage:" + mac);
            String redisval = "";
            if (null != oldredisval && !"".equals(oldredisval)) {
                String[] split = oldredisval.split(",");
                String oldstatus = split[0];
                String scantime = StringUtil.isnull(split[1]);
    
                if ("1".equals(oldstatus) && "0".equals(status)) {
                    // 说明是车辆离开,信息存入sqlserver数据库
                    ParkMsg parkmsg = new ParkMsg();
                    parkmsg.setParkinglotbelong(parkplace);
                    String stringDate = getStringDate(starttime);
                    Long cartime = Long.parseLong(StringUtil.isnull(split[2]));
                    String msgid = StringUtil.isnull(split[3]);
                    ParkMsg oldparkmsg = parkdao.getParkMessageById(msgid);
                    // 计算停车用时
                    Long parktime = (starttime - cartime) / (1000 * 60);
                    // 计算停车费用
                    Double settlementParkPay = SettlementParkPay(parktime);
                    oldparkmsg.setParkingtime(parktime);
                    oldparkmsg.setParkingfee(settlementParkPay);
                    oldparkmsg.setEndtime(stringDate);
                    oldparkmsg.setParkingspace(connectedparkingspace);
                    oldparkmsg.setParkinglotbelong(parkplace);
                    oldparkmsg.setIdowner(patrol);
                    oldparkmsg.setId(msgid);
                    // 缴费状态枚举值
                    // TODO Auto-generated catch block
                    String paystatus = "0";// 先设置为未缴费
                    String paymentstate = getStateEnum(paystatus, "paymentstate", "parkingmessage");
                    // 所属停车场枚举值
                    String parspacestate = getStateEnum(status, "sparkspacestate", "parkspacemanage");
                    oldparkmsg.setPaymentstate(paymentstate);
                    // 存储新的停车信息
                    parkdao.UpdateParkmsg(oldparkmsg);
                    // 更新车位
                    Boolean reflashPKS = parkdao.updataParkingspace(connectedparkingspace, parspacestate);
                    redisval = status + "," + scantime + "," + "," + "," + "pk";
                    // 推送消息
    
                } else if ("0".equals(oldstatus) && "1".equals(status)) {
                    // 说明是车辆停入车位,信息存入sqlserver数据库
                    ParkMsg parkmsg = new ParkMsg();
                    parkmsg.setParkinglotbelong(parkplace);
                    // Date changeTime2Date = changeTime2Date(starttime);
                    String stringDate = getStringDate(starttime);
                    System.out.println(stringDate);
                    SystemDao sd = new SystemDaoImpl();
                    String newId = sd.getNewId();
                    parkmsg.setId(newId);
                    parkmsg.setIdowner(patrol);
                    parkmsg.setStarttime(stringDate);
                    parkmsg.setParkingspace(connectedparkingspace);
                    // 缴费状态枚举值
                    String paystatus = "0";// 先设置为未缴费
                    String paymentstate = getStateEnum(paystatus, "paymentstate", "parkingmessage");
                    // 所属停车场枚举值
                    String parspacestate = getStateEnum(status, "sparkspacestate", "parkspacemanage");
                    parkmsg.setPaymentstate(paymentstate);
                    parkdao.InsertParkmsg(parkmsg);
                    Boolean reflashPKS = parkdao.updataParkingspace(connectedparkingspace, parspacestate);
                    redisval = status + "," + scantime + "," + starttime.toString() + "," + newId + "," + "pk";
                    // 推送消息
                    Operation2umDao umDao = new Operation2umDaoImpl();
                    Operation2um o2 = umDao.getOperation2umById("b5856391a3164ff2a8e3d56ce9bc5811", "geomagneticmonitor");
                    String iddata = "";
                    String ummsg = ""+"有车子停入了";
                    pushMessage("geomagneticmanage", iddata, "1B7AED0CEB5F4C669E5ED5F88C069B21", o2);
                } else {
                    String cartime = StringUtil.isnull(split[2]);
                    String messageid = StringUtil.isnull(split[3]);
                    redisval = status + "," + scantime + "," + cartime.toString() + "," + messageid + "," + "pk";
                }
            } else {
                redisval = status + "," + starttime.toString() + "," + starttime.toString() + "," + "," + "pk";
            }
            // 更新redis的 mac状态
            jedis.set(key, redisval);
        }
    展开全文
  • 本系统选用Windows作为服务器端的操作系统,开发语言选用java,数据库选用mysql,使用JDBC数据库连接技术,使用myeclipse作为系统应用程序的开发工具,Web服务器选用Tomcat7.0版本。 1.用户管理模块: 该模块包括...

    随着城市建设与经济的不断发展,城市车辆的数量也不断增涨,为解决停车问题修建停车场。基于经营、安全、管理等多角度的考虑,希望在目前传统的大型车库管理系统中有机地结合车牌识别技术,以求得日后在停车库运营时更安全、管理上更细致、经营中更灵活高效。本系统选用Windows作为服务器端的操作系统,开发语言选用java,数据库选用mysql,使用JDBC数据库连接技术,使用myeclipse作为系统应用程序的开发工具,Web服务器选用Tomcat7.0版本。

    1.用户管理模块:
    该模块包括车主管理和系统用户管理,系统用户主要是普通管理员,对用户信息进行管理,只有车主才可在该系统上进行相应的操作。用户对个人信息可进行修改;管理员可对自己的个人信息进行维护,同时可对用户的密码信息进行修改,也可删除系统中的用户。
    2.车辆驶入管理模块
    管理员选中某个车辆,点击添加驶入,填写驶入数据,点击添加按钮,完成车辆驶入操作,每次驶入,列表将生成新的驶入信息,供管理员管理。
    3.车辆驶出管理模块
    管理员选中某个已驶入的车辆,点击添加驶出,填写驶出数据,点击添加按钮,完成车辆驶出操作,每次驶出,列表将生成新的驶出信息,供管理员管理。
    4.车位信息管理模块
    车位信息管理模块主要实现了管理员可以在系统中添加车位信息,也可以修改系统中已有的车位信息,同时可查看车位信息和搜索车位信息;而用户只能查看车位信息和搜索车位信息。
    5.预约车位模块
    用户查询车位信息,选择车位进入该车位的详细页面,点击预约按钮,填写预约表单,添加预约记录。
    6.预约管理模块
    用户预约车位模块主要实现的是对车位的预约功能,同时可查看自己的预约记录,并对预约可进行取消预约操作。管理员登录系统后,可查看用户的预约信息,也可搜索预约信息,同时可对预约信息进行确认或删除的操作。
    7.系统管理模块
    系统管理模块供管理员使用,只要是一些系统信息的管理

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • PRO-1:简易智能停车系统

    千次阅读 2016-05-27 17:25:18
    项目名称:智能停车系统 平台:arm soc:s5pc100 os: linux 知识点:c, linux, 进程,线程,网络,数据库, arm, 驱动 可扩展摄像头,主机传送数据保存数据库,现在实现了停车,选择收费类型,计时,出车库计算...
    项目名称:智能停车系统
    平台:arm
    soc:s5pc100
    os: linux

    知识点:c, linux, 进程,线程,网络,数据库, arm, 驱动

    可扩展摄像头,主机传送数据保存数据库,现在实现了停车,选择收费类型,计时,出车库计算费用,并且打印在LCD屏幕。



    主函数:

    #include <my.h>
    #include"key.h"
    #include"led.h"
    #include"pwm.h"
    #include"IC_serial.h"
    #include <string.h>
    #include <stdio.h>
    #include "lcd.h"
    #include "lcd_show_jpeg.h"
    
    
    int main(void)
    {
    	USR *user = NULL;
    	char buf[20] = "\0";
    	char buf2[20] = "\0";
    	
    
    	user = user_init();
    	led_init();
    	key_init();
    	pwm_open();
    	pwm_outset();
    	led_outset();
    	LCD_Init();
    	LCD_Clear(Red);
    	//LCD_PutString(115,15,"welcome to the park manager",Black,Red);
    		//usleep(100000);
    	LCD_PutString(115,15,"welcome to ",Black,Red);
    		usleep(100000);
    	LCD_PutString(115,15,"welcome to the ",Black,Red);
    		usleep(100000);
    	LCD_PutString(115,15,"welcome to the park",Black,Red);
    		usleep(100000);
    	LCD_PutString(115,15,"welcome to the park",Black,Red);
    
    	for(;;)
    	{
    		input_userinfo(user);
    		start_time(user);
    		//printf("PRESS ENTER KEY CONTINUE...\n");
    		//getchar();
    		
    		read_from_serial(buf2);
    		
    		printf("firdt card = %s\n",user->card);
    		printf("second card = %s\n",buf2);
    		
    		printf("------------------------------------------------------%s\n","");
    		printf("compare:%d\n",strcmp(buf2,user->card));
    FLAG:
    		if(strcmp(buf2,user->card)==0)
    		{
    					
    			end_time(user);
    					//****************************************
    						LCD_PutString(65,95,"***************end parking**************",Black,Red);
    					//****************************************
    			print_userinfo(user);
    		}
         		else
    		{
    			printf("          ~~~~~please input your own card !!!!~~~~~~ %s\n","");
    					//****************************************
    						LCD_PutString(65,95,"*****~~~~~please input your own card !!!!~~~~~~****",Black,Red);
    					//****************************************
    			buf2 == "";
    			read_from_serial(buf2);
    			goto FLAG;
    		}
    		//printf("!!!!!!buf2[1]= %s\n",buf2);
    		//end_time(user);
    		//print_userinfo(user);
    	}
    	user_exit(user);
    	led_exit();
    	key_exit();
    	pwm_close();
    
    	return 0;
    }
    


    最重要的一个fun.c功能函数:

    #include <my.h>
    #include"key.h"
    #include <lcd.h>
    
    USR *user_init(void)
    {
    	USR *temp = NULL;
    
    	if((temp = (USR *)malloc(sizeof(USR))) == NULL)
    	{
    		perror("MALLOC ERROR");
    		exit(EXIT_FAILURE);
    	}
    	return temp;
    }
    
    
    void user_exit(USR *temp)
    {
    	free(temp);
    	return;
    }
    
    void input_userinfo(USR *temp)
    {
    	int num;
    //-------------------------------
    	//char buf[20] = "\0";
    	open_port();
    	uart_init();
    	
    //-------------------------------
    	printf("=====================WELCOME==================\n");
    	printf("Please input name:>");
    				//****************************************
    				LCD_PutString(20,35,"Please input name:>",Black,Red);
    				//****************************************
    	scanf("%s", temp->name);
    								
    				//****************************************
    				LCD_PutString(180,35,temp->name,Black,Red);
    				//****************************************
    
    								
    				//****************************************
    				LCD_PutString(20,55,"Please input card:>",Black,Red);
    				//****************************************
    	printf("Please input card:>\n");
    							
    
    	//printf("Please input card:>");
    //-------------------------------
    		read_from_serial(temp->card);
    		printf("temp->card = %s\n",temp->card);
    
    
    //------------------------------------
    	//scanf("%s", temp->card);
    
    				//****************************************
    					LCD_PutString(180,55,temp->card,Black,Red);
    				//****************************************
    				//****************************************
    				LCD_PutString(20,75,"please select type:>",Black,Red);
    				//****************************************
    FLAG:
    	printf("-------------------------please select type----------------------:\n");
    	printf("TYPE LIST:\n");
    	printf("1----20/h\n");
    	printf("2----15/h\n");
    	printf("3----10/h\n");
    	printf("4----5/h\n");
    	printf("please choose:>");
    	num=key_read();	
    	
    				//****************************************
    					//LCD_PutString(180,75,"****",Black,Red);
    				//****************************************
    	pwm_outset();
    	switch(num)
    	{
    		case 1: temp->type=1;
    				temp->money=20.00f;
    					//****************************************
    					  LCD_PutString(180,75,"1----20/h----start to count money!",Black,Red);
    					//****************************************
    				break;
    		case 2: temp->type=2;
    				temp->money=15.00f;
    									
    					//****************************************
    					  LCD_PutString(180,75,"2----15/h----start to count money!",Black,Red);
    					//****************************************
    				break;
    		case 3: temp->type=3;
    				temp->money=10.00f;
    										
    					//****************************************
    					  LCD_PutString(180,75,"3----10/h----start to count money!",Black,Red);
    					//****************************************
    				break;
    		case 4: temp->type=4;
    				temp->money=5.00f;
    									
    					//****************************************
    					  LCD_PutString(180,75,"3----10/h----start to count money!",Black,Red);
    					//****************************************
    				break;
    		default:
    				printf("ERROR, INPUT AGAIN!");
    				goto FLAG;
    	}
    /*	scanf("%d", &temp->type);
    
    	switch(temp->type)
    	{
    		case 1: temp->money = 20.00f; break;
    		case 2: temp->money = 15.00f; break;
    		case 3: temp->money = 10.00f; break;
    		case 4: temp->money = 5.00f; break;
    		default:
    				printf("ERROR, INPUT AGAIN!");
    				goto FLAG;
    	}
    	*/
    		
    
    	getchar();
    	return;
    }
    
    void start_time(USR *temp)
    {
    	time_t mytm;
    	struct tm *val = NULL;
    
    	mytm = time(NULL);
    	val = localtime(&mytm);
    
    	memcpy(&temp->start_time, val, sizeof(struct tm));
    	printf("start time: %d-%d-%d %d:%d:%d\n", val->tm_year+1900, val->tm_mon+1\
    			,val->tm_mday, val->tm_hour, val->tm_min, val->tm_sec);
    	printf("------------------------start count money------------------------------%s\n","");
    	return;
    }
    
    
    void end_time(USR *temp)
    {
    	time_t mytm;
    	struct tm *val = NULL;
    
    	mytm = time(NULL);
    	val = localtime(&mytm);
    
    	memcpy(&temp->end_time, val, sizeof(struct tm));
    	printf("end time: %d-%d-%d %d:%d:%d\n", val->tm_year+1900, val->tm_mon+1\
    			,val->tm_mday, val->tm_hour, val->tm_min, val->tm_sec);
    	return;
    }
    
    void print_userinfo(USR *temp)
    {
    	int val;
    
    	val = temp->end_time.tm_sec - temp->start_time.tm_sec;
    	if(val < 0)
    		val += 60;
    
    	printf("NAME:%s\n", temp->name);
    	printf("CARD:%s\n", temp->card);
    	printf("TYPE:%d\n", temp->type);
    	printf("MONEY:%.2f\n", temp->money * val);
    	printf("==BYEBYE===\n");
    
    
    
    				//****************************************
    				LCD_PutString(60,115,"user name: ",Black,Red);
    				LCD_PutString(60,135,"user card: ",Black,Red);
    				LCD_PutString(300,115,temp->name,Black,Red);
    				LCD_PutString(300,135,temp->card,Black,Red);
    				
    				LCD_PutString(60,155,"selected type:",Black,Red);
    				LCD_PutString(60,175,"parking time:",Black,Red);
    				LCD_PutString(60,195,"cost of park: ",Black,Red);
    				char a = '0';
    				a=a+temp->type;
    				LCD_PutChar(300,155,a,Black,Red);
    
    
    				char jin1[20],jin2[20];
    				sprintf(jin1,"%d",val);
    				sprintf(jin2,"%f",temp->money * val);
    				LCD_PutString(300,175,jin1,Black,Red);//time
    				LCD_PutString(300,195,jin2,Black,Red);//money
    
    				LCD_PutString(60,230,"------>good bye , welcome to come again!<-----",Black,Red);
    				
    				//LCD_PutString(20,135,temp->card,Black,Red);
    				//****************************************
    	return;
    }
    

    源码链接:http://download.csdn.net/detail/lucasxu01/9533329

    展开全文
  • 基于NB-IoT的智能停车系统——简单搭建1 产品功能2 基本原理2.1 磁阻传感器AMR2.2 NB-IoT和STM32单片机模块2.3 Java应用程序与MySQL数据库3 功能实现3.1 前端采集3.2 信息处理3.3 数据管理4 总结与展望 1 产品功能 ...
  • 数据库原理课程设计---停车场管理系统 停车场收费管理系统是现代化停车场车辆收费及设备自动化管理的一个统称,是将停车场完全置于计算机统一管理下的高科技机电一体化产品。人们对停车场管理的要求越来越高,智能化...
  • 为了实现其所管理的停车位、充电桩、电动汽车等设备能在手机端被预约使用,同时管理员能在线管理设备状态的目的,本文采用轻量级的SSM+Maven框架开发系统服务端,使用Oracle数据库管理系统,使用easyUI框架搭建前端...
  • 8、腾讯云AI车牌识别 项目功能: 1、掌握编写云平台项目的数据库设计方法 2、综合各种停车场项目需求,灵活的收费,记时规则 3、主要功能有合作伙伴管理,停车场管理,车辆管理,财务管理,车牌识别,财务明细及...
  • 时代在进步,充满新科技的东西一样一样诞生,如今多数景点,商场,超市都采用了智慧停车系统,但是我们在使用时难免会遇到问题,那么智能停车场管理系统怎么设置免费车辆信息?我们一起来了解一下。首先车子开进停车...
  •  复制一下前面说到的功能:把全市的停车场信息存进数据库,用户传过来位置,车型,停车时间;从数据库中算出最适合的停车场,然后把停车场的详细信息给推送过去。  所以我这里要做的工作是把他们汇总好的停车场的...
  • 基于web应用的智能停车系统

    千次阅读 2019-05-13 17:50:15
    基于 web 应用的智能停车系统是在计算机网络,数据库和先进的开发平台上,利用现有的软件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的基于 web 应用的智能停车系统,实现停车车位...
  • 基于 web 应用的智能停车系统是在计算机网络,数据库和先进的开发平台上,利用现有的软件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的基于 web 应用的智能停车系统,实现停车车位...
  • 来源:顺德9016月18日,大良街道第二期路边停车收费启动,首批收费路段包括环市东路、东康路、鉴海北路、鉴海南路、近良路、南屏路,共781个停车位。...早上的9点半钟,在安装了智能停车收费系统的东康路,不少...
  • 半个月前决定接下实验室这个项目,功能说来也简单:把全市的停车场信息存进数据库,用户传过来位置,车型,停车时间;从数据库中算出最适合的停车场,然后把停车场的详细信息给推送过去。  系统结构清晰的不得了,...
  • 智能停车场管理系统,数据库用SQL,有视频验证、IC卡一卡通、报表打印输出等功能。
  • 地铁、火车站、海关、商场、旅游景点,智能小区、大型集团公司,大型停车场, 等等需要刷卡通行智能验证平台,本系统使用了软终端从理论的角度模拟出单片机终 端设备的通讯过程。 开发工具:Visual Studio 2008.NET...
  • 人工智能-车牌识别停车场管理系统

    千次阅读 2019-04-11 15:54:31
    掌握基于腾讯人工智能...停车费收费管理,按照临时车或包月车自动计算停车费,系统参数设置,修改用户密码及安全退出等功能,该系统采用Jsp技术,使用SSM框架,Mysql数据库,ajax技术及人工智能等相关技术实现。 ...
  • 数据库设计 进入停车场 条形码支持 收费 智能报价 LED电子显示屏 重点功能: 串口通讯 使用视频设备 在VC中隐式调用DLL 系统配置信息 同步客户机和服务器上的时间 智能报价 条码打印 自定义动画播放
  • 智能停车场管理系统数据库连接失败该怎么处理,供您参考: 人脸识别系统其实是台特殊的摄像机,判断速度相当快,只需要秒左右,由于利用的是人体骨骼的识别技术,所以即使易容改装,也难以蒙过它的眼睛。1、针对在...
  • 帮助超市对地下停车场收费信息进行快速、准确的录入、修改、查询等工作,并可将信息导入和导出,从而可将有关人员从以往烦琐的工作解脱出来,充分体验到信息时代的企业信息化工作给企业的日常工作所带来的便利和快捷...

空空如也

空空如也

1 2 3
收藏数 50
精华内容 20
关键字:

智能停车数据库