热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

物联网应用实战之NodeRED初体验(基于SenseCAP的解决方案)

今天来到深圳参加深圳柴火创客空间的物联网应用实战课程,收获颇丰,回到住处后,我打算把今天所学的内容好好地整理整理。学习物联网一定要知道的基础知识物联网的数据从哪里来?怎么展示传感

今天来到深圳参加深圳柴火创客空间的物联网应用实战课程,收获颇丰,回到住处后,我打算把今天所学的内容好好地整理整理。

  1. 学习物联网一定要知道的基础知识
  2. 物联网的数据从哪里来?
  3. 怎么展示传感器接收上来的数据?

在这里插入图片描述

1. 学习物联网一定要知道的基础知识

什么是物联网?

物联网其实也是互联网,它是物物相连的互联网

物联网的发展

如果要追根溯源,那我们应该找到最早跟通信有关的技术:

  • 1832年,俄国的希林男爵创造了电磁电报机
  • 1833年,两位科学家发明了一套通讯码,使用电磁电报机进行1200m距离的通信
  • 1844年,发送了第一条摩斯码的公共电报消息

人们有通信的需求,所以发明了电报,为了实现更远距离的传输,人们逐渐发展出了互联网:

  • 1969年,Arpanet阿帕网诞生,它是世界上第一个计算机网络
  • 1982年,一群大学生为了知道冰柜里的可乐有没有冰好,于是在可乐售卖机里实现了类似物联网的功能
  • 1990年,john Pomkey的联网烤面包机被视为第一台物联网设备,接入了internet

就这样,物联网慢慢地走进我们的生活:

  • 2008年,物联网设备总数超过人类总数
  • 2010年,中国将物联网作为重点产业
  • 2014年,亚马逊推出了智能音箱
  • … …

物联网的应用场景

物联网的应用场景非常广泛:

  • 物流(查询包裹)
  • 零售(无人超市)
  • 身份识别(身份证)
  • 防伪(二维码)
  • 交通(ETC)
  • 动物(定位)
  • … …

物联网的关键技术

就像互联网的七层结构一样,物联网有三层,从上往下,分别是:

  • 应用层
  • 网络层
  • 感知层

在这里插入图片描述

应用层

提供丰富的基于物联网的应用,是物联网发展的根本目标,将物联网技术与行业信息化需求相结合,实现广泛智能化应用的解决方案集,关键在于行业融合、信息资源的开发利用、低成本高质量的解决方案、信息安全的保障以及有效的商业模式的开发。

数据处理


云计算

云计算其实是分布式计算的一种,可以对大量的数据做快速的处理

边缘计算

所谓边缘,就是在靠近物或数据源头的一侧,就近提供服务

对于数据实时性要求比较高的话,可以先使用边缘计算做处理

数据存储


云存储

云存储也就是把数据存到云服务器上

时序数据库

时序数据库主要指处理带时间标签的数据即时间序列数据

物联网操作系统

操作系统是位于计算机硬件和应用程序中间的系统软件,用于管理硬件和软件资源

数据传输通讯协议


  • REST/HTTP

  • CoAP协议

  • MQTT协议


网络层

网络层主要实现信息的传递、路由和控制,网络层可依托公众电信2网和互联网,也可以依托行业专用通信网络。

网络层主要有四类通讯协议:

近距离无线通信


  • 无线射频识别 RFID
  • 近场通信 NFC
  • 蓝牙
  • 蓝牙 MESH
  • 红外

远距离无线通信


  • WIFI
  • Zigbee
  • LoRa

有线通讯


  • 以太网
  • M-Bus
  • PLC
  • USB
  • RS232
  • RS485

远距离蜂窝通信


  • 1/2/3/4/5G
  • NB-IOT

感知层

实现对物理世界的感知识别、信息采集处理和自动控制,并通过通信模块将物理实体连接到网络层和应用层。

条形码

把信息做成条码,然后用相应的扫描设备把信息 读取出来

RFID

RFID即射频识别,俗称电子标签,它由3部分组成:

  • 标签
  • 天线(在标签和读取器间传递射频信号)
  • 感应式读写器

传感器技术

传感器其实就是将被测指标转换成电信号的器件或装置

2. 物联网的数据从哪里来?

物联网的数据当然从传感器上来,当然,做传感器的厂家非常多,这里选择了Seeed的传感器作为数据源

这是一套工业级的传感器解决方案,摆上官网链接:
https://www.seeedstudio.com.cn/sensecap-platform/

这是它的物联网网关:
在这里插入图片描述
接入SenseCAP平台后就可以查看数据了:
在这里插入图片描述

还可以把数据导出来:
在这里插入图片描述
这里是五个传感器,分别是:

  • 空气温度
  • 空气湿度
  • 大气压力
  • 土壤温度
  • 土壤湿度

具体的配置方法很简单,这里就不多说了,我们重点看Node-RED的使用

也就是将采集到的数据充分利用起来的方法

3. 怎么展示传感器接收上来的数据?

首先是安装Node-RED,安装的方法网上有很多,这里就不一一讲解了。

Node-RED其实就是一个服务端,是一个图形化的操作界面,用起来还是很简单的。

当然,我们可以选择在本地安装,当然也可以在树莓派上使用它,又或者是使用云服务器去开Node-RED服务。

这里我在云服务器里开服务,选择的是阿里云的服务器,用什么服务器都一样,区别不大 :
在这里插入图片描述
出现以下信息就说明已经开启成功了:

