项目是大学时期的课程设计

摘要

粤嵌GEC 6818开发板作为系统的网关板,其为系统数据的中枢。启动串口收发,可以接收到ZigBee网络的协调器通过串口发送的数据; lCD屏幕编程,实现传感网的数据实时显示;建立有MySQL数据库的连接,可以将传感网络的温湿度及门状态信息保存到远端的数据库服务器中;建立有TCP服务器,可以实现与上层应用的通讯;通过串口与NB-IOT模块连接,实现外网通讯数据转发。

物联网的感知层使用的是ZigBee网络,实现多个终端节点的传感器数据获取,多个终端节点的的设备控制,将数据统一由协调器进行管理;网络层使用的是粤嵌6818开发板,实现多种协议的整合,实现数据的转发与处理;应用端有WEB端数据显示和手机端灯控制。

关键词: NB-IOT;物联网网关;数据库; TCP/IP;MQTT

概述

1.1  课题描述

相比于互联网时代,物联网的通信协议更加多样,物的碎片化非常严重,网关的重要性也就由此凸显——物联网网关能够把不同的物收集到的信息整合起来,并且把它传输到下一层次,因而信息才能在各部分之间相互传输。物联网网关可以实现感知网络与通信网络,以及不同类型感知网络之间的协议转换;既可以实现广域互联,也可以实现局域互联。

物联网网关,作为一个新的名词,在未来的物联网时代将会扮演非常重要的角色,它将成为连接感知网络与传统通信网络的纽带。此外物联网网关还需要具备设备管理功能,运营商通过物联网网关设备可以管理底层的各感知节点,了解各节点的相关信息,并实现远程控制。

1.2  系统目标

物联网的感知层使用的是ZigBee网络,实现多个终端节点的传感器数据获取,多个终端节点的的设备控制,将数据统一由协调器进行管理;网络层使用的是粤嵌6818开发板,实现多种协议的整合,实现数据的转发与处理;应用端有WEB端数据显示和手机端灯控制。

1.3  环境

       a) 操作系统:

Windows10教育版 64位

Linux

        b) 使用软件:

安卓开发:Android Studio2.0

网页开发:Adobe Dreamweaver CC 2017

数据库:MySql

文档编写:Microsoft Word 2016

串口命令行登入:putty.exe

Tftp服务器:tftpd32

        c) 开发语言:

Java语言

PHP语言

C语言

系统总体设计与详细设计

2.1   系统总体设计

2.2 网关板设计:

       物联网网关开发板使用的是粤嵌的6818开发板,GEC6818开发平台,核心板采用10层板工艺设计,确保稳定可靠,可以批量用于平板电脑,车机,学习机,POS 机,游戏机,行业监控等多种领域。该平台搭载三星Cortex-A53系列高性能八核处理器S5P6818,最高主频高达1.4GHz,可应用于嵌入式Linux和Android等操作系统的驱动、应用开发。开发板留有丰富的外设,支持千兆以太网、板载LVDS接口、MIPI接口、USB接口等。

GEC6818开发平台支持三大操作系统,具备完整的教学资源和教学内容,包括:ARM微处理器系统驱动的实验、嵌入式实时操作系统Linux开发、嵌入式Android系统开发、嵌入式Android应用开发、嵌入式系统项目实战开发等内容。

GEC6818开发板使用的是嵌入式Linux系统,内部运行有TCP服务器,可以等待TCP客户端连接以提交数据与接收控制指令;内部运行有数据库客户端,可向数据库服务器保存感知层上报的传感器数据;板子集成有800*480的显示屏,可以通过显示屏实现模块状态及传感器数据的显示;板子通过两个串口分别与ZigBee网络感知层的协调器、NB-IOT模块进行通信。实现多协议的集成,数据的收发、处理、转发。

GEC6818开发板是系统的数据中枢。

2.3 ZigBee网络感知层:

系统的感知层使用的是ZigBee网络进行组网数据传输,其有一个协调器和两个终端节。终端节点实现感知与控制,其感知部分分别包括有温湿度传感器、霍尔门控传感器;其控制部分是分布在每个终端上的三色LED灯。

2.3 ZigBee网络感知层:

系统的感知层使用的是ZigBee网络进行组网数据传输,其有一个协调器和两个终端节。终端节点实现感知与控制,其感知部分分别包括有温湿度传感器、霍尔门控传感器;其控制部分是分布在每个终端上的三色LED灯。

2.4 显示控制平台及数据保存:

