当前位置: 首页 > 专利查询>大连大学专利>正文

一种基于云数据库的手机与树莓派之间的通信方法技术

技术编号:21838869 阅读:46 留言:0更新日期:2019-08-10 20:28
本发明专利技术公开了一种基于云数据库的手机与树莓派之间的通信方法,具体包括如下步骤:步骤1、树莓派上的python脚本程序通过调用GPIO口对硬件设备进行控制,通过Python程序控制GPIO口的高低电平来实现灯的亮灭;步骤2、同wifi下手机和树莓派之间通过ajax相互访问,通过php在服务器端调用程序来实现交互,从而实现数据的同步;步骤3、云服务器基于http和websocket协议,通过ajax访问树莓派控制端和手机app;步骤4.云服务器的后台程序对云数据库进行增删改查。树莓派和手机作为终端,重要数据与程序上传于服务器端,服务器端通过后台程序将数据存储于云服务器,从而实现数据共享与程序的实时修改。

A Communication Method between Mobile Phone and Raspberry Pie Based on Cloud Database

【技术实现步骤摘要】
一种基于云数据库的手机与树莓派之间的通信方法
本专利技术涉及一种通信方法,具体说是一种基于云数据库的手机与树莓派之间的通信方法。
技术介绍
现有技术中手机app和树莓派可以通过蓝牙进行通信。手机app产生指令通过蓝牙给树莓派发送数据,树莓派通过蓝牙接收该数据;反之树莓派给手机app发送数据,手机app通过蓝牙进行接收。该技术方案存在明显的缺点为:1.传输距离短:蓝牙是一种无线技术标准,属于局域网,传输数据有射程范围限制,当树莓派与手机之间的的距离超过该范围,数据传输就会不稳定甚至无法连接。2.无法实现多用户数据共享:手机app和树莓派通过点对点方式进行通信,由于数据库均为个人数据库,无法实现多个用户数据共享。3.后期软件升级不便:由于操作程序封装在产品中,产品使用者无法对产品进行维护升级。树莓派与手机app之间还可以通过socket协议进行通信。A.服务器端编程步骤:1、创建服务器端套接字并绑定到一个端口上2、套接字设置监听模式等待连接请求3、接收连接请求后进行通信4、返回,等待另一个连接请求。B.客户端编程步骤:1、创建客户端套接字(指定服务器端的IP地址和端口号)2、连接(Android创建Socket时会自动连接)3、与服务器端进行通信4、关闭套接字。该技术方案存在明显的缺点为:成本高,稳定性差、耗费服务端的计算和存储资源等不足。
技术实现思路
针对现有技术存在的上述缺点,本申请提供了一种可实现手机与树莓派之间长距离、可多用户数据共享、后期软件升级方便、成本适中、稳定性强、节省服务端计算和存储资源的通信方法。为实现上述目的,本申请的技术方案为:一种基于云数据库的手机与树莓派之间的通信方法,具体包括如下步骤:步骤1、树莓派上的python脚本程序通过调用GPIO口对硬件设备进行控制,通过Python程序控制GPIO口的高低电平来实现灯的亮灭;步骤2、同wifi下手机和树莓派之间通过ajax相互访问,通过php在服务器端调用程序来实现交互,从而实现数据的同步;步骤3、云服务器基于http和websocket协议,通过ajax访问树莓派控制端和手机app;步骤4.云服务器的后台程序对云数据库进行增删改查。进一步的,步骤2中具体实现步骤如下:2.1配置树莓派服务器和数据库;2.2手机与树莓派数据交互,包括:A:手机创建一个ajax,创建ajax过程如下:a.1创建XMLHttpRequest对象;a.2新建http并设置响应http状态变化的函数;a.3打开链接,分为两种,分别是①同步:指发出数据后,等接收到响应再发送下一个数据包的通讯方式;②异步:指发出数据后,不用等待接收到响应,接着发送下一个数据包的通讯方式;B:Ajax向服务器发送请求:向服务器发送请求有两种方式,分别为get和post:①Get:从指定的资源请求数据;②Post:向指定的资源提交要处理的数据;C:树莓派中的后台程序返回json数据给Ajax,再由Ajax将该数据通过js返还给手机app。进一步的,步骤3中通信分为两大模块:Websocket通信模块和http通信模块;用websocket通信模块做消息推送,实时通信;用http通信模块做数据查询或处理。进一步的,步骤3中具体实现步骤如下:3.1、Websocket协议访问过程:A、手机app和树莓派中dom树加载完毕后,调用websocket的初始化接口创建websocket的连接;B、在手机和树莓派上同时绑定四个事件;①、onopen建立连接后触发②、onmessage收到消息后触发③、onerror发生错误时触发④、onclose关闭连接时触发C、在服务器端创建一个ControlMessageBund对象,并初始化一个监听客户端(手机和树莓派)发来消息的方法D、在客户端(手机和树莓派)建立连接后触发onopen方法,向websocket发送一个消息;E.服务器端接收到客户端发来的消息,将数据同步到数据库当中,执行onTextMessage方法,向客户端推送消息;F、客户端收到服务器端发送来的消息后触发onmessage事件,更新客户端的前端数据信息。进一步的,步骤三中还包括:3.2、http协议访问过程:A、手机或树莓派通过ajax向后台发送数据;B、服务器通过URL地址进行解析,并对前端请求数据方式进行解析,并定位相应的后端程序,对传递的参数进行处理,处理完成后存储到云数据库当中并将成功数据或失败数据返回给前端;C、手机或树莓派更新前端页面,将数据正常显示出来。更进一步的,步骤4中具体实现步骤如下:4.1:服务器通过URL地址来访问后台程序;4.2:后台程序根据URL中的参数与数据库进行连接;连接结果为失败或成功,不同结果对应于不同的步骤:A.连接成功:a.1:后台程序中的模型层接收来自数据库返回回来的数据;a.2:业务层调用模型层中数据库原样返来的数据,对该数据进行业务逻辑处理,并将处理好的数据打包成json传递给后台中的控制层;a.3:控制层接收业务层中处理好的数据,通过http协议将数据传输给前端js;a.4:前端js接收到该数据之后,将该数据交给js的业务层,对数据进行解析处理,转化成前端可呈现的数据逻辑,并将其交给js中的控制层;a.5:js中的控制层将该数据逻辑,通过模板渲染,将数据渲染成可视化界面呈现给用户;并返回给云服务器操作的结果以及数据;B:连接失败:b.1:后台程序从云服务器中取出json数据包并发送给前端;b.2:前端接收到失败信息后,自动跳转到失败页面并展示给用户连接失败的信息。本专利技术由于采用以上技术方案,能够取得如下的技术效果:1.解决了数据同步问题。将所有数据都放在了云数据库,一方面方便用户维护该数据库,另一方面便于对所有用户的数据进行分析利用。2.解决后期软件升级问题。树莓派和手机作为终端,重要数据与程序上传于服务器端,服务器端通过后台程序将数据存储于云服务器,从而实现数据共享与程序的实时修改。3.连网解决了远距离通信问题,websocket模块与http通信模块结合节省了服务端计算和存储资源,成本适中,稳定性强。附图说明图1为本方法流程示意图;图2为步骤2的具体流程图;图3为步骤3的具体流程图;图4为步骤4的具体流程图。具体实施方式下面结合附图和具体实施例对本专利技术作进一步详细的描述:以此为例对本申请做进一步的描述说明。本实施例提供一种基于云数据库的手机与树莓派之间的通信方法,具体包括如下步骤:步骤1、树莓派上的python脚本程序通过调用GPIO口对硬件设备进行控制,通过Python程序控制GPIO口的高低电平来实现灯的亮灭。步骤2、同wifi下手机和树莓派之间通过ajax相互访问,通过php在服务器端调用程序来实现交互,从而实现数据的同步。步骤2中进一步详细说明如下:2.1配置树莓派服务器和数据库2.2手机与树莓派数据交互,包括手机创建一个ajax,创建ajax过程如下a.1创建XMLHttpRequest对象a.2新建http并设置响应http状态变化的函数a.3打开连接,连接分为两种链接,分别是①同步:指发出数据后,等接收到响应以后再发送下一个数据包的通讯方式。②异步:指发出数据后,不用等待接收到响应,接着发送下一个数据包的通讯本文档来自技高网...

