文章目录

  • 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:beginrepeatwait(serial.open)data:=receive_data()led_status:=parse(data)if led_statusoped(led.id)util falseend
raspberrypi:beginrepeatjson:=get_data(url)if validate(json).success()data:=parse(json)serial.write(data)util falseend

4 项目源码

【毕业设计_课程设计】开源物联网系统设计(源码+论文)相关推荐

  1. 计算机毕业设计ssm 课程教学过程f6oz5系统+程序+源码+lw+远程部署

    计算机毕业设计ssm 课程教学过程f6oz5系统+程序+源码+lw+远程部署 计算机毕业设计ssm 课程教学过程f6oz5系统+程序+源码+lw+远程部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

  2. 1-基于单片机的城市轨道交通列车超速防护系统_里程表设计(原理图+PCB+源码+仿真工程+答辩论文)

    1-基于单片机的城市轨道交通列车超速防护系统_里程表设计(原理图+PCB+源码+仿真工程+答辩论文) 文章目录 1-基于单片机的城市轨道交通列车超速防护系统_里程表设计(原理图+PCB+源码+仿真工程 ...

  3. C语言成绩统计源代码,C语言课程设计学生成绩管理系统+源码

    <C语言课程设计学生成绩管理系统+源码>由会员分享,可在线阅读,更多相关<C语言课程设计学生成绩管理系统+源码(25页珍藏版)>请在人人文库网上搜索. 1.简易教学管理系统的设 ...

  4. java毕业设计 ssm公寓宿舍后勤管理系统(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2.1 界面展示 3 设计方案 3.1 概述 3.2 系统流程 3.2.1 系统开发流程 3.2.2 系统操作流程 3.3 系统结构设计 4 项目获取 1 项目简 ...

  5. 网络工程毕业设计 SSM企业公寓宿舍后勤管理系统(源码+论文)

    文章目录 1 项目简介 2 实现效果 2.1 界面展示 3 设计方案 3.1 概述 3.2 系统流程 3.2.1 系统开发流程 3.2.2 系统操作流程 3.3 系统结构设计 4 项目获取 1 项目简 ...

  6. 毕业设计 Spring Boot大学生社团管理系统(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2.1 界面展示 3 设计方案 3.1 概述 3.2 系统流程 3.3 系统结构设计 4 项目获取 1 项目简介 Hi,各位同学好呀,这里是M学姐! 今天向大家分 ...

  7. java毕业设计 Vue网上购物商城系统(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2.1 界面展示 3 设计方案 3.1 概述 3.2 系统开发流程 3.3 系统结构设计 4 项目获取 1 项目简介 Hi,各位同学好呀,这里是M学姐! 今天向大 ...

  8. 毕业设计 Spring Boot的垃圾分类管理系统(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2.1 界面展示 3 设计方案 3.1 概述 3.2 系统流程 3.2.1 系统开发流程 3.2.2 登录流程 3.3 系统结构设计 4 项目获取 1 项目简介 ...

  9. 毕业设计 Spring Boot的药品管理系统(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2.1 界面展示 3 设计方案 3.1 概述 3.2 系统流程 3.2.1 添加信息流程 3.2.2 操作流程 3.2.3删除信息流程 3.3 系统结构设计 4 ...

最新文章

  1. Castle ActiveRecord学习实践(4):实现One-Many关系的映射
  2. gcc 使用 stdio.h
  3. 发布地图服务属性表_Web3D地图来了!腾讯位置服务正式版发布!
  4. 免费的FTP linux 服务器中文,linux ftp服务器的搭建和中文字体乱码的解决
  5. html5哪个输入字段必填,HTML5:如何使用“required”属性和“radio”输入字段
  6. jface_使用JFace Viewer延迟获取模型元素
  7. mac java版本 不一致_mac实现不同版本的jdk切换
  8. 测试Markdown
  9. Qt Ctreator搭配VS2013调试——整合QML/C++调试需要的从属调试引擎无法被创建
  10. 用sysprep制作可以导入MDT的镜像
  11. CuteFTP9.0安装,破解,服务器传递文件。
  12. 当上拉加载更多即ion-content遇上slideBox的时候
  13. 一本通1325:【例7.4】 循环比赛日程表
  14. android scroller,高级UI第四十四篇:Android Scroller详解
  15. 微信自定义菜单和个性化菜单添加emoji表情(兼容ios和安卓,防止小方框)
  16. 京东网站页面编写(HTML、CSS、JS),包括京东秒杀的倒计时、轮播图等功能
  17. 删除苹果自带软件后果_苹果自带的音乐软件有多香?3个月试用期后我删了其它APP...
  18. 数据结构与算法(陈越版)第五讲 (树下)树的应用——集合及其运算
  19. 中级计算机职称哪个可以挂靠,2016年中级职称挂靠哪个证书更值钱?
  20. 2021/11/13

热门文章

  1. cesium实现二三维分屏地图同步效果
  2. PHP使用CURL抓取网页
  3. Android UI框架概览
  4. 【计算机网络】-TCP的连接建立
  5. LeetCode通关:栈和队列六连,匹配问题有绝招
  6. R232芯片IC检验
  7. 《物流配送中VRP问题的多目标优化方法研究》个人小结
  8. 图像融合之泊松编辑(Poisson Editing)(1):简略语言概述算法
  9. linux mysql 测试工具_LINUX系统下MySQL 压力测试工具super smack
  10. 【调剂】东北石油大学地球科学学院地震资料处理团队接受调剂研究生