未来智库 > 物联网论文 > 基于物联网的应答式洗衣机系统

基于物联网的应答式洗衣机系统

发布时间:2018-07-12 01:11:00 文章来源:未来智库    
    关键词: 物联网; 应答式系统; 传感器; 洗衣机; 微博
    中图分类号:TP311 文献标志码:A 文章编号:1006-8228(2015)02-10-05
    Responsive washer system based on IOT
    Zhou Chaoqi, Zhu Zhengyang, Geng Mingcui
    (Information College, Zhejiang University of Finance and Economics, Hangzhou, Zhejiang 310018, China)
    Abstract: The "responsive washer system" is realized based on the integration of IOT and Internet. The system is constructed with the sensors, wireless transmission, SCM, network protocols, database and ASP.NET. It is developed through Visual Studio, Keil and other development tools. It displays itself to the users in the form of site. Users can not only use the functions of checking washers' working condition, booking and paying, but also inquire the rest of washing time and get the result immediately, to achieve intelligent management and utilization of washing machine.
    Key words: IOT; responsive system; sensor; washer; weibo
    0 引言
    随着时代的发展、社会生活节奏的加快,24小时不间断营业、无人值守的自助经营模式因其自主、自助、便利的特性,正被越来越多的人所接受。
    洗衣服是一项耗时、耗力、耗神的工作,在欧美发达国家,由于时间珍贵以及追求个性化的生活,人们早已不愿为日常洗衣浪费时间,随之而来的是大量洗衣房的出现。目前欧美、日韩生活区,尤其是学生单身公寓,自助投币洗衣机随处可见,在我国的大学宿舍,有的也已安装了这种机器。但是,在大学宿舍由于自助式洗衣机数量有限,排队等待洗衣成了让学生头疼的问题。因此,我们开发了“基于物联网的应答式洗衣机系统”,其目的是减少学生排队等待而浪费的时间。学生可以通过网站查看宿舍楼下洗衣机的工作状态、洗衣机工作剩余时间、排队人数,可以在网上预约洗衣机。洗衣机通过微博、微信“发布”信息――“空闲”或“正在使用,剩余XX分钟”,“XXX同学,洗衣结束”等提示信息。
    1 关键技术介绍
    1.1 物联网介绍
    物联网可定义为:通过射频识别、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把物品与网络连接起来进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种网络[1]。
    物联网虽然是基于互联网的应用,却比互联网更加庞大,任何物体只要嵌入感应芯片,即是一个客户端,物体数量可以达到成百上千亿,而且物物之间也可“说话”,不论何时何地都可以即时获取它们的信息。
    物联网在生活和工作中的应用,一方面提高了经济效益,大大降低了成本,另一方面可以为中国经济的提升提供技术动力。
    1.2 OAuth协议
    本系统一大亮点是将网站上的洗衣机状态信息公布到时下流行的社会化媒体平台――微博上,既方便用户对信息即时获取,又有效地宣传了该网站。同时,如果用户在微博上@WasherOnline,系统会自动分析该用户,并回复与该用户相关的洗衣机信息,如该用户预约的洗衣机排队人数、剩余时间等。本系统对微博的一系列操作都需要先完成OAuth这一授权协议才可进行。
    OAuth协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAuth的授权不会使第三方触及到用户的帐号信息,如用户名与密码,即第三方无需用户名与密码就可以申请获得该用户资源的授权。
    Client指第三方应用,Resource Owner指用户,Authorization Server是授权服务器,Resource Server是API服务器。
    A. 第三方应用向用户发送认证请求,请求资源拥有者给予授权许可。
    B. 资源拥有者根据实际情况选择对第三方应用授权内容或者授权与否。
    C. 第三方应用发送资源所有者的授权信息给授权服务器。
    D. 授权服务器经过校验后确认有效给予访问令牌。
    E. 第三方应用利用获得的访问令牌访问资源服务器获取资料。
    F. 资源服务器以JSON或者XML的形式把资料传送给第三方应用。
         OAuth2.0授权流程如图1所示。
    2 系统总体方案设计
    2.1 系统总体方案
    根据应答式洗衣机系统的功能与技术要求,我们决定采用硬件+软件的系统结构来设计,使用了传感器、无线传输模块、单片机等硬件技术和数据库、ASP.NET、网络协议等软件技术,通过Visual Studio、Keil等开发工具开发实现。系统总体方案为:洗衣机的工作信号由信号采集模块采集,由无线传输模块传输,由单片机信号转换模块加工后传给服务器。这样用户既可以在网站上查看洗衣机的工作状态,又可以在微博上提问来查看洗衣机的工作状态。
    2.2 系统模块
    根据设计方案,我们将整个系统划分为六个主要模块:信号采集模块、无线传输模块、单片机信号转换模块、网站发布信息模块、微博发布信息模块。洗衣机的工作信号由信号采集模块采集后,通过无线传输模块传给单片机进行加工转换,之后传给服务器进行存储。基于采集到的数据,我们设计并实现了一个网站,用户可以通过这个网站来查看洗衣机的工作状态,也可以使用其他功能,例如预约、付款等。用户还可以通过微博提问来获得预定的洗衣机工作的状态。具体过程如图2所示。
    2.3 模块功能详细描述
    ⑴ 信号采集模块
    该模块主要由一个带TCRT5000的光传感电路来完成。当洗衣机工作时,TCRT5000(见图3)接收到光信号,电路输出一个较高的电压;当洗衣机空闲时,TCRT5000接收不到光信号,电路输出一个较高的电压。
    ⑵ 无线传输模块
    考虑到空间的距离,无线传输模块主要作用是:利用nRF905(见图4)实现将信号采集模块采集到的信号传输给下一模块。
    ⑶ 单片机信号转换模块
    此模块是将传输过来的信号作A/D转换,即将模拟信号转换为数字信号,再通过串口传给下一模块。单片机如图5所示。
    ⑷ 网站发布信息模块
    将单片机传送过来的信号存储到数据库中,需要用到信号采集串口传输存储API函数。调用Microsoft Visual Studio中SerialPort类,在程序中设置一个中断timer,每隔5秒进行一次串口的读取。当在串口端读取到一个“1”或“0”时,就把数据在数据库中存储起来,同时保存当前的时间。然后可以通过网站和微博把数据库中洗衣机的工作状态信息发布出去。
    在分析了其功能和业务需求后,根据数据库设计的原理[2],设计数据库表目录如表1。
    该模块是将洗衣机的状态发布到微博、微信平台,把信息公开化,还能实时回复用户的提问,实现洗衣机的“应答”。
    3 硬件设计
    3.1 信号采集
    采用TCRT5000一体化反射型光电探测器作为信号采集模块,其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度的硅平面光电三极管。光传感电路工作原理:右端为红外线发射端,VCC端接入3.3V稳压电源发射红外线,左端为红外接收端,输出端接单片机端口检测10k电阻的电压,当检测到红外线时接收端三极管的压降减小,10K电阻的分压增大。
    3.2 无线传输
    nRF905应用于信号采集与单片机之间的数据传输。nRF905采用Nordic公司的VLSI ShockBurst技术,该技术使nRF905能够提供高速的数据传输,而不需要昂贵的高速MCU来进行数据处理/时钟覆盖。通过将与RF协议有关的高速信号处理放到芯片内,nRF905提供给应用的微控制器一个SPI接口,速率由微控制器自己设定的接口速度决定。nRF905通过ShockBurst工作模式在RF以最大速率进行连接时降低数字应用部分的速度来降低在应用中的平均电流消耗。在ShockBurst RX模式中,地址匹配AM和数据准备就绪DR信号通知MCU一个有效的地址和数据包已经各自接收完成。在ShockBurst TX模式中,nRF905自动产生前导码和CRC校验码,数据准备就绪DR信号通知MCU数据传输已经完成。总之,这意味着降低MCU的存储器需求,也就是降低MCU成本,同时又缩短软件开发时间。
    3.3 单片机信号转换模块
    我们可以把洗衣机的工作状态视为模拟值,即工作状态为“1”,空闲状态为“0”。红外传感器时时检测着洗衣机的工作指示灯,当在状态“1”时,接收电路中分压电阻上的电压差会增大,通过反复测试后在2V以上,当在状态“0”时,电压差在2V以下。当调用ARM单片机上的ADC功能时,系统把接收到的电压数字信号转换成模拟信号,再次转换成信号“1”与“0”。此时洗衣机的工作状态就是一个方波图形,如图6在单片机的中断函数中,再次调用ADC功能,读出波形图的上跳沿和下跳沿,每检测到一个上跳沿,单片机就通过串口发送一个信号“1”,每检测到一个下跳沿就发送一个信号“0”。此时单片机就成功完成了对洗衣机状态的检测,当洗衣机刚进入工作状态那一刻,单片机就通过串口发送一个“1”给服务器,刚进入空闲状态就发送一个“0”给服务器,见图6。
    4 软件设计
    4.1 系统软件框图
    系统软件框图见图7。
    图7 系统软件框图
    4.2 应用程序开发
    网站使用ASP.NET进行开发,搭配SQL Server数据库[3-4],功能实现过程如下。
    ⑴ 网站前台主体结构设置[5-6]
    网站前台主体结构见图8。
    ⑵ 网站后台管理功能结构设置
    后台的管理是整个平台非常重要的一个环节。后台功能强大,设计得好坏将直接影响到整个平台的管理效率。团队人员对项目平台进行了详细的策划设计,具体结构功能的设置如图9所示。
    ⑶ 洗衣机状态显示功能
         洗衣机状态显示见图10。
    ⑷ 预约功能
    用户一旦在洗衣网站注册并加为好友后,预付相应的费用后即可获得预约功能权限。当用户选择预定功能后,网站会将用户预定信息入库,并通过相应的算法,对预定用户进行通知排序,一旦洗衣机空闲时,网站便会发送信息或微博给排序最前的用户,通知他们可以去使用洗衣机,并给予15分钟为此用户进行等待,若在15分钟内该用户使用了洗衣机,则确认后扣除相应的费用;若该用户没有按时使用,则发送微博信息给该用户通知预约时间已过,并返还其预付的费用,开始通知下一个用户使用该洗衣机,依此类推。
    在预约成功并使用洗衣机时,需进行身份确认,在洗衣机的旁边放置一个刷卡机,只有当用户身份和预约时的身份一致时,才进行扣费,并交付使用。
    预约功能如图11所示。
    ⑸ 付款功能
    付款功能分刷卡付款和网上付款两种,刷卡付款是指,每个用户都有相应的身份ID卡,最常见的是高校中的学生一卡通,在洗衣机房内进行刷卡付费,即可获得该洗衣机的使用权,并通过该卡的ID从而可以将该使用人的信息进行入库,并记录洗衣机的工作状态,发送微博通知好友用户该洗衣机已被使用中;网上付款指用户可以查询各个洗衣机的工作状态,在某台洗衣机上实现预定,并预付其洗衣费用。用户在实地使用洗衣时,系统会完成扣款,若用户超时未使用洗衣机,则返还其预付费用。
    ⑹ 微博发布信息
    现在我们大都每天会关注微博,似乎微博已经成为了我们生活中不可缺少的一部分,同时我们也看到很多利用微博营销成功的例子。
    该系统有一个功能是专为发微博而设计的。通过这个功能,系统自动发送微博记录,从而实时显示洗衣机的工作状态,网上用户可以加此微博为好友,实时接收洗衣网站发送的内容,内容如下:
    用户预约洗衣机后,系统会自动发微博显示该台洗衣机当前的状态“预约成功,XX地方的XX洗衣机当前剩余XX时间,您前面还有X人”;如果轮到该用户使用洗衣机,系统会自动发微博提醒用户去洗衣服“XX地方的XX洗衣机处于空闲状态,可以去洗衣物。”。
    用户(已注册)在微博上发“@WasherOnline”,系统会自动检索该用户的信息,并把相关的信息发送给用户。如该用户正在使用洗衣机,微博会发送“您当前洗衣还剩余XX时间”;如果该用户已预约,微博会发送“您预约的XX地方的XX洗衣机当前剩余XX时间,您前面还有X人”。
    为了实现这一功能,我们引用新浪提供的C#.net版本的SDK,引导用户完成基于OAuth2.0的授权认证[7]。这样既保护了用户的隐私,又可以通过调用微博开发平台的API实现系统自动控制微博的功能。
    调用的API有:
    ① OAuth2授权接口
    oauth2/authorize 请求用户授权Token
    oauth2/access_token 获取授权过的Access Token
    oauth2/get_token_info 查询用户access_token的授权相关信息
    ② 微博接口
    statuses/querymid 通过id获取mid
    statuses/queryid 通过mid获取id
    statuses/update 发布一条微博信息
    statuses/mentions/ids 获取@当前用户的最新微博的ID
    statuses/show_batch 根据微博ID批量获取微博信息
    ③ 评论接口
    comments/create 评论一条微博
    ④ 用户接口
    users/show 获取用户信息
    ⑤ 关系接口
    friendships/create 关注某用户
    ⑥ 账号接口
    account/get_uid OAuth授权之后获取用户UID
    当用户在微博上@WasherOnline,系统会根据当前洗衣机的使用状况将结果自动回复给用户,如图12所示。
    5 结束语
    应答式洗衣机系统利用光传感器和单片机采集传输洗衣机的工作状态信号,并将信号通过服务器发布到网站。系统实时监控,及时、有效地获取信息,并将信息以人性化的方式发布在微博上,用户可以快速、方便地得到信息。将微博的二维码贴在洗衣机的显要位置,顾客可以方便地加其为好友,查看洗衣机的工作状态、洗衣店的位置信息等,既方便顾客,又起到了很好的宣传作用。此外,用户也可以在微博上与系统交互,系统将自动回复与该用户相关的洗衣机信息。应答式洗衣机系统是利用物联网技术和互联网技术,对现有的投币洗衣机进行了改进,使之更符合大众的生活节奏与习惯,为现代家庭的健康生活提供保障,减少了社会资源浪费,符合当代社会绿色环保的理念[8]。
    参考文献:
    [1] 严萍,张兴敢,柏业超,杜仲林.基于物联网技术的智能家居系统[J].南
    京大学学报,2012.1:26-32
    [2] 王珊,陈红.数据库系统原理教程[M].清华大学出版社,1998.
    [3] 张跃廷,王小科,帖凌珍.ASP.NET程序开发范例宝典[M].人民邮电
    出版社,2007.
    [4] 于倩,罗静.ASP.NET中ADO.NET对数据库的管理[J].微计算机应
    用,2004.25(3):372-376
    [5] 赵宏中,应杭.基于ASP.NET技术的多层软件体系架构的实现[J].软
    件开发实务,2005.14:11-17
    [6] Richard Anderson, Brlan FrMcis.ASP.NET高级编程[M].清华大学
    出版社,2002.
    [7] John Papa.Data Access Strategies Using ADO.NET and SQL[J].
    MSDN Magazine,2005.20(5):101-103
    [8] 吴方,袁浩杰,钟海华,陈金安.基于物联网的智能冰箱设计与实现[J].
    现代计算机,2011.9(1):55-61
转载请注明来源。原文地址:https://www.7428.cn/vipzj21698/
 与本篇相关的热门内容: