简介

WIAnode是一款专为交互艺术设计的无线控制节点。它采用MQTT协议,内置服务器,兼容主流新媒体软件,可快速接入各类传感器。用户只需在开发软件中输入模块IP,即可同步获取数据,无需额外编程,让您更专注于创意逻辑的实现。

产品特点

  • I2C 接口*2个:4pin ph2.0

  • I/O接口*4个:3pin ph2.0

  • 舵机接口*2个:3pin 2.54间距排针

  • 状态指示灯:黄色-等待配置WIFI信息,红色-等待网络连接,绿色-网络已连接

  • 屏幕显示:IP地址、接口配置信息

  • wkup按钮:唤醒屏幕

  • reset按钮:重启设备

  • Type-C接口:供电及信息配置

技术规格

  • TypeC供电接口:5v

  • 工作电压:3.3v / 5v

  • 最大供电电流:500mA

  • 0.91寸OLED屏幕

  • 尺寸:66.5x46.5mmx19.5mm

  • 重量:145 g

功能说明

屏幕显示

-查看屏幕信息,需按下'WKUP'按钮唤醒屏幕,即显示第一页 IP地址信息。
-屏幕点亮情况下再次按下'WKUP'翻页,查看第二页接口信息。
-屏幕唤醒后,1min内无操作会再次熄屏。

使用流程

配置阶段

  1. 供电:使用type-c数据线将WIAnode与电脑连接,此时未配置wifi信息,状态指示灯为黄色。

  2. 快速配置网络:

    -电脑弹出u盘,打开config.txt文件。(u盘名称不一致不影响,可通过更新固件保持一致)

    -为其配置wifi、密码及接口信息。(仅可使用5G与2.4G频段混合模式或单独2.4G频段的wifi)

 	#WIFI SETTING
 	WiFi_Name:yourwifiname
 	WiFi_Password:yourwifipassword

-配置完成后保存文件,状态指示灯变为红色,意味着wifi配置保存但网络处于未连接状态。

  1. 配置生效:重新为WIAnode供电,会自动更新配置并连接wifi。

    ​ 成功连接wifi后IP地址会显示在屏幕上,状态指示灯变为绿色。

注意:

如黄灯持续呼吸:

-请及时为设备配置wifi及密码。

如红灯持续呼吸:

-请检查wifi及密码是否正确输入。
-是否选择的是2.4G频段的wifi。
-如输入无误,可尝试重新供电。

使用阶段

一、详细配置文件功能

  1. 自定义IP设置:
	#IP SETTING(Leave it blank for the default automatic address asignment)
	Static_IP:192.168.xxx.xxx
	Gateway:192.168.1.1
	Subnet_Mask:255.255.255.0

​ Static_IP:自定义的IP地址

​ Gateway:路由器地址

​ Subnet_Mask:子网掩码

  1. 接口设置:
#I/O SETTING
P1: ws2812
P2: ws2812
P3: ws2812
P4: input
P5: servo180
P6: servo360

接口分为三类

(1)P1-P4:IO接口(三根线)

​ 使用方法:共计四种配置标签,Input / dht11 / ds18b20 / ws2812。

​ 参考下方传感器支持清单中的传感器对应的标签。

​ 在对应接口配置处填入对应标签。

(2)P5-P6:5v舵机接口(三根线)

​ 使用方法:共计三种配置标签,servo180 / servo300 / servo360。

​ 参考下方传感器支持清单中的传感器对应的标签。

​ 在对应接口配置处填入对应标签。

(3)I2C*2: I2C传感器接口(四根线)

​ 使用方法:无需填入配置标签,接入传感器即可自动配置。如正确识别,传感器地址将会显示在屏幕上。

(4)状态指示灯设置:

Sending_Interval(0.02-10s): 0.02s

​ WIAnode侧面有当前状态指示灯,如实际使用或部署场景下不需要状态指示灯光,可通过该配置项进行关闭。

(5)发送间隔设置:

LED_State: on

​ LED_State:该配置项可控制板载状态指示灯的打开或关闭,填入on为打开,off为关闭。

二、屏幕功能:

​ 1. 按下侧面wkup按钮,唤醒屏幕显示当前设备ip地址。

​ 2. 屏幕唤醒情况下,再按一次按钮翻页,显示当前各接口配置状态。

三、mqtt客户端配置:

IP地址:填入WIAnode屏幕上显示的IP地址

mqtt配置:固定的用户名和密码直接填入

​ User Name:wianode

​ Password:dfrobot

固件更新

将新固件拖入配置的U盘内

重新为WIAnode供电

等待约30秒刷新固件(指示灯正常呼吸为更新完成)

ps: 固件更新时、频繁重新接入为正常现象,请勿断电,等待屏幕重新显示dfrobot dfr1234为固件更新完毕。

数据包格式说明

1.订阅数据的topic名称:topic_input

