设备互联

云消息(CloudMessage)控件是基于MQTT协议实现了ExpOS设备之间的消息订阅和发布。下面介绍如何使用该控件实现设备之间的互联。

1、首先登录物一世IoT云(https://iot.wareexpress.com),如果没有账号可以免费注册。

点击2-云消息标识的“生成”按钮,生成一个标识,点击新条目右边的“拷贝”按钮。

2、运行WeStudio软件,新建一个工程,从控件列表中拖入一个“云消息”控件到主界面main,在控件的云标识属性粘贴刚才在网页上拷贝的云消息标识,并修改订阅主题为"gpio-control,adc-value", 表示订阅两个主题(订阅多个主题时,使用逗号作为 分隔符)

3、在主界面上从控件列表拖入“开关”控件用来发布控制GPIO硬件的云消息,选中左边的按钮textButton, 点击编辑图标, 添加代码:

ui.main.switch_2.onCheck = function() {
    ui.main.cloudMessage.publish('gpio-control', 'device.io.gpio.p0Value=1');
};
ui.main.switch_2.onUncheck = function() {
    ui.main.cloudMessage.publish('gpio-control', 'device.io.gpio.p0Value=0');
};

3、在页面管理device->io页面,选中adc控件,添加代码:

device.io.adc.onValue = function(channel, raw) {
    var value = raw * 3.3 / (Math.pow(2, device.io.adc.getResolutionBits()));
    ui.main.segmentNumber.text = value.toFixed(3);
    ui.main.cloudMessage.publish('adc-value', 'ui.main.segmentNumber.text = ' + value.toFixed(3));
};

4、在主界面上拖入一个LED控件,段式数字控件和一个标签,用来显示状态和消息接收,选中云消息cloudMessage控件,点击“编辑”图标,添加如下图中的代码:

ui.main.cloudMessage.onConnect = function() {
    ui.main.label_5.text = '已连网';
    ui.main.label_5.textColor = '#0000ff';
    device.io.adc.start();
};

ui.main.cloudMessage.onReceive = function(topic, payload) {
    eval(payload);
};

ui.main.cloudMessage.onDisconnect = function() {
    ui.main.label_5.text = '未连网';
    ui.main.label_5.textColor = '#ff0000';
};

5、构建并烧写App到ExpOS设备中

6、模拟运行,等待云消息控件与服务器连接,连接成功,标签会显示"已连网";段式数字控件显示的是ExpOS设备采集的ADC电压值;点击“输出”开关,ExpOS设备端接收到消息并会对GPIO输出高电平或者低电平。

results matching ""

    No results matching ""