这时我们就可以去访问这个服务端了(服务器的IP地址+端口号1880):
http://101.201.181.229:1880/

进去后的界面是这样子的:
在这里插入图片描述

下面就开始用Node-RED搭建一个物联网服务

使用Node-RED搭建一个物联网服务


物联网服务的搭建

Node-RED既可以做服务端,又可以做客户端

服务端的搭建

在搭建的时候,我们心里先要有一个基本流程:

  • 先创建Web服务的HTTP端点
  • 配置界面的内容即模板template
  • 相应请求,发送界面

那下面就好办了,就像一个流程图:
在这里插入图片描述
下面我们只需要配置一下各自的属性即可:
在这里插入图片描述
双击节点即可打开配置界面,这里我们给http in配置URL地址:
在这里插入图片描述
点击完成,节点将会如下显示:
在这里插入图片描述

类似的,我们双击模板节点进行配置:
在这里插入图片描述
非常简单的HTML代码:

<html><head></head><body><h1>Hello World!</h1></body>
</html>

下面我们点击右上角的部署:
在这里插入图片描述
尝试进入我们刚刚配置的页面:
http://101.201.181.229:1880/hello

效果如下:
在这里插入图片描述
一个简单的服务端就已经配置好了,这里可以尝试修改模板,增加一些图片,如果你是前端小白,可以参考下面这个教程:

https://www.w3cschool.cn/html/html-basic.html

客户端的搭建

思路是用http request节点获取上面服务器端的页面:
在这里插入图片描述

这里我们使用inject节点发送数据:
在这里插入图片描述
这里尝试发送时间戳,然后在http请求里配置刚刚写好的服务端的地址:
在这里插入图片描述

点击部署以后,就可以看到请求的文本了:
在这里插入图片描述

数据的接收与发送


数据的接收

最常见的接收数据方式是直接在URL地址里填上数据,也就是http get模式请求,以"?“字符为起点,每个参数用”&“分开,再用”&#61;"分开参数名称与数据。

这里我们直接配置http in节点:
在这里插入图片描述
下面我们在URL地址里传一个参数name:
http://101.201.181.229:1880/query?name&#61;zbp

回车后,在debug的界面里:
在这里插入图片描述
输出的就是URL地址里的数据

当然,我们也可以更加完善一下,毕竟有可能传的参数很多,所以我们加一个模板:
在这里插入图片描述
在模板里做如下配置:
在这里插入图片描述

<html><head></head><body><p>My name is {{payload.name}}</p><p>I&#39;m very {{payload.mood}}</p></body>
</html>

接着再来部署并请求一下:
http://101.201.181.229:1880/query?name&#61;zbp&mood&#61;happy

结果如下:
在这里插入图片描述
调试界面的输出:
在这里插入图片描述

数据的发送

数据的发送其实跟前面客户端比较类似:
在这里插入图片描述
假设我要发送的数据是123:
在这里插入图片描述
然后http请求配置前面的服务端:
在这里插入图片描述
点击inject节点左边的方块,就可以发送数据了,当然,也可以配置该节点自动发送数据:
在这里插入图片描述
更详细的调试信息:
在这里插入图片描述

获取SenceCap MQTT数据


接收所有设备的遥测数据

这里我们新建MQTT节点:
在这里插入图片描述
先在里面添加mqtt-broker节点:
在这里插入图片描述
在这里插入图片描述
然后配置主题:
在这里插入图片描述
具体操作过程:

-------双击mqtt in------
服务端&#xff1a;sensecap-openstream.seeed.cn
端口&#xff1a;1883

客户端ID&#xff1a;
格式为org--, 可以在您的后台Organization页面中获取, 使用您自己随机生成的数字和小写字母。

比如我的是:
org-18574789748992-x
后面的x是我自己随便取的&#xff0c;建议大家取自己的名字拼音&#xff0c;这样不会弄混

--------点击“安全“&#xff0c;编辑安全选项------
点击“安全“&#xff0c;编辑安全选项
用户名&#xff1a;
格式为org-&#xff0c;可以在您的后台Organization中获取,也可以在“安全” - “API访问密钥中获取”
可以直接使用柴火的用户名&#xff1a;
org-18574789748992

密码&#xff1a;
在“安全” - “API访问密钥中”获取&#xff0c;点击相应的密钥id&#xff0c;才能获取到“密码”

配置完成后,我们添加一个debug节点:
在这里插入图片描述
这样就能在调试窗口就可以看到传感器传回的数据了:
在这里插入图片描述
以上就是今天的全部内容,明天将详细讲解一下数据处理部分


推荐阅读
  • 解决Sharepoint 2013运行状况分析出现的“一个或多个服务器未响应”问题的方法
    本文介绍了解决Sharepoint 2013运行状况分析中出现的“一个或多个服务器未响应”问题的方法。对于有高要求的客户来说,系统检测问题的存在是不可接受的。文章详细描述了解决该问题的步骤,包括删除服务器、处理分布式缓存留下的记录以及使用代码等方法。同时还提供了相关关键词和错误提示信息,以帮助读者更好地理解和解决该问题。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • HTML学习02 图像标签的使用和属性
    本文介绍了HTML中图像标签的使用和属性,包括定义图像、定义图像地图、使用源属性和替换文本属性。同时提供了相关实例和注意事项,帮助读者更好地理解和应用图像标签。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
author-avatar
mobiledu2502894873
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有