DFrJg7u8L0V 发表于 2019-6-12 19:47:27

K12物联网神器-SIoT(Arduino)

【Mind+】Arduino uno板-SIoT使用教程
一、SIoT简介SIoT是一个为中小学STEM教育定制的跨平台的开源MQTT服务器程序,S指科学(Science)、简单(Simple)的意思。SIoT重点关注物联网数据的收集和导出,是采集科学数据的最好选择之一。

那什么是物联网?什么又是MQTT呢?1.1 物联网物联网(Internet of Things,缩写IoT)是互联网的一个延伸,互联网的终端是计算机(PC、服务器),而物联网的终端是硬件设备,无论是家电、工业设备、汽车、监测仪器,所有这些终端都可以互联,可以总结为万物互联。


1.2 MQTT
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。


1.3 SIoT
SIoT为“虚谷物联”项目的核心软件,是为了帮助中小学生理解物联网原理,并且能够基于物联网技术开发各种创意应用。

二、安装运行
2.1 SIoT软件下载下载地址:https://mindplus.dfrobot.com.cn/siot根据自己电脑的系统,对应下载SIoT软件压缩包,例如Windows系统下载win32。
2.2 SIoT软件准备
      SIoT是一个绿色软件,将下载的压缩包解压并打开。    由于Mind+目前只支持Windows下Win7及以上版本,本篇教程将以SIoT_win32为例,讲述如何使用Mind+软件实现SIoT操作。2.3 Mind+软件下载Mind+是一款基于Scratch3.0开发的青少年编程软件,支持arduino、micro:bit、Uno板等各种开源硬件,只需要拖动图形化程序块即可完成编程,还可以使用python/c/c++等高级编程语言,让大家轻松体验创造的乐趣。下载地址:https://mindplus.cc* 本教程使用的是Mind+1.5.5版本软件。2.4 Mind+软件安装2.4.1 安装软件


双击下载的文件完成软件安装。
2.4.2 安装驱动 STEP1:打开Mind+软件,点击“教程”——“视频教程”打开教程。

         STEP2:打开“安装驱动”视频教程。

         STEP3:根据视频悬浮窗中的教程,一键安装驱动,这一步很重要!安装一次,一劳永逸!
三、快速入门
       本篇教程将以win10系统为例,通过几个简单的程序案例,以Arduino Uno主控板(后面简称Uno板)为智能终端,分别介绍在Mind+软件中实时模式和上传模式下如何运行SIoT。
3.1 实时模式      在实时模式下,按照是否连接Uno板,又可分为两种情况。
3.1.1 实时模式,不连接Uno板

      在实时模式下不连接Uno板时,SIoT平台可与软件界面的舞台互动。      项目案例:在SIoT平台输入消息,舞台角色说出消息内容

       项目实现步骤:如下STEP1-STEP9。如果是第一次使用SIoT,请严格按照以下步骤进行操作。
STEP1 运行SIoT系统

      双击运行SIoT_win.exe,可以看到一个黑色的CMD窗口。* 使用SIoT过程中一定不要关该窗口。STEP2 电脑连接WIFI
      将电脑连接到WIFI。* 提供WIFI的路由器或手机热点可以不连接互联网,因为使用SIoT实现物联网应用时,只需要使用路由器或手机热点建立一个局域网即可。
STEP3 获取电脑IP
       电脑每次连接WIFI,都会生成一个IP地址,每个IP地址对应的电脑都是唯一的。运行SIOT程序后会在电脑上建立一个SIOT服务器,其他设备要访问这个服务器,需要知道这个SIOT服务器所在电脑的IP地址。       获取电脑IP的方法有很多,可在网页上搜索到,下面我们来介绍其中一种简易操作方法,通过以下3步获取电脑IP。1、同时按下键盘上“WIN”+“R”,弹出如下运行窗口。

2、输入“cmd”,点击确定,弹出小黑框。


3、在小黑框中输入“ipconfig”,点击键盘“enter”,在小黑框中可以看到IP地址,如下图IP为192.168.9.191。


* 每次连接不同的WIFI,电脑的IP地址都可能会发生变化,需要通过上述方法重新获取。

STEP4 打开SIoT网页端

