今天来到深圳参加深圳柴火创客空间的物联网应用实战课程,收获颇丰,回到住处后,我打算把今天所学的内容好好地整理整理。
物联网其实也是互联网,它是物物相连的互联网
如果要追根溯源,那我们应该找到最早跟通信有关的技术:
人们有通信的需求,所以发明了电报,为了实现更远距离的传输,人们逐渐发展出了互联网:
就这样,物联网慢慢地走进我们的生活:
物联网的应用场景非常广泛:
就像互联网的七层结构一样,物联网有三层,从上往下,分别是:
提供丰富的基于物联网的应用,是物联网发展的根本目标,将物联网技术与行业信息化需求相结合,实现广泛智能化应用的解决方案集,关键在于行业融合、信息资源的开发利用、低成本高质量的解决方案、信息安全的保障以及有效的商业模式的开发。
云计算其实是分布式计算的一种,可以对大量的数据做快速的处理
所谓边缘,就是在靠近物或数据源头的一侧,就近提供服务
对于数据实时性要求比较高的话,可以先使用边缘计算做处理
云存储也就是把数据存到云服务器上
时序数据库主要指处理带时间标签的数据即时间序列数据
操作系统是位于计算机硬件和应用程序中间的系统软件,用于管理硬件和软件资源
REST/HTTP
CoAP协议
MQTT协议
网络层主要实现信息的传递、路由和控制,网络层可依托公众电信2网和互联网,也可以依托行业专用通信网络。
网络层主要有四类通讯协议:
实现对物理世界的感知识别、信息采集处理和自动控制,并通过通信模块将物理实体连接到网络层和应用层。
把信息做成条码,然后用相应的扫描设备把信息 读取出来
RFID即射频识别,俗称电子标签,它由3部分组成:
传感器其实就是将被测指标转换成电信号的器件或装置
物联网的数据当然从传感器上来,当然,做传感器的厂家非常多,这里选择了Seeed的传感器作为数据源
这是一套工业级的传感器解决方案,摆上官网链接:
https://www.seeedstudio.com.cn/sensecap-platform/
这是它的物联网网关:
接入SenseCAP平台后就可以查看数据了:
具体的配置方法很简单,这里就不多说了,我们重点看Node-RED的使用
也就是将采集到的数据充分利用起来的方法
首先是安装Node-RED,安装的方法网上有很多,这里就不一一讲解了。
Node-RED其实就是一个服务端,是一个图形化的操作界面,用起来还是很简单的。
当然,我们可以选择在本地安装,当然也可以在树莓派上使用它,又或者是使用云服务器去开Node-RED服务。
这里我在云服务器里开服务,选择的是阿里云的服务器,用什么服务器都一样,区别不大 :
出现以下信息就说明已经开启成功了:
这时我们就可以去访问这个服务端了(服务器的IP地址+端口号1880):
http://101.201.181.229:1880/
下面就开始用Node-RED搭建一个物联网服务
Node-RED既可以做服务端,又可以做客户端
在搭建的时候,我们心里先要有一个基本流程:
那下面就好办了,就像一个流程图:
下面我们只需要配置一下各自的属性即可:
双击节点即可打开配置界面,这里我们给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模式请求,以"?“字符为起点,每个参数用”&“分开,再用”="分开参数名称与数据。
这里我们直接配置http in节点:
下面我们在URL地址里传一个参数name:
http://101.201.181.229:1880/query?name=zbp
回车后,在debug的界面里:
输出的就是URL地址里的数据
当然,我们也可以更加完善一下,毕竟有可能传的参数很多,所以我们加一个模板:
在模板里做如下配置:
<html>
<head></head>
<body>
<p>My name is {{payload.name}}</p>
<p>I'm very {{payload.mood}}</p>
</body>
</html>
接着再来部署并请求一下:
http://101.201.181.229:1880/query?name=zbp&mood=happy
数据的发送其实跟前面客户端比较类似:
假设我要发送的数据是123:
然后http请求配置前面的服务端:
点击inject节点左边的方块,就可以发送数据了,当然,也可以配置该节点自动发送数据:
更详细的调试信息:
这里我们新建MQTT节点:
先在里面添加mqtt-broker节点:
然后配置主题:
具体操作过程:
-------双击mqtt in------
服务端:sensecap-openstream.seeed.cn
端口:1883
客户端ID:
格式为org--, 可以在您的后台Organization页面中获取, 使用您自己随机生成的数字和小写字母。
比如我的是:
org-18574789748992-x
后面的x是我自己随便取的,建议大家取自己的名字拼音,这样不会弄混
--------点击“安全“,编辑安全选项------
点击“安全“,编辑安全选项
用户名:
格式为org-,可以在您的后台Organization中获取,也可以在“安全” - “API访问密钥中获取”
可以直接使用柴火的用户名:
org-18574789748992
密码:
在“安全” - “API访问密钥中”获取,点击相应的密钥id,才能获取到“密码”
配置完成后,我们添加一个debug节点:
这样就能在调试窗口就可以看到传感器传回的数据了:
以上就是今天的全部内容,明天将详细讲解一下数据处理部分