显示控制平台是基于网关板面向用户的开发,其将需要将网关的数据经过处理后通过图文等简易方式返回给用户观看与操作,实现数据的快速利用。6818网关板上接有LCD屏幕显示,实现门开关状态的显示、两个终端模块的上下线显示、温湿度的实时显示。TCP显示控制台,是通过连接网关板的TCP服务器实现的,可以通过获取网关板所发送的数据,进行解析后显示模块状态、门状态、温湿度数据,也可通过按钮触发实现控制命令的下发。数据保存是会将网关接收的传感器数据实时保存到数据库,数据库的数据展示将会通过网页进行查询展示。手机端的数据接收与控制指令的发送是通过MQTT协议,而网关板实现MQTT协议是通过NB-IOT模块。

2.5 NB-IOT模块实现:

网关通过串口与NB模块进行通信,NB模块通过MQTT应用协议与应用层通信,应用层的实现是手机接收相关传感器数据与发送控灯指令。MQTT服务器是搭建在腾讯云主机上的。

BC26的特性:

全网通

支持AT指令

支持OpenCPU,可省去外围MCU

支持高速移动(80km/h~120km/h)

采用联发科的MT2625芯片

OpenCPU

1. OpenCPU是基于移远模块的二次开发方案,用户可以直接在模块里开发集成应用,从而省掉外部主控MCU。OpenCPU已被广泛的用于M2M领域,例如智能家居、智能城市、资产追踪,汽车能源等领域。

2. OpenCPU与传统方案对比如下图。 在传统方案中,需要一个MCU作为主控制器,控制硬件外设,例如控制路灯的亮或灭,然后使用MCU的UART接口与标准模块进行AT指令通信,上报当前路灯状态,或接收来自远程服务器的开关灯命令。而OpenCPU方案,可以直接在模块中编写程序控制路灯,节约硬件成本,加速应用开发。

3. OpenCPU核心系统是NB-IoT模块的软硬件结合。它内置ARM Cortex-M4处理器,构建在FreeRTOS操作系统之上,具有微内核、实时性、多任务等特点。

测试

3.1    智能控制及网关系统硬件整体:

图3.1  智能控制及网关系统硬件整体

3.2  粤嵌6818开发板网关显示界面:

图3.2 粤嵌6818开发板网关显示界面

3.3  两个终端节点

图3.3 集  两个终端节点

3.4  NB-IOT模块与协调器

图3.4集  协调器与NB-IOT模块

3.5  模块1下线时网关板上显示

图3.5模块1下线时网关板上显示

3.6  TCP客户端显示控制平台

图3.6  TCP客户端显示控制平台

3.7   网页端数据显示平台

图3.7   网页端数据显示平台

3.8   通过手机与NB-IOT模块通信实现开关等

图3.8   通过手机与NB-IOT模块通信实现开关等

课程设计总结或结论

1    物联网网关的重要性:

相比于互联网时代,物联网的通信协议更加多样,物的碎片化非常严重,网关的重要性也就由此凸显——物联网网关能够把不同的物收集到的信息整合起来,并且把它传输到下一层次,因而信息才能在各部分之间相互传输。物联网网关可以实现感知网络与通信网络,以及不同类型感知网络之间的协议转换;既可以实现广域互联,也可以实现局域互联。

2    JPEG图片的定点显示问题:

6818网关板上有800*480的LCD屏,如何在板子上显示图片,可以使用jpeg库。其需要的效果是显示实时的传感层数据,如果想要达到较好的效果是不能直接更换整张图片的,这将要涉及到定点替换图片,实现背景图片的显示和实时数据的替换。

参考原整张图片替换的函数,修改函数为void jpeg_show(int xx,int yy,char *fullfilename),函数携带X和Y轴的偏移量和图片地址,通过写像素点函数lcd_draw_point(cinfo.output_scanline+yy,i+xx,color);加上偏移量实现定点写图片,定点更换显示的效果。

3    OpenCPU的联想:

三年来接触过的开发板也算是挺多了吧,ESP8266、ESP32、NB-IOT都是支持AT指令和OPenCPU类的开发,为什么要有OpenCPU呢,之前和移远技术人员通电话他给我的解释是BC26之所以支持OpenCPU就是针对于那些舍不得买个外部MCU的人使用的,一般的都是使用AT加外部MCU开发的。哈哈,此处有点接不上话。

根据个人开发经验,AT指令方便于测试,OPenCPU类方便于开发。如果将一个自带有IO口的单片机只是实现一些特定的功能或者仅仅是数据转发,而且还要严格按照AT指令的格式进行数据解析,那将是一件和为难自己认知的事情。

作为物联网工程专业学生,在面对系统开发时应该正确的使用AT与OpenCPU类的开发。