1、打开电脑浏览器,在网址栏输入在“STEP3”中获得的IP地址加上“:8080”,如:192.168.9.191:8080* “:” 需在在英文输入法下。
2、点击键盘enter键,打开即为SIoT网页端,如下图:


3、打不开怎么办?
       ■ 检查siot的小黑窗是否打开
       ■ 检查ip地址是否错误,如果有多个ip地址就一个一个尝试
       ■ 关闭网络防火墙
STEP5 登陆SIoT网页端

       账号:siot
       密码:dfrobot
       输入账号、密码后,点击“登陆”,登陆后页面如下:
* SIoT网页端账号、密码都是统一的。
STEP6 Mind+编程

       实现功能:在SIoT平台输入消息,舞台角色说出消息内容。1、打开Mind+软件(1.5.5及以上版本),选择“实时模式”:
2、点击“扩展”:

3、选择“网络服务”,点选“MQTT服务”后点击“返回”:
4、编写程序:



STEP7 运行程序

STEP8 在SIoT网页端查看消息

       打开SIoT网页端,点击“设备列表”,可以看到“项目ID”、“名称”对应为程序中自定义Topic_0的信息。

       点击“查看消息”,在弹出窗口中可以看到设备的MQTT消息记录:


       如上图,为程序中对Topic:“arduino/a”的消息记录,可看到消息内容和发送时间。
STEP9 项目功能实现:在SIoT平台输入消息,舞台角色说出消息内容

       例如:在“发送消息”栏发送“你好啊”,舞台角色对应说出“你好啊”。

       至此就完成了在Mind+实时模式下SIoT与舞台的互动啦,但是所谓物联网,不连接外部硬件设备到物联网平台,又怎么能体现出它的优势呢!所以接下来,让我们通过加入Uno板一起来体验SIoT对硬件的控制。
3.1.2 实时模式,连接Uno板       在Mind+实时模式下,连接Uno板时先选择扩展模块中的Arduino Uno板,连接成功后,SIoT平台可以采集Uno板上传感器的数据,也可以控制Uno板的声、光、动输出。       项目案例:在SIoT平台输入消息,控制点亮或熄灭Uno板的LED灯。

       项目实现步骤:STEP1-STEP8。
STEP1-5与3.1.1相同

STEP6 连接Uno板
       将Uno板通过USB线连接到电脑,在Mind+中“连接设备”下点击对应COM口。


STEP7 修改程序

1、在“扩展”中“主控板”下选择“Uno板”:2、程序修改如下:

STEP8 功能实现

       发送“on”,灯亮;发送“off”,灯灭。




3.2 上传模式

       想象一下,将Uno板应用在家庭物联网中:使用温度传感器进行测量房间内的温度,并将其与Uno板进行连接,并上传到SIoT中,结果将以数值与折线图的形式展现,便于主人监测数据。要如何用程序实现呢?       在3.1.2中,在Mind+实时模式下只能实时控制一块Uno板,如何在控制Uno板的同时进行温度测量呢?       Mind+的上传模式是一个很好的选择,让我们一起来学习如何实现。       实现步骤:STEP1-STEP8。       所需材料:Uno板,温度传感器,OBLOQ物联网模块(模块介绍详见4.3.2)。
* 因为Uno板在SIoT需要通过物联网采集数据,但是Uno板不具备物联网通讯功能,因此需要借助OBLOQ物联网模块。
STEP1-5与3.1.1相同

STEP6 Mind+软件设置

1、打开Mind+软件(1.5.5及以上版本),选择“上传模式”:

2、点击“扩展”,在“主控板”下选择“Uno板”:

3、点击“扩展”,在通信模块下选“OBLOQ物联网模块”:

STEP7硬件连线图

       OBLOQ模块:TX、RX、GND和VIN引脚分别连接到D10、D11、GND和VCC引脚。       温度传感器LM35:A0引脚。       可通过修改程序来自定义相关引脚。
STEP8编写程序

STEP9功能实现

       Uno板在下载完程序后,OBLOQ物联网模块指示灯显示为绿色,表示成功与Uno板连接成功正常工作。       * 程序运行时,若无法连接OBLOQ物联网模块(指示灯不为绿色),先检查参数有没有填错,例如ip错误、Topic中有没有斜杠,依旧无法连接的话,可尝试关闭电脑防火墙,重新上传程序;若依旧不成功需要查看OBLOQ模块的接线对应的管脚是否连接正确。       打开SIoT网页端,可以在“设备列表”下看到对应的Topic信息。


