查看: 1449|回复: 0

使用麒麟座迷你版开发智能锁方案

[复制链接]
  • TA的每日心情
    开心
    2017-8-15 10:04
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2017-9-15 20:23:51 | 显示全部楼层 |阅读模式
    分享到:
    智能门锁是该系统中主要的硬件部分,其包含了芯片控制部分和门锁执行部分。门锁主要实现通信、控制上锁和开锁、电源连接和警报提醒功能。通信用于GPRS信息的发送和接收;锁芯控制用于控制锁芯驱动上锁或开锁,检测门锁的开关状态是由传感器将信息传到单片机中由单片机分析完成;警报提醒用于门锁被异常打开,受到暴力撞击等情况下发出警报提醒。STM32开发环境:keil5 。
    1、当手机APP发出查询门锁状态请求
    检测门锁状态通过锁芯末端的压力传感器来实现,将压力传感器的感应状态转换为电平参数传递给STM32。当锁芯处于解锁状态时,锁芯末端与压力传感器相接触,压力传感器处于感应状态,并转换为高电平传入芯片。  STM32执行程序如下:
    2、接收到开门指令时
    为了提高门锁的安全性和可靠性,当接收到来自云平台的开锁指令时,需要将接收到的信息与设定好的开锁信息进行匹配,匹配成功后还需要对指纹进行采集并保存。 当指纹采集成功并且温度感应器检测到有人在现场时,执行开锁指令。开锁后锁芯压力传感器输入通道打开,当压力传感器传入为高电平时说明门锁上锁,此时记录锁门时间。其具体过程如下:
    Get开锁指令
    Compare 预存指令信息
    If 结果相同
    Get指纹信息
      If指纹采集完成
      Save 时间和指纹
      Send 继电器上电开锁
    Wait:  Get 传感器状态输入
      If传入高电平
      Save 时间
      Else返回wait执行
      Else 无响应
    Else  无响应
    end
    3、异常状态警报功能
    当门锁传感器受到外界压力而没有接收到来自云平台的开锁指令时,门锁可能会被异常打开,此时需要发出警报,提醒管理人员异常状态。
    If压力传感器输出大于允许最大值
      Get  WiFi模块接收的信号
      compare预设开门信号
      If 匹配不成功
    蜂鸣器开始工作
      LED灯开始工作
      STM32本地保存时间和暴力撞击信息
    发送信息到WiFi模块
    End
    4、定时器定时检测
    在没有接收到来自云平台的检测、开锁信息时,也要对门锁的状态进行检测,此时需要使用STM32内部定时器工作。预先编程设定定时器定时时长,当定时时间到时,读取锁芯传感器的传入值,对此参数进行分析保存。
    2.3.2 OneNET云平台与数据传输
    ①OneNET云平台
    OneNET是中国移动物联网有限公司响应“大众创新、万众创业”以及基于开放共赢的理念,面向公共服务自主研发的开放云平台,为各种跨平台物联网应用、行业解决方案提供简便的海量连接、云端存储、消息分发和大数据分析等优质服务,从而降低物联网企业和个人(创客)的研发、运营和运维成本,使物联网企业和个人(创客)更加专注于应用,共建以OneNET为中心的物联网生活。
    用户在接入OneNET之前,必须先在OneNET平台注册用户账户,用户注册登录成功后,可以在用户账户下创建产品,目前平台提供有公开协议产品和私有协议产品两种产品类型(平台为公开协议产品又提供有HTTP、EDP、MQTT、MODBUS等多种协议的选择)。在产品中创建设备,为设备新增数据流。设备端编写终端接入代码,主要完成数据采集、协议封装、数据上传等工作,终端设备的数据上传成功后,平台在相应数据流下会生成随时间推移的数据点。最后,为了更直观的呈现数据的变化情况,用户可以运用应用孵化器自定义个性化应用并发布。
    OneNET接入过程大致如下:、
    利用OneNET的私有接入协议RGMP(remote gateway management protocol),平台将根据自己定义的设备数据模型自动生成SDK源码,将SDK嵌入到设备中,实现与平台的对接。私有协议具有业务数据格式灵活、数据传输紧凑高效以及实时性高等优点,其主要功能如下:
    设备上电后自动注册激活(无需提前分配设备标识)
    上传设备传感器数据
    上传设备事件
    远程配置设备程序
    远程控制设备(发送通知信息
    ②数据传输
    数据传输通过ESP8266串口WIFI模块来实现,通过AT指令控制WIFI模块接入物联网,依次完成与接入互联网、与OneNet服务器建立TCP连接、传输数据等操作,ESP8266串口WIFI模块硬件实物图如下:
    与PC连接实物如下图所示:
    利用EDP方式上传数据
    串口配置完成,就可以利用串口调试工具操作ESP8266串口WIFI模块,使其与OneNet建立连接、传输数据。
    首先在模块串口调试工具中输入“AT”并加上回车,点击“手动发送”按钮,WIFI模块返回“OK”,说明模块工作正常,如下图:
    用EDP协议接入OneNet过程,步骤如下:
    1)配置WIFI模块;
    模块配置和用RestFul API接入OneNet相同,依次发送如下几个命令到WIFI模块:
    AT+CWMODE=3
    AT+RST
    AT+CIFSR
    AT+CWJAP="your ssid","password"
    2)和OneNet服务器建立TCP连接,依次发送命令:
    AT+CIPSTART="TCP","183.230.40.39",876 //和服务器建立TCP连接
    AT+CIPMODE=1 //进入透明传输模式
    AT+CIPSEND //开始传输
    命令执行结果如下图所示:
    发送HTTP数据报为:
    POST /devices/131658/datapoints HTTP/1.1
    api-key: mgDiVsQ7E8bPUwfBDtTy4K8yMtMA
    Host:api.heclouds.com
    Content-Length:63{"datastreams":[{"id":"sys_time","datapoints":[{"value":50}]}]}
    返回结果如下图:
    该返回结果说明,本次上传数据成功,数据上传成功后,OneNet服务器会关闭TCP连接,那么下次进行数据传送,需要重复步骤2)。
    登陆OneNet,在Demo-test设备下,查看数据,如下图:上图表明,数据持续更新中,EDP协议上传数据到Demo-test设备下成功,注意:在“HTTP日志”相应区域,没有相关的数据更新日志记录。
    在云平台创建私有协议下的新设备,根据私有协议产品指南完成创建和模板定义,下载平台生成的SDK代码,并结合本设计所需有的通讯设备功能,将代码写入设备中,完成通讯模块。ONENET云平台接收来自手机和智能锁通讯设备的信息,并对门锁状态进行监控,在鉴权完成时对手机APP下发一些指令,进而实现对门锁的远程控制。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /5 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-12-21 02:42 , Processed in 0.115160 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.