5492| 9
|
[入门教程] “小鱼小鱼“IoT微型鱼缸 |
本帖最后由 安卓机器人 于 2022-8-16 15:16 编辑 "小鱼小鱼"IoT微型鱼缸 基于行空板多节点SIoT内网搭建&花生壳内网穿透 【背景引入】 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内网及花生壳内网穿透框架: 1、内网搭建方案一: 如上图所示棕黄色,Arduino+OBLOQ、micro:bit+micro:IoT、掌控板、行空板等四个节点连接家庭里无线WIFI,组成家庭局域网。其中行空板已安装SIoT,所以作为SIoT服务器。(本文采用本方案) 2、内网搭建方案二: 如上图所示绿色,Arduino+OBLOQ、micro:bit+micro:IoT、掌控板、等三个节点连接行空板发出的热点,也可组成家庭局域网。同上,其中行空板已安装SIoT,所以作为SIoT服务器。 【方案实现】 一、物联网内外网搭建 内网搭建方案一实现: (1)行空板节点作为SIoT服务器: 行空板先连接家庭路由器,方法之一如下: 按下图顺序观察到IP,说明已连接我家WIFI,则可开启SIoT。 联上路由器的行空板就可以不必用USB线连PC机。如下测试SIoT服务器运行: 行空板上的程序SIoT的MQTT设置如下: 除了你和我的IP地址不一样,其他相同。至此,行空板SIoT服务器节点搭建完成。行空板可发布光强、声强;订阅有大灯、水泵、喷雾器的开关指令等。 (2)micro:bit+micro:IoT 客户端节点配置: 最上面是我家庭WIFI,最下面是SIoT服务器(行空板)的IP。中间的自定义是发布空气中二氧化碳浓度,空气清洁度;订阅RGB_16LED灯指令。其他的你我都一样。 micro:bit,micro:IoT 小可爱,集成物联网和显示屏等功能。 (3)Arduino+OBLOQ客户端节点配置: 中间自定义仅仅发布鱼缸水温、水质TDS。 (4)掌控板客户端节点配置: 中间自定义是发布BME280的气温、气压、湿度、海拔等环境参数。还发布各种各样的指令(如:控制节点行空板的大灯开关、喷雾、水泵;控制节点Micro:bit+Micro:IoT的RGB16LED彩虹灯等) 3、内网穿透连接外网搭建方案一: 如上图所示,连接了家庭WIFI的PC机上安装花生壳软件,在软件上添加行空板SIoT服务器的映射,配置被访问内网设备行空板的相关信息 ,以及选择用作外网访问该映射的域名。以后,只要在有网络的地方,比如手机浏览器访问这个专用域名,就可以实现远程登录访问控制家庭的SIoT。手机安装花生壳软件,也可以随时随地开关访问域名。(本文采用本方案) 4、内网穿透连接外网搭建方案二: 如上图所示,连接了家庭WIFI的SIoT服务器行空板上安装花生壳软件,配置同PC机,同上。 内网穿透连接外网搭建方案一实现: PC、手机下载安装花生壳软件,注册、设置及访问如下: 手机花生壳APP映射: 二、物联网鱼缸具体实现 1、节点行空板服务器实现 器材: 改造喷雾器(加湿器) 这个5V加湿器通电后,采用点触开关:点一下直线喷雾不间断,再点一下则间断喷雾,最后点一下则停止喷雾。因此,可以利用程序控制继电器代替轻触开关。 把轻触开关接触点找准,分别焊接引线。 把2条引线分别插入继电器的COM,NO。5V通电,再用跳线短接(轻触)COM-NO,观察是否正常工作。 连线: 程序: 主要功能: 1、接收掌控板语音识别的指令,来控制大灯开关、增氧机开关、喷雾模式及开关。 2、发布环境光强ambient、声强值sound; 3、屏幕显示环境光强、声强;灯、增氧机、喷雾状态。 当然,由于内网已穿透,使用手机发布指令以远程控制家庭里的IoT鱼缸。 (可惜撤掉了微波运动传感器捕捉小鱼的运动次数!主要是因为隔水检测小鱼要调高灵敏度,这样家庭里的人员移动会干扰检测小鱼的游动次数) 2、节点micro:bit+micro:IoT实现 器材: 连线: 打掉RGB16LED中间板,只留环形板,固定在鱼缸上大灯上。 程序: 主要功能: 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) 3、节点Arduino+OBLOQ的实现 器材: 连线: 扩展板叠在DFRduino上方。专用线只需认准正负极位置就不会插错。 程序:(Mind+) 主要功能: OBLOQ联入SIoT网,发布鱼缸水温waterC,水质waterTDS。 函数是用于发布数据的外显提示-LED_P13的闪烁。因物联网速限制,发布数据间隔时间最好不少于2秒。 4、节点掌控板实现 器材: 连线: 程序: 节点作用类似“小度”、“天猫精灵”等。 主要功能: 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 【网页操作展示】 外网域名访问家庭内网SIoT:前面SIoT内网中用语音识别和语音合成发布指令,这里参看在Web网页页面操作查看、发送指令与接收各传感器数据。 大家懂的,免费的哈。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed