0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈Android平台的物联网网关方案设计

电子工程师 来源:电子元器件应用 作者:乔雷,雷斌,杜剑 2021-05-05 16:39 次阅读

提出了一种基于Android平台的物联网网关方案。该网关通过蓝牙串口通信实现物联网中WSN (无线传感器网络中心节点和Android网关的数据传输,在Android平台上实现WSN节点信息管理并通过Android的网络资源实现互联网接入,从而在WSN与互联网之间搭建一条透明的数据传输通道,完成对无线节点的数据进行远程和实时的监测控制。

中国已成为第一大移动互联网市场,在移动互联网和物联网的市场非常广阔,这将使得物联网应用借助移动互联网平台深入到各个领域,实现泛在的接入。目前移动互联网平台常见的嵌入式操作系统主要足Linux、WindowsCE、MeeGo、Android、Palm等;其中Android系统的网络集成性很高,被公认为是一个基于Linux内核并针对移动设备的操作系统。

针对移动终端融合物联网具有很大的意义,而物联网接入互联网的瓶颈是网关 本文提出了基于Android平台、采用蓝牙连接物联网的网关方案,从而有效避免了物联网网关的开发瓶颈。

1 基于Android平台的WSN网关简介

星云测控系统是由一个WSN主节点和很多WSN测控节点构成一个分布式的测控系统,用于野外的暂时和长期测量、桥梁检测和大型结构瞬态测试等。基于Android平台蓝牙串口通信的星云测控(WSN)网关结构示意图如图1所示:

pIYBAGB_8WWALhklAABGawHHamY175.png

网关采用基于Android的带有蓝牙和Wifi/WLAN功能的智能平板,采用蓝牙连接基于STM32W的WSN测控系统主节点;网关将实现显示、存储、人机交互、远距离通信和网络通信等功能。网关软件在Android2.3操作系统下运行,程序在Android Eclipse下开发完成。其工作过程大致为:将网关蓝牙与ZigBee主控节点蓝牙进行配对、连接和数据传输,同时网关通过同一局域网的WiFi连接至远程终端,实现对ZigBee网络测控信息的显示、存储和控制等,实现网关的通信和管理,完成WSN和互联网的双向数据传输和控制。

2 Android平台的物联网网关的设计方案

网关通过蓝牙串口实现与WSN中心节点间的通信,在Android平台上实现WSN节点信息管理并通过Andrid的网络资源实现互联网接入,从而在WSN与互联网之间搭建一条透明的数据传输通道,完成对无线节点的数据进行远程和实时的监测控制。图2为基于Android平台的网关设计框图,Android平台下的物联网网关的软件实现,需要完成以下步骤:

(1)设置蓝牙和Wi—Fi;

(2)发现已经配对或者附近的蓝牙设备;

(3)连接设备;

(4)在不同设备之间传输数据;

(5)使用Wi—Fi通过无线路南连接同一无线局域网,通过Socket建立基于TCP/IP协议的网络通信。

(6)网关实现对WSN的管理。

o4YBAGB_8XSAddWPAACYTwWXpiA561.png

图3为网关工作流程。 Android的物联网网关的设计实现了以下功能:启动蓝牙、启动Wi—Fi、蓝牙设备是否可见、搜索蓝牙、蓝牙设备的配对与连接、蓝牙串口通信和网络通信和网关管理。

3 Android网关的蓝牙串口通信和网络通信

3.1 Android网关的蓝牙串口通信

“蓝牙”是一种短距离的无线连接技术标准的代称,实质内容就是要建立通用的无线电空中接口及其控制软件的公开标准。利用“蓝牙”技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。Android的蓝牙(Bluetooth)协议栈使用BlueZ (Linux官方的Bluetooth栈)来实现对GAP、SDP和RFCOMM等应用规范提供支持,并获得了SIG认证。BlueZ的RFCOMM提供Bluetooth上的串行仿真,这使得串行端口应用程序和协议不加更改地在Bluetooth上运行。RFC OMM模块和用户模式dund的后台进程实现了Bluetooth拨号网络。Bluetooth规范支持针对Bluetooth HCI数据分组的UART(通用异步接收器/传送器)和USB传输机制。BluZ栈同时支持这两个传输机制(drivers/Bluetooth/)。图4为Android Bluetooth部分的关系图。

o4YBAGB_8a2AXhtDAADSxLIeoDY322.png

Android包含了对蓝牙协议栈的支持,这使得蓝牙设备能够无线连接其他蓝牙设备交换数据。Android的应用程序框架提供了访问蓝牙功能API,实现点对点或点对多点的无线交互功能。使用蓝牙API,一个Android应用程序能够实现下列功能:扫描其他蓝牙设备、查询本地蓝牙适配器用于配对蓝牙设备、建立RFCOMM信道、通过服务发现连接其他设备、数据通信和管理多个连接。图5为本设计的蓝牙串口通信流程图。实现了蓝牙设备打开、可见、搜索和连接管理。

pIYBAGB_8ceAAjqGAACYWcyrsJ4183.png

3.2 Android网络通信

Android完全支持JDK本身的TCP、UDP网络通信的API,可以使用SeverSocket、Socket来建立基于TCP/IP协议的网络通信,也可以使用DatagramSocket、Datagrampacket、MulticastSocket来建立UDP协议的网络通信。本设计采用TCP/IP协议来实现网络通信,通信流程如图6所示。

o4YBAGB_8diAJ4leAADSXeFGNSQ517.png

本设计只实现客户端编程,服务端用SocketTool TCP/IP通信调试工具V2.2在PC端建立。使用Socket来实现客户端的步骤如下:

(1)通过IP地址和端口实例化Socket,请求连接服务器。

(2)获取Socket上的流以进行读写。

(3)把流包装进BufferedReader的实例。

(4)对Socket进行读写

(5)关闭打歼的流程。

关键代码如下:

o4YBAGB_8eWACNUiAABfNjyVIEk125.png

4 网关的管理功能及实现

网关在应用层实现对WSN的管理,主要包括安全认证、时间统一、监测数据采集、节点定位和远程传输功能,从而实现对现场的实时临控和管理。功能设计如下:

(1)安全认证:协调节点在安全认汪中,将申请节点的ID发给网关,网关查找配置表中的授权入网节;如果该节点ID在表中,则通知协调节点允许入网,否则不允许入网。同时,网关可以显示、添加或修改节点配置表中的授权入网节点。

如图8—1所示,网关插入配置表信息,该实验为四个节点组成的ZigBee网络,节点编号分别为0080E102001BC94D、0080E102001BCE91、0080E102001BC204和0080E102001BCF51。ZigBee组成的无线传感器网络实现点对点通信,网关可以采集到节点数据信息,并用绿灯显示该网络实现的是1号节点和3号节点之间的点对点通信,红灯表明处于非工作状态。

(2)时间统一:在进行时间统一的过程中,首先通过NTP协议对网关校时,并以此时间为基准,把时间发给协调器节点,从而校准协调节点的时间和网内子节点的时间,实现网络中节点的时间统一。如图7(a)所示,网关的最下方显示了NTP协议实现的校时。

pIYBAGB_8ZaAI4hrAAEcS5NNH8g606.png

(3)监测数据采集:在进行节点定位的过程中,网关可以采集节点数据、提取节点号和RSSI值。如图7(h)所示,上方滚动串口显示了收到的来自ZigBee无线传感器网络的串口数据。

(4)节点定位:ZigBee网络使用RSSI测距法实现节点定位,网关采集节点RSSI值解算出了节点大概位置。

(5)存储监测数据:接收节点监测数据并定期以文件形式保存到本地的SD卡中。如图8—2截取的存储至SD卡的数据传输数据,命名为Bluetooth.txt。

5 测试结果

系统所需的硬件平台为:Android平板电脑一部、BMX蓝牙模块、PC机一台。本实验所需的软件平台为:SSCOM32串口调试助手、Socket Tool网络调试和TCP/UDP开发丁具、Ecplise JAVA开发环境和Android SDK开发包。网络通信设置的IP地址为:192.168.0.190,端口号为:30000。

pIYBAGB_8iOALtT_AAGZOuMpuBU104.png

运行主要结果如图8所示。图8 (a)为设备连接界面,主要实现蓝牙连接和网络连接,触发搜索设备按钮显示设备列表,点击所需设备名称建立蓝牙连接。触发wifi按钮建立网络连接,触发测试按钮,测试通信信道是否建立,建立成功显示”success connection”。该网关实现了双向数据传输和网关管理,如图8(b),8(c)。传输过程分为以下三种情况:

(1)蓝牙设备发送数据给Android网关和远程终端,Android网关和远程终端显示”xi’antechnological universitv”表明测试成功。

(2)Android网关发送数据给蓝牙设备和远程终端,蓝牙设备和远程终端显示“I am Lei Bin”表明测试成功。

(3)远程终端发送数据给Android网关,Andiroid网关显示“Success of socket communication”表明测试成功。网络通信结果如图8(d)所示。

6 结束语

由于采用蓝牙串行通信技术连接物联网,避免了在Android平台上的硬件开发,使得在对现有Android智能平台无需硬件改造及编写底层驱动即可实现无线传感网络管理及和互联网间的数据传输,大大降低了物联网网关的应用难度和成本。

在该设计的基础上,可以进一步实现对无线传感器网络的实时控制,这使得在移动终端融合物联网应用成为可能。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 蓝牙
    +关注

    关注

    114

    文章

    5742

    浏览量

    169466
  • 网络通信
    +关注

    关注

    4

    文章

    777

    浏览量

    29737
  • WSN
    WSN
    +关注

    关注

    17

    文章

    187

    浏览量

    108517
收藏 人收藏

    评论

    相关推荐

    CNC联网网关有什么功能

    随着工业联网(IIoT)技术的飞速发展,CNC联网网关作为连接数控机床和工业联网的重要桥梁
    的头像 发表于 10-15 14:23 144次阅读

    水资源监测联网网关是什么

    在当今社会,水资源作为生命之源,其管理和保护显得尤为重要。随着联网技术的飞速发展,水资源监测联网网关(以下简称“
    的头像 发表于 09-02 13:43 206次阅读

    联网网关的功能和作用

    联网网关联网中扮演着至关重要的角色,它是连接物联网设备与云端平台之间的桥梁,负责数据的采集
    的头像 发表于 08-27 10:29 564次阅读

    智慧联网网关是什么

    智慧联网网关是一种关键设备,它在联网系统中起到桥梁的作用。智慧联网网关主要负责将各种物理设
    的头像 发表于 08-13 13:42 641次阅读

    Modbus联网网关是什么

    Modbus联网网关是一种专门用于将基于Modbus协议的设备连接到联网(IoT)的设备或软件。Modbus是一种常用的工业通信协议,主要用于传输自动化系统的数据。
    的头像 发表于 08-10 13:49 361次阅读
    Modbus<b class='flag-5'>物</b><b class='flag-5'>联网网关</b>是什么

    MQTT联网网关是什么

    MQTT联网网关是一种特殊的网关设备或软件组件,主要在联网(IoT)系统中使用,用于实现不同协议之间的通信转换,以便各种设备和系统能够相
    的头像 发表于 07-18 14:17 421次阅读
    MQTT<b class='flag-5'>物</b><b class='flag-5'>联网网关</b>是什么

    经济型联网网关是什么

    在不同的层级和系统之间流动。 经济型联网网关的主要特点和功能包括: 1. 多协议支持:支持多种通信协议,如MQTT、CoAP、HTTP、Modbus等,能够与各种传感器、设备和云平台进行通信。 2. 数据处理:具备一定的数据处
    的头像 发表于 07-08 15:35 211次阅读
    经济型<b class='flag-5'>物</b><b class='flag-5'>联网网关</b>是什么

    工业联网网关是什么?工业联网网关的工作原理

    在工业4.0的浪潮下,工业联网(IIoT)技术得到了广泛的应用和快速的发展。作为连接工业现场设备与远端业务系统之间的桥梁,工业联网网关在工业自动化、数据收集、远程监控和智能决策等方
    的头像 发表于 06-27 14:04 882次阅读
    工业<b class='flag-5'>物</b><b class='flag-5'>联网网关</b>是什么?工业<b class='flag-5'>物</b><b class='flag-5'>联网网关</b>的工作原理

    联网网关的定义和功能 联网网关的工作原理

    联网网关的定义和功能 联网网关的工作原理 联网网关在智能设备中的应用
    的头像 发表于 02-01 11:38 2301次阅读

    联网网关与plc怎么连接?

    联网网关与plc怎么连接? 联网是当今社会中最热门的技术之一,而联网网关则是连接物
    的头像 发表于 01-18 17:05 1495次阅读
    <b class='flag-5'>物</b><b class='flag-5'>联网网关</b>与plc怎么连接?

    联网网关的类型和功能

    联网网关有多种类型,每种类型都旨在满足特定的联网部署场景和要求。让我们探讨一些常见的联网网关
    的头像 发表于 12-16 11:04 2097次阅读
    <b class='flag-5'>物</b><b class='flag-5'>联网网关</b>的类型和功能

    联网网关需要哪些关键功能?如何保护联网网关

    为什么联网解决方案需要网关联网网关需要哪些关键功能?如何保护
    的头像 发表于 12-15 10:10 948次阅读

    联网网关和路由器有什么区别?联网网关有什么好处?

    联网网关和路由器有什么区别?联网网关有什么好处? 联网网关和路由器在功能上有所不同。
    的头像 发表于 12-15 10:10 1421次阅读

    联网网关联网平台有什么功能

    联网网关联网平台是工业联网系统的重要组成部分
    的头像 发表于 11-21 13:44 788次阅读
    <b class='flag-5'>物</b><b class='flag-5'>联网网关</b>与<b class='flag-5'>物</b><b class='flag-5'>联网</b><b class='flag-5'>平台</b>有什么功能

    联网网关在工业行业的应用案例

    随着联网技术的不断发展,联网网关在工业行业的应用越来越广泛。本文将介绍一个联网网关在工业行
    的头像 发表于 11-16 17:35 1088次阅读
    <b class='flag-5'>物</b><b class='flag-5'>联网网关</b>在工业行业的应用案例