add services
This commit is contained in:
parent
fe328f9da3
commit
9318d3ef12
@ -13,7 +13,8 @@ Blockly.Blocks["sensebox_mqtt_setup"] = {
|
||||
this.setHelpUrl('');
|
||||
this.setColour(getColour().mqtt);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.senseBox_mqtt_init);
|
||||
.appendField(Blockly.Msg.senseBox_mqtt_init)
|
||||
.appendField(new Blockly.FieldDropdown([["Adafruit IO", 'adafruitio'], ["DIOTY", 'dioty'], ["Other Service", 'custom']]), "service");
|
||||
this.appendDummyInput()
|
||||
.setAlign(Blockly.ALIGN_LEFT)
|
||||
.appendField(Blockly.Msg.senseBox_mqtt_server)
|
||||
@ -28,10 +29,34 @@ Blockly.Blocks["sensebox_mqtt_setup"] = {
|
||||
.appendField(new Blockly.FieldTextInput("Username"), "username");
|
||||
this.appendDummyInput()
|
||||
.setAlign(Blockly.ALIGN_LEFT)
|
||||
.appendField(Blockly.Msg.senseBox_mqtt_password)
|
||||
.appendField(Blockly.Msg.senseBox_mqtt_password, "passwordmsg")
|
||||
.appendField(new Blockly.FieldTextInput("Password"), "password");
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
},
|
||||
onchange: function (e) {
|
||||
let service = this.getFieldValue('service');
|
||||
switch (this.getFieldValue('service')) {
|
||||
case 'adafruitio':
|
||||
this.getField('server').setValue("io.adafruit.com");
|
||||
this.getField('port').setValue("1883");
|
||||
this.getField('passwordmsg').setValue("Adafruit IO Key");
|
||||
break;
|
||||
case 'dioty':
|
||||
this.getField('server').setValue("mqtt.dioty.co");
|
||||
this.getField('port').setValue("1883");
|
||||
this.getField('passwordmsg').setValue(Blockly.Msg.senseBox_mqtt_password);
|
||||
break;
|
||||
|
||||
case "custom":
|
||||
this.getField('server').setValue("server");
|
||||
this.getField('port').setValue("port");
|
||||
this.getField('passwordmsg').setValue(Blockly.Msg.senseBox_mqtt_password);
|
||||
break;
|
||||
default:
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -3,11 +3,14 @@ import * as Blockly from 'blockly/core';
|
||||
* MQTT Blocks
|
||||
*/
|
||||
|
||||
let service;
|
||||
|
||||
Blockly.Arduino.sensebox_mqtt_setup = function () {
|
||||
var server = this.getFieldValue('server');
|
||||
var port = this.getFieldValue('port');
|
||||
var username = this.getFieldValue('username');
|
||||
var pass = this.getFieldValue('password');
|
||||
service = this.getFieldValue('service');
|
||||
Blockly.Arduino.libraries_['library_senseBoxMCU'] = '#include "SenseBoxMCU.h"';
|
||||
Blockly.Arduino.libraries_['library_adafruitmqtt'] = '#include "Adafruit_MQTT.h"';
|
||||
Blockly.Arduino.libraries_['library_adafruitmqttclient'] = '#include "Adafruit_MQTT_Client.h"';
|
||||
@ -26,7 +29,23 @@ Blockly.Arduino.sensebox_mqtt_publish = function (block) {
|
||||
var res = feedname.split("/");
|
||||
var feed_client = res[res.length - 1];
|
||||
var value = Blockly.Arduino.valueToCode(this, 'value', Blockly.Arduino.ORDER_ATOMIC) || '"No Block connected"';
|
||||
Blockly.Arduino.definitions_['mqtt_' + feed_client + ''] = 'Adafruit_MQTT_Publish ' + feed_client + ' = Adafruit_MQTT_Publish(&mqtt, USERNAME "/feeds/' + feedname + '");'
|
||||
|
||||
switch (service) {
|
||||
case 'adafruitio':
|
||||
Blockly.Arduino.definitions_['mqtt_' + feed_client + ''] = 'Adafruit_MQTT_Publish ' + feed_client + ' = Adafruit_MQTT_Publish(&mqtt, USERNAME "/feeds/' + feedname + '");'
|
||||
break;
|
||||
case 'dioty':
|
||||
Blockly.Arduino.definitions_['mqtt_' + feed_client + ''] = 'Adafruit_MQTT_Publish ' + feed_client + ' = Adafruit_MQTT_Publish(&mqtt, "/"USERNAME"/' + feedname + '");'
|
||||
break;
|
||||
case 'custom':
|
||||
Blockly.Arduino.definitions_['mqtt_' + feed_client + ''] = 'Adafruit_MQTT_Publish ' + feed_client + ' = Adafruit_MQTT_Publish(&mqtt, ' + feedname + ');'
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
//Blockly.Arduino.definitions_['mqtt_' + feed_client + ''] = 'Adafruit_MQTT_Publish ' + feed_client + ' = Adafruit_MQTT_Publish(&mqtt, USERNAME "/feeds/' + feedname + '");'
|
||||
Blockly.Arduino.codeFunctions_['mqtt_connect_function'] = `// Function to connect and reconnect as necessary to the MQTT server.
|
||||
// Should be called in the loop function and it will take care if connecting.
|
||||
void MQTT_connect() {
|
||||
|
@ -785,7 +785,7 @@ Blockly.Msg.senseBox_ws2818_rgb_led_brightness = "Helligkeit";
|
||||
* MQTT
|
||||
*/
|
||||
|
||||
Blockly.Msg.senseBox_mqtt_init = "Initialisiere MQTT Broker";
|
||||
Blockly.Msg.senseBox_mqtt_init = "Verbinde mit MQTT Broker";
|
||||
Blockly.Msg.senseBox_mqtt_server = "Server";
|
||||
Blockly.Msg.senseBox_mqtt_port = "Port";
|
||||
Blockly.Msg.senseBox_mqtt_username = "Benutzername";
|
||||
|
@ -767,7 +767,7 @@ Blockly.Msg.senseBox_ws2818_rgb_led_position = "Position";
|
||||
* MQTT
|
||||
*/
|
||||
|
||||
Blockly.Msg.senseBox_mqtt_init = "Initialize MQTT Broker";
|
||||
Blockly.Msg.senseBox_mqtt_init = "Connect to MQTT Broker";
|
||||
Blockly.Msg.senseBox_mqtt_server = "Server";
|
||||
Blockly.Msg.senseBox_mqtt_port = "Port";
|
||||
Blockly.Msg.senseBox_mqtt_username = "Username";
|
||||
|
Loading…
x
Reference in New Issue
Block a user