129 lines
5.7 KiB
JavaScript
129 lines
5.7 KiB
JavaScript
export const iot_mixio_connect = function (_, generator) {
|
|
generator.definitions_['import_mixiot'] = "import mixiot";
|
|
var server = generator.valueToCode(this, 'SERVER', generator.ORDER_ATOMIC);
|
|
var username = generator.valueToCode(this, 'USERNAME', generator.ORDER_ATOMIC);
|
|
var password = generator.valueToCode(this, 'PASSWORD', generator.ORDER_ATOMIC);
|
|
var project = generator.valueToCode(this, 'PROJECT', generator.ORDER_ATOMIC);
|
|
var timestamp = Math.round(new Date()).toString();
|
|
//var subscribe = generator.valueToCode(this, 'SUB', generator.ORDER_ASSIGNMENT) || '0';
|
|
var a = "f'python-mqtt-" + username.replace("'", "").replace("'", "") + timestamp.replace("'", "").replace("'", "") + "'";
|
|
var code = 'mqtt_client = mixiot.MixIO(' + server + ', 1883 ,' + username + ', ' + password + ', ' + project + ', ' + a + ')\n';
|
|
return code;
|
|
}
|
|
|
|
export const IOT_MIXIO_PUBLISH = function (_, generator) {
|
|
var topic = generator.valueToCode(this, 'TOPIC', generator.ORDER_ATOMIC);
|
|
var msg = generator.valueToCode(this, 'MSG', generator.ORDER_ATOMIC);
|
|
generator.definitions_['import_mixiot'] = "import mixiot";
|
|
var code = 'mqtt_client.publish(' + topic + ', ' + msg + ')\n';
|
|
return code;
|
|
}
|
|
|
|
export const IOT_MIXIO_PUBLISHEX = function (_, generator) {
|
|
var topic = generator.valueToCode(this, 'TOPIC', generator.ORDER_ATOMIC);
|
|
var msg = generator.valueToCode(this, 'MSG', generator.ORDER_ATOMIC);
|
|
var q = this.getFieldValue('quality');
|
|
generator.definitions_['import_mixiot'] = "import mixiot";
|
|
var code = 'mqtt_client.publish(MQTT_USR_PRJ + ' + topic + ', ' + msg + ', qos='+ q +')\n';
|
|
return code;
|
|
}
|
|
|
|
export const IOT_MIXIO_SUBSCRIBE = function (_, generator) {
|
|
var topic = generator.valueToCode(this, 'TOPIC', generator.ORDER_ATOMIC);
|
|
var method = generator.valueToCode(this, 'METHOD', generator.ORDER_ATOMIC);
|
|
generator.definitions_['import_mixiot'] = "import mixiot";
|
|
var code = 'mqtt_client.subscribe_and_set_callback(' + topic + ',' + method + ')\n';
|
|
return code;
|
|
}
|
|
|
|
export const IOT_MIXIO_UNSUBSCRIBE = function (_, generator) {
|
|
var topic = generator.valueToCode(this, 'TOPIC', generator.ORDER_ATOMIC);
|
|
generator.definitions_['import_mixiot'] = "import mixiot";
|
|
var code = 'mqtt_client.unsubscribe(' + topic + ')\n';
|
|
return code;
|
|
}
|
|
|
|
export const iot_mixio_disconnect = function (_, generator) {
|
|
generator.definitions_['import_mixiot'] = "import mixiot";
|
|
var code = 'mqtt_client.disconnect()\n';
|
|
return code;
|
|
}
|
|
|
|
export const iot_mixio_connect_only = function (_, generator) {
|
|
generator.definitions_['import_mixiot'] = "import mixiot";
|
|
var code = 'mqtt_client.connect()\n';
|
|
return code;
|
|
}
|
|
|
|
export const iot_mixio_check = function (_, generator) {
|
|
generator.definitions_['import_mixiot'] = "import mixiot";
|
|
var code = 'mqtt_client.check_msg()\n';
|
|
return code;
|
|
}
|
|
|
|
export const iot_mixio_format_topic = function (_, generator) {
|
|
var code = 'mqtt_client.decode("utf-8").split("/")[-1]';
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const iot_mixio_format_msg = function (_, generator) {
|
|
var code = 'mqtt_client.decode("utf-8")';
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const IOT_FORMATTING = function (_, generator) {
|
|
generator.definitions_['import_mixpy'] = "import mixpy";
|
|
var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC);
|
|
var code = 'mixpy.format_content(' + v + ', mqtt_client.client_id)';
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const IOT_FORMAT_STRING = function (_, generator) {
|
|
generator.definitions_['import_mixpy'] = "import mixpy";
|
|
var v = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC);
|
|
var code = 'mixpy.format_str(' + v + ')';
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE = function (_, generator) {
|
|
generator.definitions_['import_mixiot'] = "import mixiot";
|
|
var server = generator.valueToCode(this, 'SERVER', generator.ORDER_ATOMIC);
|
|
var share_code = generator.valueToCode(this, 'KEY', generator.ORDER_ATOMIC);
|
|
var timestamp = Math.round(new Date()).toString();
|
|
var a = "f'python-mqtt-" + share_code.replace("'", "").replace("'", "") + timestamp.replace("'", "").replace("'", "") + "'";
|
|
var code = 'mqtt_client = mixiot.MixIO.from_mixly_key(' + server + ', 1883 ,' + share_code + ', ' + a + ')\n';
|
|
return code;
|
|
}
|
|
|
|
export const iot_mixly_key = function (_, generator) {
|
|
var code = this.getFieldValue('VISITOR_ID');
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const iot_mixly_key_py = function (_, generator) {
|
|
var code = this.getFieldValue('VISITOR_ID');
|
|
return ["'" + code + "'", generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE = function (_, generator) {
|
|
generator.definitions_['import_mixiot'] = "import mixiot";
|
|
var server = generator.valueToCode(this, 'SERVER', generator.ORDER_ATOMIC);
|
|
var mixly_code = generator.valueToCode(this, 'KEY', generator.ORDER_ATOMIC);
|
|
var timestamp = Math.round(new Date()).toString();
|
|
var a = "f'python-mqtt-" + mixly_code.replace("'", "").replace("'", "") + timestamp.replace("'", "").replace("'", "") + "'";
|
|
var code = 'mqtt_client = mixiot.MixIO.from_share_key(' + server + ', 1883 ,' + mixly_code + ', ' + a + ')\n';
|
|
return code;
|
|
}
|
|
|
|
export const IOT_EMQX_PING = function (_, generator) {
|
|
generator.definitions_['import_mixiot'] = "import mixiot";
|
|
var code = 'mqtt_client.pingSync()';
|
|
return [code, generator.ORDER_ATOMIC];
|
|
}
|
|
|
|
export const IOT_MIXIO_NTP = function (_, generator) {
|
|
generator.definitions_['import_mixiot'] = "import mixiot";
|
|
var addr = generator.valueToCode(this, 'addr', generator.ORDER_ATOMIC);
|
|
var code = 'mixiot.ntp(' + addr + ')';
|
|
return [code, generator.ORDER_ATOMIC];
|
|
} |