1、点击上图中“a”后的“查看消息”,可以看到温度传感器实时收集的温度值。

2、点击“b”后的查看消息

       在弹出窗口中发送消息“ON”,可以看到Uno板子的LED被点亮。

       同理,发送消息“OFF”,可以看到Uno板子的LED被点亮。


四、教程总结
4.1 SIoT操作流程汇总
4.2 物联网框图

       以路由器建立无线局域网为例,通过下面这张图可以说明SIoT的作用原理。       在一台电脑上建立SIoT服务器后,其他设备在知道路由器分配给这台电脑的IP地址后,可以利用WIFI访问SIoT服务器。这些设备可以是电脑、手机、Uno板等。


4.3 小贴士-服务器信息

4.3.1 服务器信息

       SIoT启动后,你的计算机就成为了一个标准的SIoT服务器,使用任何一款SIoT客户端程序就可以访问。       ■ 服务器地址:计算机局域网IP地址       ■ SIoT端口:1883       ■ 用户名:siot(小写)       ■ 默认密码:dfrobot(小写)       ■ 消息主题(Topic):项目名/设备名(可以自定义,中间的“/”为英文输入法且不可缺少。)       ■ Web管理地址:http://计算机IP:8080
4.3.2OBLOQ模块介绍

       OBLOQ是一款基于ESP8266设计的串口转WIFI物联网模块,用以接收和发送物联网信息。接口简单,即插即用,适用于3.3V~5V的控制系统。OBLOQ物联网模块当没有连接wifi的时候,OBLOQ指示灯显示红色,正在连接wifi时显示蓝色,连接到wifi后,OBLOQ指示灯显示绿色。       OBLOQ物联网模块引脚说明:



OBLOQ物联网模块在使用中的常见问题:
1)OBLOQ指示灯一直显示蓝色:
       表示OBLOQ正在连接wifi,需要一定时间,如果超过一分钟依然显示蓝灯,则可能为wifi账号密码设置错误,请检查程序 。
2)OBLOQ指示灯一直显示紫色:
      表示OBLOQ的wifi连接成功但是mqtt异常断开,尝试检查所在wifi是否断网,也有可能easyiot服务器问题,等待一会儿再连接或联系论坛管理员。
3)OBLOQ指示灯一直显示红色:
      表示OBLOQ的wifi连接不成功,尝试检查是否tx和rx接反了(调换一下tx和rx接线顺序),或者是wifi有问题(使用手机开热点,不要用中文WIFI名称),然后就是参数有没有填错(物联网网站里面的参数)。
4.4 更多创意

       本篇教程只是讲述了在Mind+中使用SIoT的操作步骤,利用SIoT还可以实现更多好玩的物联网项目,比如物联网浇花、智慧家庭、物联网数据采集、环境检测仪等等。DF创客社区中也有很多好玩的物联网项目,快去搜索发现吧!社区网址:www.dfrobot.com.cn

laai 发表于 2019-6-17 12:12:42

精化,好帖,占沙发!~

gada888 发表于 2019-7-11 11:19:48

值得认真研究

曾剑波 发表于 2019-8-25 16:20:05

值得学习一下。

丁新源 发表于 2019-12-15 19:26:45

感谢分享~

六月的雨 发表于 2020-3-28 20:43:33

谢谢分享,学习一下!

六月的雨 发表于 2020-4-4 13:04:21

很好的贴子!

Yee 发表于 2020-10-13 21:21:30

楼主,请问这里的变量N,能不能换成数字类型的变量啊。我发现如果换成数字类型的变量,后面obloq读取的那个模块装不上

gfeagleok 发表于 2020-11-25 15:04:06

真心感谢版主的分享

gfeagleok 发表于 2020-11-26 09:32:40

终于测试成功,再次感谢

EIMGOPwu45ZD 发表于 2022-12-21 00:10:18

请问 如何用电脑向arduino发送消息,并显示在lcd1602的屏幕上?
页: [1]
查看完整版本: K12物联网神器-SIoT(Arduino)