简介
这款WiFi扩展模块专为SCI采集模块设计,可将SCI采集的传感器数据上传至物联网平台。整个过程无需编程,用户只需连接所需传感器并为系统供电,即可快速构建物联网传感器节点。在更换或调整传感器时,无需额外调试,直接替换即可。此外,该模块还具备断网自动重连功能,可有效避免因网络波动引起的设备掉线问题。配合SCI采集模块兼容的丰富传感器,用户可以迅速搭建多种物联网系统,如环境监测、智能家居和气象站等,实现智能化管理和监控。
产品参数
-
供电电压:
- Type-C:5V
- 2Pin PH2.0电池口:3.5~4.2V
-
工作电流:30mA
-
通信方式:I2C
-
无线频率:2.4GHz
-
产品尺寸:37*32mm
引脚说明
标号 | 名称 | 功能描述 |
---|---|---|
1 | D | I2C数据线SDA,与SCI模块通讯 |
2 | C | I2C时钟线SCL,与SCI模块通讯 |
3 | - | GND电源负极,POWER IN端有电池输入时可为SCI模块供电 |
4 | + | 电源正极,POWER IN端有电池输入时可为SCI模块供电 |
5 | RST | WiFi IoT模块复位 |
6 | L | 模块状态指示灯 |
7 | POWER IN | WiFi IoT模块电池电源输入 |
8 | Type-C | WiFi IoT模块Type-C电源输入(无充电功能) |
WiFi模块配置
注:WiFi扩展模块的POWER IN电池接口、Type-C接口、Gravity接口不能同时输入电源。这可能会对WiFi模块造成损坏
首次使用WiFi模块时需要先配置WiFi和MQTT信息,后续当需要修改WiFi和MQTT信息时也可以按照此流程进行配置。
不熟悉SCI采集模块的使用也不影响此教程的阅读,建议先体验完WiFi模块的整个搭建流程,再去了解SCI采集模块的使用细节。若您想先了解更多关于SCI采集模块的使用,可查看:SCI采集模块教程
在进行WiFi模块配置前,需要先将物联网平台配置好,若已经清楚如何配置物联网平台则继续查看接下来的教程,若不知道物联网平台应该如何配置,请根据使用的物联网平台进行跳转:EasyIoT 、 Siot v2 、Siot v1
-
通过WiFi模块顶部的POWER IN或Type-C口为WiFi模块供电(注意此时WiFi模块的4Pin I2C Gravity口不能连接任何设备)
-
等待WiFi模块上的白灯熄灭蓝灯亮起,使用电脑或手机搜索名为“ESP32 Hotspot”的WiFi热点并连接,密码为“12345678”
-
连接成功后打开浏览器,在搜索框输入“192.168.32.32”打开配置页面
-
填入相应的配置信息,若不知道如何获取物联网平台MQTT参数,请根据使用的平台进行跳转:EasyIoT 、 Siot v2 、Siot v1
- WiFi SSID: 填入WiFi 账号
- WiFi Password: 填入WiFi 密码
- MQTT Server: 填入MQTT 服务器地址
- MQTT Username: 填入MQTT 账号
- MQTT Password: 填入MQTT 密码
- Save: 若使用siotv2此处填1,若干使用siotv1或Easyiot此处填0
- Topic Line 1: SCI屏幕上的第1行数据发送到的Topic名称
- Topic Line 2: SCI屏幕上的第2行数据发送到的Topic名称, 若只有2个数据,则后面可以不填
- Topic Line 3: SCI屏幕上的第3行数据发送到的Topic名称
- ...
- Topic Line 10: SCI屏幕上的第10行数据发送到的Topic名称
-
填完后点击最下方的“Submit”,此时WiFi模块的指示灯会变为绿色,指示配置完成
-
至此,WiFi模块配置完成,将WiFi模块断电
WiFi模块使用
注:WiFi扩展模块的POWER IN电池接口、Type-C接口、Gravity接口不能同时输入电源。这可能会对WiFi模块造成损坏
若首次使用,请先进行上一步中的WiFi模块配置。若已配置完成请继续阅读。
-
将要上报数据的传感器连接到SCI采集模块左侧接口
-
在WiFi模块断电状态下,将WiFi模块连接到SCI采集模块的右侧接口
-
通过Type-C或POWER IN口为WiFi模块供电(必须由WiFi模块为SCI供电,SCI无法为WiFi模块供电)
-
上电后,会看到WiFi模块上先亮白灯开始初始化
-
约5秒后初始化完成亮红灯,此时开始连接WiFi
-
WiFi连接成功后亮黄灯,此时开始连接MQTT
-
MQTT连接成功后,紫灯闪烁三下指示MQTT连接成功,开始准备上报数据
-
WiFi模块会根据SCI的采样率设置开始上报数据,上报时紫灯闪烁一下
- 上报频率最高为5S/次,当SCI的采样率设置小于5S时,WiFi模块也会每5S上报一次数据
- WiFi模块仅在初始化阶段读取一次SCI的采样率,因此中途修改SCI的采样率不会改变WiFi模块上报的频率,如需修改,需先将SCI采样率修改后,按下WiFi模块的复位键重启系统
指示灯状态说明
- 白灯常亮:初始化中
- 蓝灯常亮:等待Web配置中
- 绿灯常亮:配置成功
- 红灯常亮:Wi-Fi连接中
- 黄灯常亮:MQTT连接中
- 紫灯快闪三下:MQTT连接成功
- 紫灯短闪:上报数据中(亮的时长跟上报的数据量有关,上报数据越多亮的时间越长)
- 紫灯常亮:开始定时上报后,SCI模块中途断连
EasyIoT平台配置
-
1.打开EasyIoT 工作间 (dfrobot.com.cn),如未注册需要先注册
-
2.创建所需的设备数量。例如想要上报温度和湿度两条数据,则只需要创建两个设备。当然也可以直接创建十个设备,暂时用不到的设备可以空置
-
3.记下EasyIoT平台的如下参数,用于填入WiFi模块的配置项中:
- WiFi SSID: 一个可访问互联网的WiFi账号
- WiFi Password: WiFi 密码
- MQTT Server:obloq1.dfrobot.com.cn (EasyIoT平台中,此参数固定)
- MQTT Username:下图序号1位置
- MQTT Password:下图序号2位置
- Topic Line 1: 下图序号3位置
- Topic Line 2: 下图序号4位置
- ...
- Topic Line 10: 下图序号5位置
-
4.至此EasyIoT平台配置完成,继续配置WiFi模块
- 现象预览:传感器、SCI、WiFi模块接好并正常工作后,可以在上图页面中,点击查看详情
Siot v1平台配置
- 1.下载:SIoT本地物联网平台下载安装教程
- 2.完成后打开exe文件
- 3.在电脑中通过“win+R”键打开cmd 命令行终端
- 4.输入“ipconfig”指令后回车,找到并记下无线局域网的IPV4地址
- 5.记下Siot v1平台的如下参数,用于填入WiFi模块的配置项中:
- WiFi SSID: 跟运行SIoT.exe的电脑连接相同WiFi,可以是局域网
- WiFi Password: WiFi 密码
- MQTT Server:第四步中获取的IP,例192.168.9.187
- MQTT Username:siot (Siot v1平台中,此参数固定)
- MQTT Password:dfrobot (Siot v1平台中,此参数固定)
- Topic Line 1: siot/Line1 (Siot v1平台中,会根据填入的主题名自动创建主题,格式为siot/xxxx)
- Topic Line 2: siot/Line2(Siot v1平台中,会根据填入的主题名自动创建主题,格式为siot/xxxx)
- ...
- Topic Line 10: siot/Line10(Siot v1平台中,会根据填入的主题名自动创建主题,格式为siot/xxxx)
- 6.通过第四步获取的IP,在浏览器中输入"IP地址:8080",例192.168.9.187:8080
-
7.至此Siot v1平台配置完成,继续配置WiFi模块
-
现象预览:传感器、SCI、WiFi模块接好并正常工作后,在第六步打开的Siot v1页面中,点击“查看设备列表” - “查看消息”,即可看到上传的传感器数据
Siot v2平台配置
- 说明:这里更推荐用行空板M10运行Siot v2服务,教程中也将基于使用行空板M10运行Siot v2服务。如需在电脑上运行Siot v2服务,请参考教程:SIoT V2下载使用-教程 。
- 1.行空板通过Type-C口连接到电脑
- 2.行空板开机后在浏览器输入10.1.2.3 打开网页
- 3.在“网络设置”中,连接WiFi,并记录下IP
- 4.在“应用开关”中启用SIOT服务,然后“打开页面”
-
5.点击新建主题,输入主题名,这里为了更好的跟SCI屏幕显示的行数对应,起名为Line x
-
6.创建所需的主题数量。例如想要上报温度和湿度两条数据,则只需要创建两个主题。当然也可以直接创建十个主题,暂时用不到的主题可以空置
- 7.记下Siot v2平台的如下参数,用于填入WiFi模块的配置项中:
- WiFi SSID: 跟第三步中行空板连接的WiFi需要时用一个WiFi,可以是局域网
- WiFi Password: WiFi 密码
- MQTT Server:第三步中获取的IP,例192.168.9.223
- MQTT Username:siot (Siot v2平台中,此参数固定)
- MQTT Password:dfrobot (Siot v2平台中,此参数固定)
- Topic Line 1: siot/Line1 (第六步中,双击复制对应的主题名)
- Topic Line 2: siot/Line2(第六步中,双击复制对应的主题名)
- ...
- Topic Line 10: siot/Line10(第六步中,双击复制对应的主题名)
- 8.至此Siot v2平台配置完成,继续配置WiFi模块
- 现象预览:传感器、SCI、WiFi模块接好并正常工作后,在第六步打开的Siot v2页面中,点击“查看详情”,即可看到上传的传感器数据。也可借助Mind+可视化面板,自定义自己喜欢的显示界面:Mind+数据可视化面板-教程
常见问题
-
身边没有手机/电脑对WiFi模块进行配置?
-
可使用Arduino对WiFi模块进行配置,请严格按照以下步骤操作,要先烧录完代码再将WiFi模块与Arduino相连
-
为Arduino烧录代码
-
WiFi模块未连接其他任何电源的情况下,将WiFi模块与Arduino通过I2C连接
-
等待WiFi模块的指示灯变绿
-
若指示灯没有变绿而变为其他颜色,则断开WiFi模块与Arduino的连接 - 复位Arduino - 重新将WiFi模块接到Arduino上
-
#include "DFRobot_SCIWifiModule.h"
DFRobot_SCIWifiModule wifi;
const char* wifiSSID = "DFRobot-guest";// WiFi 账号
const char* wifiPassword = "dfrobot@2017";// WiFi 密码
const char* mqttServer = "192.168.9.223";//MQTT 服务器地址 Easyiot:iot.dfrobot.com.cn或obloq1.dfrobot.com.cn , siot:192.168.x.x
const char* mqttsave = "1";//若使用siotv2此处填1,若干使用siotv1或Easyiot此处填0
const char* mqttUsername = "siot";//MQTT 账号
const char* mqttPassword = "dfrobot";//MQTT 密码
// MQTT topics configuration
const char* mqttTopics[] = {
"siot/Line1", /*SCI屏幕上的第1行数据发送到的Topic名称*/
"siot/Line2", /*SCI屏幕上的第2行数据发送到的Topic名称*/
"siot/Line3", /*SCI屏幕上的第3行数据发送到的Topic名称*/
"siot/Line4", /*SCI屏幕上的第4行数据发送到的Topic名称*/
"siot/Line5", /*SCI屏幕上的第5行数据发送到的Topic名称*/
"siot/Line6", /*SCI屏幕上的第6行数据发送到的Topic名称*/
"siot/Line7", /*SCI屏幕上的第7行数据发送到的Topic名称*/
"siot/Line8", /*SCI屏幕上的第8行数据发送到的Topic名称*/
"siot/Line9", /*SCI屏幕上的第9行数据发送到的Topic名称*/
"siot/Line10"/*SCI屏幕上的第10行数据发送到的Topic名称*/
};
void setup() {
Serial.begin(115200);
// Initialize WiFi module
while(wifi.begin() != 1) {
Serial.println("sci wifi module connect error!!");
delay(1000);
}
// Clean previous configurations
wifi.cleanConfig();
delay(100);
// Configure WiFi
wifi.configWifi(wifiSSID, wifiPassword);
delay(100);
// Configure MQTT
wifi.configMqtt1(mqttServer, mqttsave);
delay(100);
wifi.configMqtt2(mqttUsername, mqttPassword);
delay(100);
// Configure MQTT topics
for (int i = 0; i < 10; i++) {
wifi.configTopic(String(i + 1).c_str(), mqttTopics[i]);
delay(10);
}
// End configuration
wifi.endConfig();
Serial.println("config end");
}
void loop() {
// Your loop code here
}
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。