kunphy 发表于 2021-7-11 21:15:36

【uno】试用WIFI IoT模块收集传感器数据

# **一、SIoT介绍**

***SIoT是一个跨平台的开源MQTT服务器程序,S指科学(Science)、简单(Simple)的意思。SIoT重点关注物联网数据的收集和导出,是采集科学数据的最好选择之一。本文中我们将使用SIoT在本地建立MQTT服务器。***



## **1.1 物联网**

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

​               

​               

## **1.2 MQTT**

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





# **二、WiFi IoT Module介绍**

***WiFi IoT Module是一款支持多种编程平台,多种物联网平台的WiFi模块。它支持micro:bit、Arduino、STM32等多种开发板,MakeCode、Mind+、Arduino IDE等多种编程环境;支持Easy IoT、IFTTT、ThingSpeak、ONENET、SIOT、BeeBotte等多种流行的物联网平台。***

***WiFi IoT Module采用极其易用的Gravity接口,支持UART和I2C通信协议。不论是课堂IoT教学,还是家电的物联网改装,选用WiFi IoT Module都是非常好的方案*。**


​         

# 三、MQ7介绍

***MQ7是一种简单易用的一氧化碳(CO)传感器,适用于检测空气中的CO浓度。 它可以检测20到2000ppm之间的CO气体浓度。 可以通过电位计调节灵敏度。***

***通过湿度触控传感器检测水分开关。 警告:连接器不防水,请注意不要将传感器直接放在水中***




# 四、项目介绍

***通过在SIOT平台发送“see”指令,将MQ7一氧化碳传感器监测的CO气体浓度发送到SIOT平台,监控传感器的数据。***

### 4.1 硬件准备

- ***1 x WiFi IoT module***
- ***1 x MQ7***
- ***1 x Arduino uno控制板***
- ***若干 连接线***

​            

### 4.2 软件准备

***SIoT软件下载***

***下载地址:https://mindplus.dfrobot.com.cn/siot***

***根据自己电脑的系统,对应下载SIoT软件压缩包,例如Windows系统下载win32。***

- ***SIOT是一个绿色软件,无需安装,将下载的压缩包解压并打开。***
***!(https://img.dfrobot.com.cn/wiki/none/fe07d365af5701ad002d3e549d9bc6db.png)***

- ***将电脑通过WiFi或者网线连接到局域网。获取电脑IP地址***
***电脑每次连接WiFi,都会生成一个IP地址,每个IP地址对应的电脑都是唯一的。运行SIOT程序后会在电脑上建立一个SIOT服务器,其他设备要访问这个服务器,需要知道这个SIOT服务器所在电脑的IP地址。具体方法如下: ·1. 同时按下键盘上“WIN”+“R”,弹出运行窗口。***               

- ***在命令窗口中输入“ipconfig”,点击键盘“enter”,可以看到IP地址***

- ***打开电脑浏览器,在网址栏输入获得的IP地址加上“:8080”***

- ***点击键盘enter键,打开即为SIOT网页端,如下图:***

- **登录SIOT网页端**

**账号:siot **

***密码:dfrobot***      

### 4.3 基于Arduino IDE 编程

- ***WiFi IoT Module 库文件下载地址:https://github.com/DFRobot/DFRobot_WiFi_IoT_Module***

- ***库文件加载方法:https://mc.dfrobot.com.cn/thread-1854-1-1.html#pid6955***

​      

- ***程序示例***

```c
#include <UNO_Obloq.h>
#include <SoftwareSerial.h>

// 动态变量
String read;
volatile float co;

// 静态常量
// 创建主题
const String topics = {"MQ7","service","","",""};
//配置WiFi名字和密码和IP
const char *WIFI_SSID= "hitest";
const char *WIFI_PASSWORD = "12345678";
const char *IP = "192.168.1.2";

// 创建对象
UNO_Obloq olq;
SoftwareSerial softSerial(2, 3);

// 主程序开始
void setup() {
      softSerial.begin(9600);
    // 参数
      olq.startConnect(&softSerial, WIFI_SSID, WIFI_PASSWORD, "siot", "dfrobot", topics, IP, 1883);
}

void loop() {
      co = analogRead(A0);
      if ((olq.available(olq.topic_0))) {
                read = olq.getMessage(olq.topic_0);
                if (((String(read).indexOf(String("see")) != -1))) {
                        olq.publish(olq.topic_1, co);
                }
      }
}
```

- ***接线***

​    ***WiFi IoT模块:TX、RX、GND和VCC引脚分别连接到3、2、GND和5V引脚。***

​    ***一氧化碳co传感器MP7:A0引脚。***

​    ***可通过修改程序更改接线***

​                     

​               

### 4.4 结果呈现

***Uno板在下载完程序后,WiFi IoT物联网模块指示灯显示为绿色,表示成功与Uno板连接成功正常工作。***

- ***打开SIoT网页端,可以在“设备列表”下看到对应的Topic信息。上述代码为service***

!(https://imagemc.dfrobot.com.cn/data/attachment/forum/201906/12/190501or7ybg9ys7n6yu6v.png)

- ***点击上图“查看消息”,可以看到传感器实时收集的数据***



- ***点击发送消息,给Topic0(MQ7)发送消息“see”,即可在service消息中看到数据***
   

# 五、总结

### 5.1 **物联网框图**

***以路由器建立无线局域网为例,通过下面这张图可以说明SIoT的作用原理。***

***在一台电脑上建立SIoT服务器后,其他设备在知道路由器分配给这台电脑的IP地址后,可以利用WIFI访问SIoT服务器。这些设备可以是电脑、手机、Uno板等。***



### **5.2 服务器信息**

***SIoT启动后,你的计算机就成为了一个标准的SIoT服务器,使用任何一款SIoT客户端程序就可以访问。***

- ***服务器地址:计算机局域网IP地址***

- ***SIoT端口:1883***

- ***用户名:siot(小写)***

- ***默认密码:dfrobot(小写)***

- ***消息主题(Topic):项目名/设备名(可以自定义,中间的“/”为英文输入法且不可缺少。)***

- ***Web管理地址://计算机IP:8080***

***通过WiFi IoT物联网模块使UNO板接入网络,实现UNO与外界无线网络的数据传输,还可使用很多传感器,实现很多的功能,本文展现了最基本的使用方式。***
页: [1]
查看完整版本: 【uno】试用WIFI IoT模块收集传感器数据