[入门教程]“小鱼小鱼“IoT微型鱼缸 精华

5492浏览
查看: 5492|回复: 9

[入门教程] “小鱼小鱼“IoT微型鱼缸

[复制链接]
本帖最后由 安卓机器人 于 2022-8-16 15:16 编辑

"小鱼小鱼"IoT微型鱼缸
基于行空板多节点SIoT内网搭建&花生壳内网穿透
“小鱼小鱼“IoT微型鱼缸图43



【背景引入】
SIoT简介:
1. 什么是IoT?
Internet of Things,缩写IoT(物联网),它是互联网的一条延伸,互联网的终端是计算机(PC、服务器),而物联网的终端是硬件设备,无论是家电、工业设备、汽车、监测仪器,所有这些终端都可以互联,可以总结为万物互联。
2. 什么是SIoT?
SIoT是专为中小学STEAM教育定制的跨平台的开源MQTT服务器程序,S指科学(Science)、简单(Simple)的意思。SIoT重点关注物联网数据的收集和导出,是采集科学数据的最好选择之一。(MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。)
SIoT为“虚谷物联”项目的核心软件,可一键创建本地物联网服务器,摆脱联网困扰。是为了帮助中小学生理解物联网原理,与Mind+结合可以让小学生到高中生都可以轻松上手,能够基于物联网技术开发各种创意应用。
那么,我们可以在本地访问SIoT内网,也可以随时随地远程访问到我们的SIoT,怎么办呢?这就是本文主旨。

【学习目标】
1、SIoT多节点的内网搭建方法
2、花生壳内网穿透的设置方法
3、各种传感器、执行器的使用方法
4、各节点独自功能分配(程序分工)、相互通讯调试

【重点难点】
重点:
1、SIoT多节点的内网搭建方法
2、花生壳内网穿透的设置方法
难点:
1、各节点之间相互协调通讯的代码调试

【教学准备】
资料:
DF创客社区
软件:
Mind+、花生壳客户端
硬件:
智能手机、PC机、行空板+micro:bit/掌控板IO扩展板、掌控板+micro:bit/掌控板IO扩展板、micro:bit+micro:IoT、DFRduino+双电机IO扩展板、语音识别和语音合成模块、BME280、CCS811、MLX90614、TDS、OBLOQ、继电器*3、RGB-16LED、简易加湿器、微型鱼缸套件等。


【方案介绍】
花生壳简介:
1. 什么是内网穿透?
内网,就是在公司或者家庭内部,建立的局域网络或者是办公网络,可以实现多台电脑之间的资源共享,包括设备、资料、数据等。而外网则是通过一个网关与其它的网络系统连接,相对于内网而言,这种网络系统称之为外部网络,常见的就是我们日常使用的互联网。
一般而言,在没有固定公网IP的情况下,外网设备无法直接访问内网设备。而内网穿透技术,顾名思义就是能让外网的设备找到处于内网的设备,从而实现数据通信。
2. 如何实现内网穿透?
我们可以安装花生壳内网穿透软件,在软件上添加映射时,配置被访问内网设备的相关信息 ,以及选择用作外网访问该映射的域名。当映射诊断信息提示连接成功时,即可实现内网穿透。利用花生壳的内网穿透技术,外网的设备通过访问固定域名,连接花生壳服务器所搭建的通道,顺畅地与内网设备进行数据通信。

搭建SIoT内网及花生壳内网穿透框架:

“小鱼小鱼“IoT微型鱼缸图1
1、内网搭建方案一:
如上图所示棕黄色,Arduino+OBLOQ、micro:bit+micro:IoT、掌控板、行空板等四个节点连接家庭里无线WIFI,组成家庭局域网。其中行空板已安装SIoT,所以作为SIoT服务器。(本文采用本方案)
2、内网搭建方案二:
如上图所示绿色,Arduino+OBLOQ、micro:bit+micro:IoT、掌控板、等三个节点连接行空板发出的热点,也可组成家庭局域网。同上,其中行空板已安装SIoT,所以作为SIoT服务器。

方案实现
一、物联网内外网搭建
内网搭建方案一实现:
(1)行空板节点作为SIoT服务器:
行空板先连接家庭路由器,方法之一如下:

按下图顺序观察到IP,说明已连接我家WIFI,则可开启SIoT。
“小鱼小鱼“IoT微型鱼缸图2

联上路由器的行空板就可以不必用USB线连PC机。如下测试SIoT服务器运行:

