初始化提交
This commit is contained in:
89
boards/default_src/python/generators/blynk.js
Normal file
89
boards/default_src/python/generators/blynk.js
Normal file
@@ -0,0 +1,89 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
|
||||
// 物联网-wifi信息
|
||||
export const blynk_server = function (_, generator) {
|
||||
var wifi_ssid = generator.valueToCode(this, 'wifi_ssid', generator.ORDER_ATOMIC);
|
||||
var wifi_pass = generator.valueToCode(this, 'wifi_pass', generator.ORDER_ATOMIC);
|
||||
generator.definitions_.import_time = "import network,time,BlynkLib";
|
||||
var code;
|
||||
code = "wlan = network.WLAN(network.STA_IF)\n";
|
||||
code += "wlan.active(True)\n";
|
||||
code += "if not wlan.isconnected():\n";
|
||||
code += " print('connecting to network...')\n";
|
||||
code += " wlan.connect(" + wifi_ssid + "," + wifi_pass + ")\n";
|
||||
code += " while not wlan.isconnected():\n";
|
||||
code += " pass\n";
|
||||
code += "print('network config:', wlan.ifconfig())\n";
|
||||
code += "BLYNK_AUTH='" + "auth_key" + "'\n";
|
||||
code += "blynk = BlynkLib.Blynk(BLYNK_AUTH)\n"
|
||||
code += "while True:\n"
|
||||
code += " blynk.run()\n"
|
||||
code += " pass\n"
|
||||
return code;
|
||||
}
|
||||
|
||||
// 物联网-wifi信息
|
||||
export const blynk_iot_get_data = function (_, generator) {
|
||||
var Vpin = this.getFieldValue('Vpin');
|
||||
var args = [];
|
||||
for (var x = 0; x < this.arguments_.length; x++) {
|
||||
args[x] = generator.valueToCode(this, 'ARG' + x, generator.ORDER_NONE) || 'null';
|
||||
}
|
||||
var code = '(a' + args.join(', ') + ');\n';
|
||||
var branch = generator.statementToCode(this, 'STACK');
|
||||
if (generator.INFINITE_LOOP_TRAP) {
|
||||
branch = generator.INFINITE_LOOP_TRAP.replace(/%1/g, '\'' + this.id + '\'') + branch;
|
||||
}
|
||||
var args = [];
|
||||
for (var x = 0; x < this.arguments_.length; x++) {
|
||||
args[x] = this.argumentstype_[x] + ' ' + generator.variableDB_.getName(this.arguments_[x], Blockly.Variables.NAME_TYPE);
|
||||
}
|
||||
var GetDataCode = "";
|
||||
if (this.arguments_.length == 1) {
|
||||
GetDataCode = generator.variableDB_.getName(this.arguments_[0], Blockly.Variables.NAME_TYPE);
|
||||
if (this.argumentstype_[0] == "int")
|
||||
GetDataCode += "= param.asInt();\n"
|
||||
else if (this.argumentstype_[0] == "String")
|
||||
GetDataCode += "= param.asStr();\n"
|
||||
else if (this.argumentstype_[0] == "long")
|
||||
GetDataCode += "= param.asDouble();\n"
|
||||
else if (this.argumentstype_[0] == "float")
|
||||
GetDataCode += "= param.asFloat();\n"
|
||||
else if (this.argumentstype_[0] == "boolean")
|
||||
GetDataCode += "= param.asInt();\n"
|
||||
else if (this.argumentstype_[0] == "byte")
|
||||
GetDataCode += "= param.asStr();\n"
|
||||
else if (this.argumentstype_[0] == "char")
|
||||
GetDataCode += "= param.asStr();\n"
|
||||
}
|
||||
else {
|
||||
for (var x = 0; x < this.arguments_.length; x++) {
|
||||
args[x] = this.argumentstype_[x] + ' ' + generator.variableDB_.getName(this.arguments_[x], Blockly.Variables.NAME_TYPE);
|
||||
|
||||
GetDataCode += generator.variableDB_.getName(this.arguments_[x], Blockly.Variables.NAME_TYPE);
|
||||
if (this.argumentstype_[x] == "int")
|
||||
GetDataCode += "= param[" + x + "].asInt();\n"
|
||||
else if (this.argumentstype_[x] == "String")
|
||||
GetDataCode += "= param[" + x + "].asStr();\n"
|
||||
else if (this.argumentstype_[x] == "long")
|
||||
GetDataCode += "= param[" + x + "].asDouble();\n"
|
||||
else if (this.argumentstype_[x] == "float")
|
||||
GetDataCode += "= param[" + x + "].asFloat();\n"
|
||||
else if (this.argumentstype_[x] == "boolean")
|
||||
GetDataCode += "= param[" + x + "].asInt();\n"
|
||||
else if (this.argumentstype_[x] == "byte")
|
||||
GetDataCode += "= param[" + x + "].asStr();\n"
|
||||
else if (this.argumentstype_[x] == "char")
|
||||
GetDataCode += "= param[" + x + "].asStr();\n"
|
||||
}
|
||||
}
|
||||
|
||||
if (this.arguments_.length > 0)
|
||||
generator.definitions_[args] = args.join(';\n') + ";";
|
||||
var code = ' BLYNK_WRITE(' + Vpin + ') {\n' + GetDataCode +
|
||||
branch + '}\n';
|
||||
// var code = 'BLYNK_WRITE(' + Vpin+ ') {\n'+variable+" = param.as"+datatype+"();\n"+branch+'}\n';
|
||||
code = generator.scrub_(this, code);
|
||||
generator.definitions_[Vpin] = code;
|
||||
return null;
|
||||
}
|
||||
Reference in New Issue
Block a user