Tinker Forge 气象站
打开设备
DeviceOpen["TinkerForgeWeatherStation"]
返回一个 DeviceObject,代表一个与 Tinker Forge 气象站的打开连接.
配置设备
-
"AmbientLightBricklet" 环境照明度 bricklet "HumidityBricklet" 湿度 bricklet "BarometerBricklet" 气压计 bricklet "LCDBricklet" 20×4 LCD bricklet -
在 Windows、Macintosh 和 Linux 桌面系统,bricklet UID 可以从 Tinker Forge Brick Viewer 界面中读取.
-
DeviceConfigure[dev,uidval] 只设定指定的 bricklet 的 UID,其他 bricklet 假设为默认的 UID.
对于在 Tinker Forge 气象站上读、写或执行命令,配置是需要的. 气象站是通过指定单个附加在设备上的 bricklet UID 进行配置.
DeviceConfigure[dev,{uid1 val1,uid2 val2,…}]
对由 DeviceObject dev 指定的气象站分配第 i
个 bricklet 的 UID 给值 vali.
读取数据
-
可能的参数为"Temperature"、"Humidity"、"Pressure"和"Illuminance".
-
值是 Quantity 对象,分别带有摄氏、百分比、毫巴和勒克斯的单位.
DeviceRead[dev]
从由设备对象 dev 指定的气象站中读取当前数据,返回所有可用参数的规则列表.
DeviceRead[dev,param]
读取参数 param.
DeviceReadTimeSeries[dev,{t,dt}]
基于按时间间隔 dt 读取的数据产生一个时间序列,总时间为 t.
DeviceReadTimeSeries[dev,{t,dt},param]
重复读取参数 param.
编写数据
-
行号和位置必须是范围在0–3和0–19的整数.
-
DeviceWrite[dev,"string"] 等价于 DeviceWrite[dev,{0,0,"string"}].
DeviceWrite[dev,{n,p,"string"}]
把开始于第 n 行和位置在 p 的指定字符串写入气象站,并显示在内置的液晶显示屏中.
DeviceWrite[dev,"string"]
把指定的字符串写入气象站.
执行命令
DeviceExecute[dev,"ClearLCDDisplay"]
清除液晶屏.
关闭和释放资源
DeviceClose[dev]
关闭由 DeviceObject dev 指定的气象站连接.
范例
基本范例 (5)
dev = DeviceOpen["TinkerForgeWeatherStation"]DeviceConfigure[dev, {"BarometerBricklet" -> "g2h", "AmbientLightBricklet" -> "ibF", "HumidityBricklet" -> "hUi", "LCDBricklet" -> "gLp"}];DeviceRead[dev]DeviceClose[dev]dev = DeviceOpen["TinkerForgeWeatherStation"]DeviceConfigure[dev, {"BarometerBricklet" -> "g2h", "AmbientLightBricklet" -> "ibF", "HumidityBricklet" -> "hUi", "LCDBricklet" -> "gLp"}];DeviceWrite[dev, All];DeviceClose[dev]dev = DeviceOpen["TinkerForgeWeatherStation"]DeviceConfigure[dev, "LCDBricklet" -> "gLp"];DeviceWrite[dev, "This is a string"]DeviceExecute[dev, "ClearLCDDisplay"];DeviceWrite[dev, {1, 0, "This is a string"}];DeviceClose[dev]安排每0.1秒进行一次 DeviceRead,共10次,并动态显示数据:
dev = DeviceOpen["TinkerForgeWeatherStation"]DeviceConfigure[dev, "BarometerBricklet" -> "g2h"];SessionSubmit[ScheduledTask[wdata = DeviceRead[dev, "Temperature"], {0.1, 10}]];
Dynamic[wdata]TaskRemove[Tasks[]];DeviceClose[dev]通过每0.1秒读取一次数据,共5秒,然后产生一个 TimeSeries,读取时连续改变设备的方向:
dev = DeviceOpen["TinkerForgeWeatherStation"]DeviceConfigure[dev, "AmbientLightBricklet" -> "ibF"];ts = DeviceReadTimeSeries[dev, {5, 0.1}, "Illuminance"]ill = ts["Values"]ListLinePlot[ill, PlotRange -> All]{Mean[ill], Min[ill], Max[ill]}DeviceClose[dev]相关指南
-
▪
- 使用连接设备
历史
2014年引入 (10.0)