diff --git a/boards/default_src/micropython/blocks/network.js b/boards/default_src/micropython/blocks/network.js
index 3bf420b1..b910867f 100644
--- a/boards/default_src/micropython/blocks/network.js
+++ b/boards/default_src/micropython/blocks/network.js
@@ -123,6 +123,59 @@ export const network_wifi_connect = {
}
};
+export const urequests_wifi_connect = {
+ init: function () {
+ this.setColour(NETWORK_HUE);
+ this.appendDummyInput()
+ .appendField(Blockly.Msg.MIXLY_ESP32_UREQUESTS_CONNECT_WIFI);
+ this.appendValueInput('WIFINAME')
+ .setCheck(String)
+ .appendField(Blockly.Msg.HTML_NAME);
+ this.appendValueInput('PASSWORD')
+ .setCheck(String)
+ .appendField(Blockly.Msg.HTML_PASSWORD);
+ this.setInputsInline(true);
+ this.setPreviousStatement(true);
+ this.setNextStatement(true);
+ this.setTooltip(Blockly.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP);
+ }
+};
+
+export const urequests_wifi_url = {
+ init: function () {
+ this.setColour(NETWORK_HUE);
+ this.appendValueInput('URL')
+ .setCheck(String)
+ .appendField('URL');
+ this.setInputsInline(true);
+ this.setOutput(true);
+ this.setTooltip(Blockly.Msg.MIXLY_UREQUESTS_URL_TOOLTIP);
+ }
+};
+
+export const urequests_connect_url = {
+ init: function () {
+ this.setColour(NETWORK_HUE);
+ this.appendValueInput('url')
+ .appendField(Blockly.Msg.MIXLY_ESP32_CONNECT_URL_TOOLTIP);
+ this.setPreviousStatement(true);
+ this.setNextStatement(true);
+ this.setInputsInline(true);
+ this.setTooltip(Blockly.Msg.MIXLY_ESP32_UREQUESTS_URL_TOOLTIP);
+ }
+};
+
+export const urequests_response = {
+ init: function () {
+ this.setColour(NETWORK_HUE);
+ this.appendDummyInput()
+ .appendField(Blockly.Msg.MIXLY_ESP32_URL_REPONSE);
+ this.setInputsInline(true);
+ this.setOutput(true);
+ this.setTooltip(Blockly.Msg.MIXLY_ESP32_URL_REPONSE_TOOLTIP);
+ }
+};
+
export const network_get_connect = {
init: function () {
this.setColour(NETWORK_HUE);
diff --git a/boards/default_src/micropython/generators/network.js b/boards/default_src/micropython/generators/network.js
index 0df0f735..58fd05df 100644
--- a/boards/default_src/micropython/generators/network.js
+++ b/boards/default_src/micropython/generators/network.js
@@ -228,4 +228,31 @@ export const ntptime_time = function (_, generator) {
export const ntptime_address = function (_, generator) {
var code = "'" + this.getFieldValue('op') + "'";
return [code, generator.ORDER_ATOMIC];
-}
\ No newline at end of file
+}
+
+export const urequests_wifi_connect = function (_, generator) {
+ generator.definitions_['import_urequests'] = "import urequests";
+ var username = generator.valueToCode(this, 'WIFINAME', generator.ORDER_ATOMIC);
+ var password = generator.valueToCode(this, 'PASSWORD', generator.ORDER_ATOMIC);
+ var code = 'wifi.connect(' + username + ',' + password + ')\n';
+ return code;
+}
+
+export const urequests_wifi_url = function (_, generator) {
+ generator.definitions_['import_urequests'] = "import urequests";
+ var url = generator.valueToCode(this, 'URL', generator.ORDER_ATOMIC);
+ var code = url;
+ return [code,generator.ORDER_ATOMIC];
+}
+
+export const urequests_connect_url = function (_, generator) {
+ generator.definitions_['import_urequests'] = "import urequests";
+ var url = generator.valueToCode(this, 'url', generator.ORDER_ATOMIC);
+ return 'response=urequests.get('+url+')\n';
+}
+
+export const urequests_response = function (_, generator) {
+ generator.definitions_['import_urequests'] = "import urequests";
+ var code = 'res=response.text';
+ return [code,generator.ORDER_ATOMIC];
+}
diff --git a/boards/default_src/micropython/origin/build/lib/matrix16x8.py b/boards/default_src/micropython/origin/build/lib/matrix16x8.py
index cbb58b6b..ed658f29 100644
--- a/boards/default_src/micropython/origin/build/lib/matrix16x8.py
+++ b/boards/default_src/micropython/origin/build/lib/matrix16x8.py
@@ -65,3 +65,6 @@ class Matrix(HT16K33):
SKULL=b'\xe0\x03\x90\x04\x88\x08x\x0f\xf0\x07 \x02\xa0\x02\xc0\x01'
GIRAFFE=b'\x80\x01\x80\x03\x80\x00\x80\x00\x80\x00\xf0\x00\x90\x00\x90\x00'
SWORD=b'\x00\x00\x10\x000\x00\xfc\x1f\xfc\x1f0\x00\x10\x00\x00\x00'
+ DOOR_OPENING=b'\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff'
+ DOOR_OPEN=b'\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff'
+ DOOR_CLOSE=b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'
diff --git a/boards/default_src/micropython_esp32c2/blocks/esp32_profile.js b/boards/default_src/micropython_esp32c2/blocks/esp32_profile.js
index 2956738a..fe327c31 100644
--- a/boards/default_src/micropython_esp32c2/blocks/esp32_profile.js
+++ b/boards/default_src/micropython_esp32c2/blocks/esp32_profile.js
@@ -28,7 +28,7 @@ pins["MixGo MINI"] = {
tts_builtin_music: Profile.generate(['0-47']),
tts_bgmusic: Profile.generate(['0-15']),
//builtinimg: [["HEART", "matrix.Image.HEART"],["HEART_SMALL", "matrix.Image.HEART_SMALL"],["HAPPY", "matrix.Image.HAPPY"],["SAD", "matrix.Image.SAD"],["SMILE", "matrix.Image.SMILE"],["SILLY", "matrix.Image.SILLY"],["FABULOUS", "matrix.Image.FABULOUS"],["SURPRISED", "matrix.Image.SURPRISED"],["ASLEEP", "matrix.Image.ASLEEP"],["ANGRY", "matrix.Image.ANGRY"],["CONFUSED", "matrix.Image.CONFUSED"],["NO", "matrix.Image.NO"],["YES", "matrix.Image.YES"],["LEFT_ARROW", "matrix.Image.LEFT_ARROW"],["RIGHT_ARROW", "matrix.Image.RIGHT_ARROW"],["DRESS", "matrix.Image.DRESS"],["TRANSFORMERS", "matrix.Image.TRANSFORMERS"],["SCISSORS", "matrix.Image.SCISSORS"],["EXIT", "matrix.Image.EXIT"],["TREE", "matrix.Image.TREE"],["PACMAN", "matrix.Image.PACMAN"],["TARGET", "matrix.Image.TARGET"],["TSHIRT", "matrix.Image.TSHIRT"],["ROLLERSKATE", "matrix.Image.ROLLERSKATE"],["DUCK", "matrix.Image.DUCK"],["HOUSE", "matrix.Image.HOUSE"],["TORTOISE", "matrix.Image.TORTOISE"],["BUTTERFLY", "matrix.Image.BUTTERFLY"],["STICKFIGURE", "matrix.Image.STICKFIGURE"],["GHOST", "matrix.Image.GHOST"],["PITCHFORK", "matrix.Image.PITCHFORK"],["MUSIC_QUAVERS", "matrix.Image.MUSIC_QUAVERS"],["MUSIC_QUAVER", "matrix.Image.MUSIC_QUAVER"],["MUSIC_CROTCHET", "matrix.Image.MUSIC_CROTCHET"],["COW", "matrix.Image.COW"],["RABBIT", "matrix.Image.RABBIT"],["SQUARE_SMALL", "matrix.Image.SQUARE_SMALL"],["SQUARE", "matrix.Image.SQUARE"],["DIAMOND_SMALL", "matrix.Image.DIAMOND_SMALL"],["DIAMOND", "matrix.Image.DIAMOND"],["CHESSBOARD", "matrix.Image.CHESSBOARD"],["TRIANGLE_LEFT", "matrix.Image.TRIANGLE_LEFT"],["TRIANGLE", "matrix.Image.TRIANGLE"],["SNAKE", "matrix.Image.SNAKE"],["UMBRELLA", "matrix.Image.UMBRELLA"],["SKULL", "matrix.Image.SKULL"],["GIRAFFE", "matrix.Image.GIRAFFE"],["SWORD", "matrix.Image.SWORD"]],
- builtinimg: [["HEART", "onboard_matrix.HEART"], ["HEART_SMALL", "onboard_matrix.HEART_SMALL"], ["HAPPY", "onboard_matrix.HAPPY"], ["SAD", "onboard_matrix.SAD"], ["SMILE", "onboard_matrix.SMILE"], ["ANGRY", "onboard_matrix.ANGRY"], ["NO", "onboard_matrix.NO"], ["YES", "onboard_matrix.YES"]],
+ builtinimg: [["HEART", "onboard_matrix.HEART"], ["HEART_SMALL", "onboard_matrix.HEART_SMALL"], ["HAPPY", "onboard_matrix.HAPPY"], ["SAD", "onboard_matrix.SAD"], ["SMILE", "onboard_matrix.SMILE"], ["ANGRY", "onboard_matrix.ANGRY"], ["NO", "onboard_matrix.NO"], ["YES", "onboard_matrix.YES"], ["DOOR_OPEN", "onboard_matrix.DOOR_OPEN"], ["DOOR_OPENING", "onboard_matrix.DOOR_OPENING"], ["DOOR_CLOSE", "onboard_matrix.DOOR_CLOSE"]],
builtinimg_extern: [["HEART", "matrix32x12.Matrix.HEART"], ["HEART_SMALL", "matrix32x12.Matrix.HEART_SMALL"], ["HAPPY", "matrix32x12.Matrix.HAPPY"], ["SAD", "matrix32x12.Matrix.SAD"], ["SMILE", "matrix32x12.Matrix.SMILE"], ["SILLY", "matrix32x12.Matrix.SILLY"], ["FABULOUS", "matrix32x12.Matrix.FABULOUS"], ["SURPRISED", "matrix32x12.Matrix.SURPRISED"], ["ASLEEP", "matrix32x12.Matrix.ASLEEP"], ["ANGRY", "matrix32x12.Matrix.ANGRY"], ["CONFUSED", "matrix32x12.Matrix.CONFUSED"], ["NO", "matrix32x12.Matrix.NO"], ["YES", "matrix32x12.Matrix.YES"], ["LEFT_ARROW", "matrix32x12.Matrix.LEFT_ARROW"], ["RIGHT_ARROW", "matrix32x12.Matrix.RIGHT_ARROW"], ["DRESS", "matrix32x12.Matrix.DRESS"], ["TRANSFORMERS", "matrix32x12.Matrix.TRANSFORMERS"], ["SCISSORS", "matrix32x12.Matrix.SCISSORS"], ["EXIT", "matrix32x12.Matrix.EXIT"], ["TREE", "matrix32x12.Matrix.TREE"], ["PACMAN", "matrix32x12.Matrix.PACMAN"], ["TARGET", "matrix32x12.Matrix.TARGET"], ["TSHIRT", "matrix32x12.Matrix.TSHIRT"], ["ROLLERSKATE", "matrix32x12.Matrix.ROLLERSKATE"], ["DUCK", "matrix32x12.Matrix.DUCK"], ["HOUSE", "matrix32x12.Matrix.HOUSE"], ["TORTOISE", "matrix32x12.Matrix.TORTOISE"], ["BUTTERFLY", "matrix32x12.Matrix.BUTTERFLY"], ["STICKFIGURE", "matrix32x12.Matrix.STICKFIGURE"], ["GHOST", "matrix32x12.Matrix.GHOST"], ["PITCHFORK", "matrix32x12.Matrix.PITCHFORK"], ["onboard_music_QUAVERS", "matrix32x12.Matrix.onboard_music_QUAVERS"], ["onboard_music_QUAVER", "matrix32x12.Matrix.onboard_music_QUAVER"], ["onboard_music_CROTCHET", "matrix32x12.Matrix.onboard_music_CROTCHET"], ["COW", "matrix32x12.Matrix.COW"], ["RABBIT", "matrix32x12.Matrix.RABBIT"], ["SQUARE_SMALL", "matrix32x12.Matrix.SQUARE_SMALL"], ["SQUARE", "matrix32x12.Matrix.SQUARE"], ["DIAMOND_SMALL", "matrix32x12.Matrix.DIAMOND_SMALL"], ["DIAMOND", "matrix32x12.Matrix.DIAMOND"], ["CHESSBOARD", "matrix32x12.Matrix.CHESSBOARD"], ["TRIANGLE_LEFT", "matrix32x12.Matrix.TRIANGLE_LEFT"], ["TRIANGLE", "matrix32x12.Matrix.TRIANGLE"], ["SNAKE", "matrix32x12.Matrix.SNAKE"], ["UMBRELLA", "matrix32x12.Matrix.UMBRELLA"], ["SKULL", "matrix32x12.Matrix.SKULL"], ["GIRAFFE", "matrix32x12.Matrix.GIRAFFE"], ["SWORD", "matrix32x12.Matrix.SWORD"]],
imglist: [["ALL_CLOCKS", "matrix.Image.ALL_CLOCKS"], ["ALL_ARROWS", "matrix.Image.ALL_ARROWS"]],
playlist: [["DADADADUM", "onboard_music.DADADADUM"], ["BIRTHDAY", "onboard_music.BIRTHDAY"], ["BA_DING", "onboard_music.BA_DING"], ["JUMP_UP", "onboard_music.JUMP_UP"], ["JUMP_DOWN", "onboard_music.JUMP_DOWN"], ["POWER_UP", "onboard_music.POWER_UP"], ["POWER_DOWN", "onboard_music.POWER_DOWN"]],
diff --git a/boards/default_src/micropython_esp32c2/template.xml b/boards/default_src/micropython_esp32c2/template.xml
index 65c3a8af..a8e627a5 100644
--- a/boards/default_src/micropython_esp32c2/template.xml
+++ b/boards/default_src/micropython_esp32c2/template.xml
@@ -6446,6 +6446,37 @@
+
+
+
+ wifi-name
+
+
+
+
+ wifi-password
+
+
+
+
+
+
+ url
+
+
+
+
+
+
+
+
+ url
+
+
+
+
+
+
diff --git a/common/msg/blockly/en.js b/common/msg/blockly/en.js
index 032cbe65..6fa717cc 100644
--- a/common/msg/blockly/en.js
+++ b/common/msg/blockly/en.js
@@ -3630,4 +3630,10 @@ En.MIXLY_DUTY_RATIO = "value,frequency";
En.MIXLY_OP_GARBAGE_COLLECT = "operate garbage collection";
En.MIXLY_GET_MEM_ALLOC = "get the allocated memory(Bytes)";
En.MIXLY_GET_MEM_FREE = "get the free memory (Bytes)";
+En.MIXLY_ESP32_UREQUESTS_CONNECT_WIFI = "connect to wifi network";
+En.MIXLY_UREQUESTS_URL_TOOLTIP = "the url used to initiate a network request";
+En.MIXLY_ESP32_CONNECT_URL_TOOLTIP = "initiate a network request";
+En.MIXLY_ESP32_UREQUESTS_URL_TOOLTIP = "initiate a network request through the API URL";
+En.MIXLY_ESP32_URL_REPONSE = "API return data";
+En.MIXLY_ESP32_URL_REPONSE_TOOLTIP = "get the data returned by the API";
})();
\ No newline at end of file
diff --git a/common/msg/blockly/zh-hans.js b/common/msg/blockly/zh-hans.js
index 6e5f6650..86713c96 100644
--- a/common/msg/blockly/zh-hans.js
+++ b/common/msg/blockly/zh-hans.js
@@ -3778,4 +3778,10 @@ ZhHans.MIXLY_DUTY_RATIO = "(值,频率)";
ZhHans.MIXLY_OP_GARBAGE_COLLECT = "运行垃圾回收";
ZhHans.MIXLY_GET_MEM_ALLOC = "获取已使用内存容量(Bytes)";
ZhHans.MIXLY_GET_MEM_FREE = "获取未使用内存容量(Bytes)";
+ZhHans.MIXLY_ESP32_UREQUESTS_CONNECT_WIFI = "连接Wi-Fi网络";
+ZhHans.MIXLY_UREQUESTS_URL_TOOLTIP = "用于发起网络请求的URL";
+ZhHans.MIXLY_ESP32_CONNECT_URL_TOOLTIP = "发起网络请求";
+ZhHans.MIXLY_ESP32_UREQUESTS_URL_TOOLTIP = "通过API的URL发起网络请求";
+ZhHans.MIXLY_ESP32_URL_REPONSE = "API返回数据";
+ZhHans.MIXLY_ESP32_URL_REPONSE_TOOLTIP = "获得API返回的数据";
})();
\ No newline at end of file
diff --git a/common/msg/blockly/zh-hant.js b/common/msg/blockly/zh-hant.js
index 5c49149a..bceac503 100644
--- a/common/msg/blockly/zh-hant.js
+++ b/common/msg/blockly/zh-hant.js
@@ -3633,4 +3633,10 @@ ZhHant.MIXLY_DUTY_RATIO = "(值,頻率)";
ZhHant.MIXLY_OP_GARBAGE_COLLECT = "運行垃圾回收";
ZhHant.MIXLY_GET_MEM_ALLOC = "獲取已使用内存容量(Bytes)";
ZhHant.MIXLY_GET_MEM_FREE = "獲取未使用内存容量(Bytes)";
+ZhHant.MIXLY_ESP32_UREQUESTS_CONNECT_WIFI = "連接Wi-Fi網絡";
+ZhHant.MIXLY_UREQUESTS_URL_TOOLTIP = "用於發起網絡請求的URL";
+ZhHant.MIXLY_ESP32_CONNECT_URL_TOOLTIP = "發起網絡請求";
+ZhHant.MIXLY_ESP32_UREQUESTS_URL_TOOLTIP = "通過API的URL發起網絡請求";
+ZhHant.MIXLY_ESP32_URL_REPONSE = "API返回數據";
+ZhHant.MIXLY_ESP32_URL_REPONSE_TOOLTIP = "獲得API返回的數據";
})();
\ No newline at end of file