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,消息队列遥测传输协议)是一个基于客户端-服务器的消息发布/订阅传输协议。
1.3 SIoT
SIoT为“虚谷物联”项目的核心软件,是为了帮助中小学生理解物联网原理,并且能够基于物联网技术开发各种创意应用。
二、安装运行
2.1 SIoT软件下载
根据自己电脑的系统,对应下载SIoT软件压缩包,例如Windows系统建议下载win32。
2.2 SIoT软件准备
由于Mind+目前只支持Windows下Win7及以上版本,本篇教程将以SIoT_win32为例,讲述如何使用Mind+软件实现SIoT操作。
2.3 Mind+软件下载
Mind+是一款基于Scratch3.0开发的青少年编程软件,支持Arduino、micro:bit、掌控板等各种开源硬件,只需要拖动图形化程序块即可完成编程,还可以使用python/c/c++等高级编程语言,让大家轻松体验创造的乐趣。
下载地址:http://mindplus.cc
2.4 Mind+软件安装
2.4.1 安装软件
双击下载的文件完成软件安装。
2.4.2 安装驱动
STEP1:打开Mind+软件,点击“教程”——“视频教程”打开教程。
STEP2:打开“安装驱动”视频教程。
STEP3:根据视频悬浮窗中的教程,一键安装驱动,这一步很重要!安装一次,一劳永逸!
三、快速入门
本篇教程将以win10系统为例,通过几个简单的程序案例,以掌控板为智能终端,分别介绍在Mind+软件中实时模式和上传模式下如何运行SIoT。
3.1 实时模式
在实时模式下,按照是否连接掌控板,又可分为两种情况。
3.1.1 实时模式,不连接掌控板
在实时模式下不连接掌控板时,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.199.235。
* 每次连接不同的WIFI,电脑的IP地址都可能会发生变化,需要通过上述方法重新获取。
STEP4 打开SIoT网页端
1、打开电脑浏览器,在网址栏输入在“STEP3”中获得的IP地址加上“:8080”,如:192.168.199.235: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 运行程序
点击绿旗或主程序运行程序,可以看到角色会先说“OK”2秒,再说“hello”2秒。
说“OK”表示MQTT连接成功,说“hello”表示MQTT成功发送消息“hello”到Topic_0中。
STEP8 在SIoT网页端查看消息
打开SIoT网页端,点击“设备列表”,可以看到“项目ID”、“名称”对应为程序中自定义Topic_0的信息。
点击“查看消息”,在弹出窗口中可以看到设备的MQTT消息记录:
如上图,为程序中对Topic:“syj/1号”的消息记录,可看到消息内容和发送时间。
STEP9 项目功能实现:在SIoT平台输入消息,舞台角色说出消息内容
例如:在“发送消息”栏发送“你好啊”,舞台角色对应说出“你好啊”。
至此就完成了在Mind+实时模式下SIoT与舞台的互动啦,但是所谓物联网,不连接外部硬件设备到物联网平台,又怎么能体现出它的优势呢!所以接下来,让我们通过加入掌控板一起来体验SIoT对硬件的控制。
3.1.2 实时模式,连接掌控板
在Mind+实时模式下,加入掌控板,SIoT平台可以采集掌控板上传感器的数据,也可以控制掌控板的声、光、动输出。
项目案例:在SIoT平台输入消息,控制点亮或熄灭掌控板的LED灯。
项目实现步骤:STEP1-STEP8。
STEP1-5与3.1.1相同
STEP6 连接掌控板
将掌控板通过USB线连接到电脑,在Mind+中“连接设备”下点击对应COM口。
在连接设备前可看到提示“未连接设备” 。连接成功后,可看到对应COM口和提示“设备连接成功”。
STEP7 修改程序
1、在“扩展”中“主控板”下选择“掌控板”:
2、程序修改如下:
STEP8 功能实现
发送“on”,灯亮;发送“off”,灯灭。
3.2 上传模式
想象一下,将掌控板应用在家庭物联网中:主人将掌控板A放在客厅,控制蜂鸣器发出声音;掌控板B放在窗台负责收集室外噪音值,并上传到SIoT中,便于主人监测数据。要如何用程序实现呢?
在3.1.2中,在Mind+实时模式下只能实时控制一块掌控板,如何同时控制多个掌控板呢?
Mind+的上传模式是一个很好的选择,让我们一起来学习如何实现。
实现步骤:STEP1-STEP8。
所需材料:掌控板*2。
STEP1-5与3.1.1相同
STEP6 Mind+软件设置
1、打开Mind+软件(1.5.5及以上版本),选择“上传模式”:
2、点击“扩展”,在“主控板”下选择“掌控板”:
3、点击“扩展”,在网络服务下选“MQTT”和“WIFI”:
STEP7编写程序
掌控板A功能:发送消息“back”到Topic_0,蜂鸣器发出声音。
掌控板B:实时采集声音值上传到Topic_1中,并显示在掌控板屏幕上。
STEP8功能实现
两块掌控板在下载完程序后,都会在屏幕上依次显示“WIFI”、“MQTT”,表示成功连上SIoT平台。
* 程序运行时,若无法连接MQTT,先检查参数有没有填错,例如ip错误、Topic中没有斜杠,依旧无法连接的话,可尝试关闭电脑防火墙,重新上传程序。
打开SIoT网页端,可以在“设备列表”下看到对应的Topic信息。
1、点击上图中“data”后的“查看消息”,可以看到掌控板B实时收集的噪音值。
2、点击“voice”后的查看消息
在弹出窗口中输入消息“back”,可以听到掌控板A蜂鸣器发出声音。
四、教程总结
4.1 SIoT操作流程汇总
4.2 物联网框图
以路由器建立无线局域网为例,通过下面这张图可以说明SIoT的作用原理。
在一台电脑上建立SIoT服务器后,其他设备在知道路由器分配给这台电脑的IP地址后,可以利用WIFI访问SIoT服务器。这些设备可以是电脑、手机、掌控板等。
4.3 小贴士-服务器信息
SIoT启动后,你的计算机就成为了一个标准的SIoT服务器,使用任何一款SIoT客户端程序就可以访问。
■ 服务器地址:计算机局域网IP地址
■ SIoT端口:1883
■ 用户名:siot(小写)
■ 默认密码:dfrobot(小写)
■ 消息主题(Topic):项目名/设备名(可以自定义,中间的“/”为英文输入法且不可缺少。)
■ Web管理地址:http://计算机IP:8080
4.4 更多创意
本篇教程只是讲述了在Mind+中使用SIoT的操作步骤,利用SIoT还可以实现更多好玩的物联网项目,比如物联网浇花、智慧家庭、物联网数据采集、环境检测仪等等。