【技术保护点】
1.一种基于云数据库的手机与树莓派之间的通信方法,其特征在于,具体包括如下步骤:步骤1、树莓派上的python脚本程序通过调用GPIO口对硬件设备进行控制,通过python脚本程序控制GPIO口的高低电平来实现灯的亮灭;步骤2、同wifi下手机和树莓派之间通过ajax相互访问,通过php在服务器端调用程序来实现交互,从而实现数据的同步;步骤3、云服务器基于http和websocket协议,通过ajax访问树莓派控制端和手机app;步骤4.云服务器的后台程序对云数据库进行增删改查。

【技术特征摘要】
1.一种基于云数据库的手机与树莓派之间的通信方法,其特征在于,具体包括如下步骤:步骤1、树莓派上的python脚本程序通过调用GPIO口对硬件设备进行控制,通过python脚本程序控制GPIO口的高低电平来实现灯的亮灭;步骤2、同wifi下手机和树莓派之间通过ajax相互访问,通过php在服务器端调用程序来实现交互,从而实现数据的同步;步骤3、云服务器基于http和websocket协议,通过ajax访问树莓派控制端和手机app;步骤4.云服务器的后台程序对云数据库进行增删改查。2.根据权利要求1所述一种基于云数据库的手机与树莓派之间的通信方法,其特征在于,步骤2中具体实现步骤如下:2.1配置树莓派服务器和数据库;2.2手机与树莓派数据交互,包括:A:手机创建一个ajax,创建ajax过程如下:a.1创建XMLHttpRequest对象;a.2新建http并设置响应http状态变化的函数;a.3打开链接,分为两种,分别是①同步:指发出数据后,等接收到响应再发送下一个数据包的通讯方式;②异步:指发出数据后,不用等待接收到响应,接着发送下一个数据包的通讯方式;B:Ajax向服务器发送请求:向服务器发送请求有两种方式,分别为get和post:①Get:从指定的资源请求数据;②Post:向指定的资源提交要处理的数据;C:树莓派中的后台程序返回json数据给Ajax,再由Ajax将该数据通过js返还给手机app。3.根据权利要求1所述一种基于云数据库的手机与树莓派之间的通信方法,其特征在于,步骤3中通信分为两大模块:Websocket通信模块和http通信模块;用websocket通信模块做消息推送,实时通信;用http通信模块做数据查询或处理。4.根据权利要求3所述一种基于云数据库的手机与树莓派之间的通信方法,其特征在于,步骤3中具体实现步骤如下:3.1、Websocket协议访问过程:A、手机app和树莓派中dom树加载完毕后,调用websocket的初始化接口创建websocket的连接;B、在手机和树莓派上同时绑定四个事件;①、onopen建立连接后触发②、on...

【专利技术属性】
技术研发人员:邹启杰黄超牛浩青许敏赵昌艳杨一帆
申请(专利权)人:大连大学
类型:发明
国别省市:辽宁,21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1