开源物联网系统设计-计算机Java项目(源码&论文)

文章目录

  • 0 项目说明
  • 1 摘要
  • 2 设计内容
  • 2.1 3.1.硬件设计
  • 2.2 软件设计
  • 4 项目源码

  • 0 项目说明

    开源物联网系统设计

    提示:适合用于课程设计或毕业设计,工作量达标,源码开放


    1 摘要

    介绍了以REST服务为核心、单片机、ARM开发板而辅助的物联网系统的结构组成及工作原理,提供了相应的软件代码及硬件结构。首先研究了不同服务框架的区别,包括不同语言间开发的优势及劣势,之后重点以REST服务为核心构建系统。本设计中,单片机与ARM开发板通过串口通信的方式实现通信,相互传输所需要的数据,ARM开发板将资源传于互联网上对应的接口,接口可以在互联网上被访问。将ARM开发板获取过来的数据存储于MySQL数据,再以REST服务的方式共享数据,互联网上的其他设备便可以通过网络来访问这些设备。系统分离了软件、硬件的耦合,不仅可以方便系统开发,也可以方便由不同的硬件替换相应的组成,使之更容易理解,同时可以实现更多设备的连接,以实现真正的物联。

    2 设计内容

    物联网的核心也就是网络服务,而网络服务在某种意义上来说,就是需要打造一 个多平台的通信协议,在使机器、家电、设备等连上计算机网络。基本的物联 网系统,不仅能控制设备,还可以在远程查看状态。而复杂的物联网系统可以让 互联网上的设备之间实现互联与通信,也就是物联网的最终目标所在——使物体与 物体之间的交互成为可能,不需要人为去干预。

    系统采用的结构是: Arduino+Raspberry Pi+Laravel+JSON+RESTful+Ajax+Python+HighCharts

    Arduino与Raspberry Pi通过串口通信的方式实现通信,相互传输所需要的数据, Raspberry Pi将资源传于互联网上对应的接口,接口可以在互联网上被访问。 Laravel框架构架于服务器之上,将Raspbery Pi获取过来的数据存储于MySQL数 据,再以REST服务的方式共享数据,互联网上的其他设备便可以通过网络来访问 这些设备。Ajax用于将后台的数据以不需要刷新的方式传递到网站前台,通过 HighCharts框架显示给终端用户。

    Arduino UNO用的处微控制器是Atmega328,它与Arduino芯片的对应关系如下所示

    2.1 3.1.硬件设计

    Raspberry Pi
    Raspberry Pi开发板在这里主要工作有:
    与Arduino开发板,通过USB线连接。
    可以直接运行Debian GNU/Linux系统,通过网线上网,并从服务器中读取数据,
    通过Python语言接收、发送串口数据。

    2.2 软件设计

    在本地我们需要解决的问题可以如下描述,Arduino开发板从串口一直读取数据, Raspberry Pi从URL中验证数据、解析数据,再将数据发送到串口,我们可以用下面的伪代码来描述:

    arduino:
            begin
               repeat
                 wait(serial.open)
                   data:=receive_data()
                   led_status:=parse(data)
                   if led_status
                      oped(led.id)
               util false
            end
    raspberrypi:
            begin
               repeat
                 json:=get_data(url)
                 if validate(json).success()
                   data:=parse(json)
                   serial.write(data)
               util false
            end
    

    4 项目源码

    项目分享:https://gitee.com/asoonis/feed-neo

    物联沃分享整理
    物联沃-IOTWORD物联网 » 开源物联网系统设计-计算机Java项目(源码&论文)

    发表评论