行空板上的程序SIoT的MQTT设置如下:
除了你和我的IP地址不一样,其他相同。至此,行空板SIoT服务器节点搭建完成。行空板可发布光强、声强;订阅有大灯、水泵、喷雾器的开关指令等。
“小鱼小鱼“IoT微型鱼缸图3

(2)micro:bit+micro:IoT 客户端节点配置:
最上面是我家庭WIFI,最下面是SIoT服务器(行空板)的IP。中间的自定义是发布空气中二氧化碳浓度,空气清洁度;订阅RGB_16LED灯指令。其他的你我都一样。
“小鱼小鱼“IoT微型鱼缸图4

micro:bit,micro:IoT 小可爱,集成物联网和显示屏等功能。
“小鱼小鱼“IoT微型鱼缸图5

(3)Arduino+OBLOQ客户端节点配置:
中间自定义仅仅发布鱼缸水温、水质TDS。
“小鱼小鱼“IoT微型鱼缸图6

(4)掌控板客户端节点配置:
中间自定义是发布BME280的气温、气压、湿度、海拔等环境参数。还发布各种各样的指令(如:控制节点行空板的大灯开关、喷雾、水泵;控制节点Micro:bit+Micro:IoT的RGB16LED彩虹灯等)
“小鱼小鱼“IoT微型鱼缸图21

3、内网穿透连接外网搭建方案一:
如上图所示,连接了家庭WIFI的PC机上安装花生壳软件,在软件上添加行空板SIoT服务器的映射,配置被访问内网设备行空板的相关信息 ,以及选择用作外网访问该映射的域名。以后,只要在有网络的地方,比如手机浏览器访问这个专用域名,就可以实现远程登录访问控制家庭的SIoT。手机安装花生壳软件,也可以随时随地开关访问域名。(本文采用本方案)
4、内网穿透连接外网搭建方案二:
如上图所示,连接了家庭WIFI的SIoT服务器行空板上安装花生壳软件,配置同PC机,同上。

内网穿透连接外网搭建方案一实现:

PC、手机下载安装花生壳软件,注册、设置及访问如下:
“小鱼小鱼“IoT微型鱼缸图12

“小鱼小鱼“IoT微型鱼缸图11

“小鱼小鱼“IoT微型鱼缸图10

“小鱼小鱼“IoT微型鱼缸图8

“小鱼小鱼“IoT微型鱼缸图7


手机花生壳APP映射:

“小鱼小鱼“IoT微型鱼缸图9



二、物联网鱼缸具体实现

1、节点行空板服务器实现
器材:
“小鱼小鱼“IoT微型鱼缸图25

改造喷雾器(加湿器)
这个5V加湿器通电后,采用点触开关:点一下直线喷雾不间断,再点一下则间断喷雾,最后点一下则停止喷雾。因此,可以利用程序控制继电器代替轻触开关。
“小鱼小鱼“IoT微型鱼缸图27

把轻触开关接触点找准,分别焊接引线。
“小鱼小鱼“IoT微型鱼缸图34

把2条引线分别插入继电器的COM,NO。5V通电,再用跳线短接(轻触)COM-NO,观察是否正常工作。
“小鱼小鱼“IoT微型鱼缸图26

5V增氧机和5V大灯处理一样。如:把大灯的2条电源线中一条切断,两个断头分别插入继电器的COM、NO,压紧即可。

连线:
“小鱼小鱼“IoT微型鱼缸图29

“小鱼小鱼“IoT微型鱼缸图31

程序:
主要功能:
1、接收掌控板语音识别的指令,来控制大灯开关、增氧机开关、喷雾模式及开关。
2、发布环境光强ambient、声强值sound;
3、屏幕显示环境光强、声强;灯、增氧机、喷雾状态。
当然,由于内网已穿透,使用手机发布指令以远程控制家庭里的IoT鱼缸。
(可惜撤掉了微波运动传感器捕捉小鱼的运动次数!主要是因为隔水检测小鱼要调高灵敏度,这样家庭里的人员移动会干扰检测小鱼的游动次数)
“小鱼小鱼“IoT微型鱼缸图28

2、节点micro:bit+micro:IoT实现
器材:
“小鱼小鱼“IoT微型鱼缸图16
连线:
“小鱼小鱼“IoT微型鱼缸图17

打掉RGB16LED中间板,只留环形板,固定在鱼缸上大灯上。
“小鱼小鱼“IoT微型鱼缸图20