​ 获取到的json数据包格式为:{''名字_数据1':值,'名字_数据2':值,...}

​ 例:P1接按钮,P2接dht11

​ 订阅的数据包内容为:{'p1_input_val':1, ‘p2_dht11_temp':23, 'p2_dht11_humi':88}

2.发布数据的topic名称:topic_output

​ 发布数据进行接口控制的格式为:{"名字_数据":值}

​ 例:io1接了灯带,数据发送为rgb1,rgb2,rgb3...

​ 控制的数据内容为:{'p1': '0 29 29 255 4 12 27 255 11'}

传感器支持清单

I/O类型传感器:(其他未写入的但不需要库的传感器仍可使用,配置标签使用Input)

SKU 传感器 配置标签 设备类型
DFR0029 按钮模块 Input P
SEN0616 压力传感器 Input P
DFR0067 温湿度传感器 dht11 P
DFR0024 温度传感器 ds18b20 P
FIT0656 rgb灯 ws2812 P
SER0006 180度舵机 servo180 P
SER0043 360度舵机 servo360 P
DFR0034 声音传感器 Input P
DFR0026 光敏 Input P
SEN0508 柔性非接触式液位传感器 Input P
DFR0054 模拟旋转角度传感器 Input P
SEN0030 数字触摸开关 Input P
SEN0185 磁性霍尔传感器 Input P
SEN0019 10-80红外数字避障传感器 Input P
SEN0171 人体存在传感器 Input P
SER0053 9g 300°离合舵机 servo300 P
SEN0307 模拟量超声波测距传感器 Input P
DFR0028 数字钢球倾角传感器 Input P
DFR1132 线性模拟霍尔传感器 Input P
DFR0061 JoyStick摇杆 Input P

I2C类型的传感器:

SKU 传感器 数据类别 数据标签 设备类型 地址
SEN0626 AI视觉手势人脸跟踪传感器 面部坐标,手势识别 FaceX, FaceY, GestureType I2C 0x72
SEN0561 手势传感器 手势 Gesture I2C 0x73
SEN0304 超声波传感器 距离 Distance I2C 0x11
SEN0236 环境传感器 温度、压力、海拔、湿度 Temperature, Pressure, Altitude, Humidity I2C 0x77
SEN0212 颜色传感器 RGB R, G, B I2C 0x29
SEN0228 环境光传感器 流明 Lux I2C 0x10
SEN0224 加速度传感器 加速度 x, y, z I2C 0x18
SEN0610 毫米波传感器 毫米级移动 motion I2C 0x2A
SEN0636 紫外线传感器 紫外线 UV I2C 0x23
SEN0514 空气质量传感器 TVOC、eCO2、AQI TVOC、eCO2、AQI I2C 0x52、0x53
SEN0518 心率血氧传感器 心率、血氧 Heartbeat, SPO2 I2C 0x57
SEN0536 CO2传感器 CO2 CO2 I2C 0x62
SEN0250 6轴惯性运动传感器 Acceleration、Gyroscope Accelx, Accely, Accelz, GyroX, GyroY, GyroZ I2C 0x69

WIAnode传感器套件列表

SKU 传感器名称 配置标签 接口 数据类型 I2C地址
DFR0029 Gravity: 数字大按钮模块 Input P / /
DFR0054 Gravity: 模拟旋转角度传感器 Input P / /
DFR0034 Gravity: 模拟声音传感器 Input P / /
SEN0228 Gravity: I2C VEML7700 环境光传感器 / I2C Lux 0x10
SEN0304 Gravity: URM09-I2C超声波测距传感器 / I2C Distance 0x11
SEN0610 Gravity:C4001 24GHz毫米波存在传感器 / I2C motion 0x2A
SEN0224 Gravity: I2C LIS2DH 三轴加速度计 / I2C x, y, z 0x18
SEN0561 Gravity: GR10-30 手势传感器 / I2C Gesture 0x73
SER0053 9g 300°离合舵机 servo300 P / /
FIT0656 WS2812 RGB 全彩灯带(7灯珠) ws2812 P / /

使用教程

Touchdesigner使用介绍

插件:https://github.com/DFRobot/WIAnode-examples/tree/master/WIAnode-Touchdesigner-plugin

插件介绍:

准备:

  1. 将WIAnode成功连接网络(如上文-配置阶段)

  2. 点击touchdesigner的数媒板插件节点,点击配置页“Connect”,输入设备IP地址、名称、密码。
    名称默认为mqtt,密码默认为dfrobot

  1. 按下wkup按钮查看ip地址,将数媒盒的ip地址填入编辑面板的”ip“中。(确保电脑与数媒盒连接至同一wifi网络下)
  1. 数据订阅成功后,插件将显示绿色的“connected“,表示连接成功。

如连接失败可点击'Reconnect'重新连接。

使用期间确保‘Active’处于打开状态,关闭则代表该插件关闭通讯。

使用传感器数据:

  1. 使用‘select’节点将插件数据引出

控制执行器:

  1. 将设置好的数据接入对应的P接口,确保与设备接入的执行器端口一致。

例:

Step1: 设置P5接口为servo180模式
Step2: 舵机插入P5接口
Step3: 数据控制连接至touchdesigner插件P5位置

Touchdesigner 示例:

1. 按钮传感器控制示例

传感器特点:通过按下按钮实现交互
输出数据:0或1
快速示例:按下按钮实现数据0-1的切换
程序地址:https://github.com/DFRobot/WIAnode-examples/tree/master/WIAnode_Touchdesigner_samples/01.WIAnode-TD-button

2. 旋钮传感器控制示例

传感器特点:通过调动旋钮交互
输出数据:0-1的区间值
快速示例:转动旋钮调整方块或圆的切换,以及圆的颜色和体积大小
程序地址:https://github.com/DFRobot/WIAnode-examples/tree/master/WIAnode_Touchdesigner_samples/02.WIAnode-TD-knob

3. 麦克风传感器控制示例

传感器特点:通过改变灯光亮度实现交互
输出数据:0-1的区间值
快速示例:麦克风将风量大小映射到粒子向左飘散的速度
程序下载:https://github.com/DFRobot/WIAnode-examples/tree/master/WIAnode_Touchdesigner_samples/03.WIAnode-TD-microphone

4. 光敏传感器控制示例

传感器特点:通过改变环境亮度实现交互
输出数据:0-1的区间值
快速示例:通过改变环境的亮度、同步映射到虚拟环境的灯光亮度。
程序下载:https://github.com/DFRobot/WIAnode-examples/tree/master/WIAnode_Touchdesigner_samples/04.WIAnode-TD-light

5. 超声波传感器控制示例

传感器特点:检测一个轴向的距离
输出数据:距离
快速示例:检测到距离越近,圆的直径越小
程序下载:https://github.com/DFRobot/WIAnode-examples/tree/master/WIAnode_Touchdesigner_samples/05.WIAnode-TD-ultrasonic

6. 毫米波传感器控制示例

传感器特点:可隔木板或亚克力检测到毫米级移动的物体(比如人呼吸、蚊虫等)
输出数据:是否存在移动:0或1、距离、速度
快速示例:当检测到有人时,警报灯亮并发出警报声音。
程序下载:https://github.com/DFRobot/WIAnode-examples/tree/master/WIAnode_Touchdesigner_samples/06.WIAnode-TD-mmwave

7. 加速度传感器控制示例

传感器特点:通过改变运动幅度实现交互
输出数据:gyr_x, gyr_y, gyr_z, acc_x, acc_y, acc_z
快速示例:加速度传感器的x轴控制虚拟环境中立方体的x轴的转动,形成虚拟与现实的映射
程序下载:https://github.com/DFRobot/WIAnode-examples/tree/master/WIAnode_Touchdesigner_samples/07.WIAnode-TD-accelerometer

8. 手势传感器控制示例

传感器特点:通过改变灯光亮度实现交互
输出数据:1-4
快速示例:四个方向的手势控制不同的图片
程序地址:https://github.com/DFRobot/WIAnode-examples/tree/master/WIAnode_Touchdesigner_samples/08.WIAnode-TD-gesture

9.灯带控制示例

传感器特点:通过改变灯光亮度实现交互
​ ps: 灯带的控制数据位是rgb x 灯带数量
输入数据:p1接口接3颗rgb灯。例:{'p1': '66 42 59 64 48 63 63 54 67'}
快速示例:图形像素值控制rgb灯带
程序地址:https://github.com/DFRobot/WIAnode-examples/tree/master/WIAnode_Touchdesigner_samples/09.WIAnode-TD-LED

10. 300度舵机控制示例

传感器特点:通过改变灯光亮度实现交互
ps: WIAnode配置文件需把对应接口修改为servo300。
输入数据:0-300。例:p5接口接300度舵机转动200度。{'p5': '200 ‘}
快速示例:循环数值控制舵机在0-300度之间旋转
程序地址:https://github.com/DFRobot/WIAnode-examples/tree/master/WIAnode_Touchdesigner_samples/10.WIAnode-TD-servo300

Unity部分

Unity3d_MQTT开源库:https://github.com/vovacooper/Unity3d_MQTT

教程地址:https://blog.csdn.net/lordwish/article/details/85013763

Unreal Engine部分

mqtt插件:https://github.com/NinevaStudios/mqtt-utilities-unreal

教程地址:https://github.com/NinevaStudios/mqtt-utilities-unreal

VVVV部分

官方库链接:https://www.nuget.org/packages/VL.IO.MQTT

1.添加mqtt的库,打开软件内的命令行工具,输入“dotnet add package VL.IO.MQTT --version 1.2.5”
2.打开mqtt实例教程

3. 输入ip地址、用户名、密码。(用户名和密码默认为mqtt、dfrobot,不可修改。)