物联网系统网关开发与实现相关推荐

  1. Qt 物联网系统界面开发 “ 2022湖南省大学生物联网应用创新设计竞赛技能赛 ——应用物联网的共享电动自行车 ”

    文章目录 前言 一.实现效果 视频演示 二.程序设计 1. 界面背景图设计 2. 信号槽设计 3. 定时器设计 4. 动态曲/折线图的设计 5. 摄像头扫码 6. 注册设计 7. 登录设计 8. 巡检 ...

  2. 物联网系统的四种物理模型

    物联网系统的四种物理模型 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lihongzhai/article/details/80370369 物联 ...

  3. 工业智能网关在物联网系统中扮演什么角色?

    工业智能网关在物联网系统中扮演的是怎样子的一个角色?工业智能网关在整套物联网的完整体系中担负的责任又有哪些呢?我们对工业智能网关的理解可能还只停留在边缘计算.数据采集.协议通信等表面层次上,但是这样子 ...

  4. 从程序员的角度,来拆解物联网系统中的开发工作

    文章目录 **物联网系统** **设备端的开发** 1. 不需要网关的设备 2. 需要网关的设备 3. WiFi 类设备 **物联网平台开发** **业务应用开发** 推荐一篇好文:从程序员的角度,来 ...

  5. 物联网智能网关应用系统的一般设计方法

    随着互联网的日益普及.信息共享程度的要求不断提高,各种家电设备.仪器仪表以及工业生产中的数据采集与控制设别在逐步走向网络化,以便利用庞大的网络资源,实现分布式远程监控.信息交换与共享.物联网的发展更是 ...

  6. 网关在物联网系统里面起着很重要的核心作用

    物联网网关定义:在Internet中,网关是一种连接内部网与Internet上其它网的中间设备,也称"路由器",而在物联网的体系架构中,在感知层和网络层两个不同的网络之间需要一个中 ...

  7. PCB设计及制作-数字钟-物联网应用系统设计项目开发

    目录 一.说明 二.重点 三.实现 四.下载 一.说明 用Altium Designer软件绘制数字钟的原理图,加载元器件 对于元件库中没有的器件和封装,能够通过网络资源找到器件手册并自行绘制 根据原 ...

  8. 物联网系统开发的11个步骤【看评论区里领取项目资料】

    如果你还没有听说过"物联网"这个词,那你就out没商量了.物联网作为我国新经济增长的战略新兴产业,是继通信网之后的另一个万亿级市场.在未来,物联网还将是推动世界发展的下一个重要生产 ...

  9. STC51单片机-多功能信号发生器设计-物联网应用系统设计项目开发

    目录 一.说明 二.重点 三.实现 四.下载 一.说明 信号发生器是一种能提供各种频率.波形和输出电平电信号的设备.在测量各种电信系统或电信设备的振幅特性.频率特性.传输特性及其它电参数时,以及测量元 ...

  10. 物联网开发用什么单片机?单片机在物联网系统中的作用是什么?

    物联网基本能涵盖全行业,如果没涵盖,那一定是痛点和需求没被挖掘出来. 我算是比较早那一批接触物联网产品开发的,记得当时很多现在看起来发展的很不错的平台当初还在到处路演. 硬件接入到平台也不用花钱,或者 ...

最新文章

  1. 字典创建列表的2种方法,作业
  2. 禁止用户对系统数据库表的SELECT权限
  3. Wedding UVA - 11294(2-SAT男女分点)
  4. DBA巡检常用的SQL语句
  5. linux 产生三位数的随机数
  6. MFC应用程序框架入门
  7. 计算机窗口设计java实验,Java银行取款异常处理计算器设计图形用户界面设计实验报告.doc...
  8. SpringMVC框架第二天
  9. mysql 表空间加密,MySql(8.0)基于docker部署(加密存储表空间)
  10. 机器学习:用梯度下降法实现线性回归
  11. 电子表格控件Spreadsheet 对象方法事件详细介绍
  12. 易语言制作计算机按键指令,易语言键代码一览表
  13. 美国网站服务器有哪些,可以搭建什么网站?
  14. 计算机文化基础清华大学PPT,数据库基础知识清华大学计算机文化基础.ppt
  15. erp进销存管理系统
  16. 背单词的小智 (二分)
  17. IDEA上tomcat日志输出乱码 淇℃伅 鏈嶅姟鍣ㄧ増鏈彿(锛 解决办法
  18. Spring Boot源码简析 @EnableTransactionManagement
  19. PCB设计1 模块间的隔离
  20. 施一公首部作品:《自我突围:向理想前行》

热门文章

  1. Ubuntu 安装 Intel 显卡驱动
  2. 10543: 孤岛症候群
  3. Retrofit 框架详解和使用
  4. Java MD5签名需要使用UTF-8格式,利用MD5加密后转成大写
  5. java list 内存释放_QList内存释放(看它内部存储的是否是Object,另外还有qDeleteAll)...
  6. python光棍节快乐_光棍节快乐的祝福语QQ【17句】
  7. 音视频技术开发周刊 | 177
  8. Mybatis|CURD|配置详解|注解开发|多点查询|动态sql|缓存
  9. 安卓日历每日提醒_好用的安卓日历Jorte:可添加待办事项和提醒
  10. Leo个人MSN简明使用手册