“小鱼小鱼“IoT微型鱼缸图30
程序:
主要功能:
1、发布空气中二氧化碳浓度CO2,空气清洁度TVOC,同时micro:IoT扩展板0号、1号LED蓝光快闪提示
2、订阅RGB_16LED灯指令。如:接收到 rb 则16LED滚动彩虹(rainbow)色效果;接收到 r 则纯红色;接收到 b 则纯蓝色;接收到 c 则关灯,同时micro:IoT扩展板2号LED绿光快闪提示。函数LED( )即为专门处理RGB-16LED。
3、LED屏刷新显示CO2值、TVOC值、16LED彩灯的状态(rb,r,b,c)
“小鱼小鱼“IoT微型鱼缸图18
“小鱼小鱼“IoT微型鱼缸图19

3、节点Arduino+OBLOQ的实现
器材:
“小鱼小鱼“IoT微型鱼缸图13

连线:
扩展板叠在DFRduino上方。专用线只需认准正负极位置就不会插错。
“小鱼小鱼“IoT微型鱼缸图14

“小鱼小鱼“IoT微型鱼缸图32

程序:(Mind+)
主要功能:
OBLOQ联入SIoT网,发布鱼缸水温waterC,水质waterTDS。
函数是用于发布数据的外显提示-LED_P13的闪烁。因物联网速限制,发布数据间隔时间最好不少于2秒。
“小鱼小鱼“IoT微型鱼缸图15


4、节点掌控板实现
器材:
“小鱼小鱼“IoT微型鱼缸图24
连线:
“小鱼小鱼“IoT微型鱼缸图23
“小鱼小鱼“IoT微型鱼缸图33

“小鱼小鱼“IoT微型鱼缸图35

程序:
节点作用类似“小度”、“天猫精灵”等。
主要功能:
1、发布BME280传感器所测环境气温tempC、湿度rh、气压Pa、海拔ASL
2、语音识别+语音合成播报“环境状态”
3、语音识别+语音合成发布给行空板节点的控制信息:开关大灯L1 L0、开关增氧机M1 M0、直线喷雾S1、间隔喷雾S2、停止喷雾S0等
4、语音识别+语音合成发布给micro:bit+micro:IoT节点的控制信息:启动彩虹灯rb、点亮红灯r、点亮蓝灯b、关闭彩灯c
5、掌控板LED屏刷新显示环境气温tempC、湿度rh、气压Pa、海拔ASL
“小鱼小鱼“IoT微型鱼缸图22

【网页操作展示】
外网域名访问家庭内网SIoT:
前面SIoT内网中用语音识别和语音合成发布指令,这里参看在Web网页页面操作查看、发送指令与接收各传感器数据。
家庭里注册的花生壳软件保持在线,花生壳软件为您生成的域名,大概形如 https://XXXXXXX.zicp.fun/html/ ,在PC机或手机浏览器上登录,即可远程访问与控制。

“小鱼小鱼“IoT微型鱼缸图42

“小鱼小鱼“IoT微型鱼缸图41

“小鱼小鱼“IoT微型鱼缸图40

“小鱼小鱼“IoT微型鱼缸图39

“小鱼小鱼“IoT微型鱼缸图37

“小鱼小鱼“IoT微型鱼缸图38

“小鱼小鱼“IoT微型鱼缸图36
大家懂的,免费的哈。

【视频展示】


【参考n】......

FMTU.jpg

俺是胡胡  初级技师

发表于 2022-8-13 08:56:55

棒棒棒                        
回复

举报

安卓机器人  中级技神
 楼主|

发表于 2023-1-1 20:29:13


元旦快乐,趣玩去玩
回复

举报

三春牛-创客  初级技神

发表于 2023-1-8 08:43:08

厉害厉害
回复

举报

三春牛-创客  初级技神

发表于 2023-1-8 08:44:43

赞!   
回复

举报

三春牛-创客  初级技神

发表于 2023-1-8 08:46:14

有创意!
回复

举报

许培享  中级技神

发表于 2023-1-10 14:55:31


三剑客好玩不错
回复

举报

无语的无语  见习技师

发表于 2023-11-1 17:45:04

很厉害的想法,做的很好
回复

举报

刘睿鹏  初级技师

发表于 2024-6-2 14:06:42

有用
回复

举报

刘睿鹏  初级技师

发表于 2024-9-6 09:49:41

根据我的经验,鱼一般是热死的
回复

举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail