chao il y a 11 mois
Parent
commit
f87488d59a

+ 48 - 8
blockly/blocks/python/ai.js

@@ -13576,7 +13576,12 @@ Blockly.Blocks["cocopi_chatGpt_init"] = {
 Blockly.Python['cocopi_chatGpt_init'] = function (block) {
     Blockly.Python.definitions_['v831_import_sys'] = `import sys
 sys.path.append("/root/")`
-    Blockly.Python.definitions_['v831_import_CocoPi_Gpt'] = `from CocoPi import GPTrequest`
+    Blockly.Python.definitions_['v831_import_CocoPi_Gpt'] = `try:
+    from CocoPi import GPTrequest
+except:
+    import sys
+    sys.path.append("/home/drivers/pylib/")
+    from GPTrequest import GPTrequest`
     Blockly.Python.definitions_['v831_import_CocoPi_Gpt_init'] = `gptInit = GPTrequest()`
     var code = ``;
     // TODO: Change ORDER_NONE to the correct strength.
@@ -13600,7 +13605,12 @@ Blockly.Python['cocopi_chatGpt_text_to_img_loading'] = function (block) {
     var text = Blockly.Python.valueToCode(block, 'NAME', Blockly.Python.ORDER_ATOMIC);
     Blockly.Python.definitions_['v831_import_sys'] = `import sys
 sys.path.append("/root/")`
-    Blockly.Python.definitions_['v831_import_CocoPi_Gpt'] = `from CocoPi import GPTrequest`
+    Blockly.Python.definitions_['v831_import_CocoPi_Gpt'] = `try:
+    from CocoPi import GPTrequest
+except:
+    import sys
+    sys.path.append("/home/drivers/pylib/")
+    from GPTrequest import GPTrequest`
     Blockly.Python.definitions_['v831_import_CocoPi_Gpt_init'] = `gptInit = GPTrequest()`
     // Blockly.Python.addVariable("TextContent", `TextContent = ""`, true)
     var code = `gptInit.get_text_to_img(${text})`;
@@ -13630,7 +13640,12 @@ Blockly.Python['cocopi_chatGpt_image_to_text_loading'] = function (block) {
     var content = Blockly.Python.valueToCode(block, 'NAME1', Blockly.Python.ORDER_ATOMIC);
     Blockly.Python.definitions_['v831_import_sys'] = `import sys
 sys.path.append("/root/")`
-    Blockly.Python.definitions_['v831_import_CocoPi_Gpt'] = `from CocoPi import GPTrequest`
+    Blockly.Python.definitions_['v831_import_CocoPi_Gpt'] = `try:
+    from CocoPi import GPTrequest
+except:
+    import sys
+    sys.path.append("/home/drivers/pylib/")
+    from GPTrequest import GPTrequest`
     Blockly.Python.definitions_['v831_import_CocoPi_Gpt_init'] = `gptInit = GPTrequest()`
     var code = `gptInit.get_image_to_text(${text},${content})`;
     // TODO: Change ORDER_NONE to the correct strength.
@@ -13655,7 +13670,12 @@ Blockly.Python['cocopi_chatGpt_text_to_voice_loading'] = function (block) {
     var text = Blockly.Python.valueToCode(block, 'NAME', Blockly.Python.ORDER_ATOMIC);
     Blockly.Python.definitions_['v831_import_sys'] = `import sys
 sys.path.append("/root/")`
-    Blockly.Python.definitions_['v831_import_CocoPi_Gpt'] = `from CocoPi import GPTrequest`
+    Blockly.Python.definitions_['v831_import_CocoPi_Gpt'] = `try:
+    from CocoPi import GPTrequest
+except:
+    import sys
+    sys.path.append("/home/drivers/pylib/")
+    from GPTrequest import GPTrequest`
     Blockly.Python.definitions_['v831_import_CocoPi_Gpt_init'] = `gptInit = GPTrequest()`
     var code = `gptInit.get_text_to_voice(${text})`;
     // TODO: Change ORDER_NONE to the correct strength.
@@ -13693,7 +13713,12 @@ Blockly.Python['cocopi_chatGpt_voice_to_text_loading'] = function (block) {
     var text = Blockly.Python.valueToCode(block, 'NAME', Blockly.Python.ORDER_ATOMIC);
     Blockly.Python.definitions_['v831_import_sys'] = `import sys
 sys.path.append("/root/")`
-    Blockly.Python.definitions_['v831_import_CocoPi_Gpt'] = `from CocoPi import GPTrequest`
+    Blockly.Python.definitions_['v831_import_CocoPi_Gpt'] = `try:
+    from CocoPi import GPTrequest
+except:
+    import sys
+    sys.path.append("/home/drivers/pylib/")
+    from GPTrequest import GPTrequest`
     Blockly.Python.definitions_['v831_import_CocoPi_Gpt_init'] = `gptInit = GPTrequest()`
     var code = `gptInit.get_voice_to_text(${text})`;
     // TODO: Change ORDER_NONE to the correct strength.
@@ -13718,7 +13743,12 @@ Blockly.Python['cocopi_chatGpt_post_chatgpt_loading'] = function (block) {
     var text = Blockly.Python.valueToCode(block, 'NAME', Blockly.Python.ORDER_ATOMIC);
     Blockly.Python.definitions_['v831_import_sys'] = `import sys
 sys.path.append("/root/")`
-    Blockly.Python.definitions_['v831_import_CocoPi_Gpt'] = `from CocoPi import GPTrequest`
+    Blockly.Python.definitions_['v831_import_CocoPi_Gpt'] = `try:
+    from CocoPi import GPTrequest
+except:
+    import sys
+    sys.path.append("/home/drivers/pylib/")
+    from GPTrequest import GPTrequest`
     Blockly.Python.definitions_['v831_import_CocoPi_Gpt_init'] = `gptInit = GPTrequest()`
     var code = `gptInit.get_post_chatgpt(${text})`;
     // TODO: Change ORDER_NONE to the correct strength.
@@ -13810,7 +13840,12 @@ Blockly.Python['cocopi_chatGpt_AI_loading'] = function (block) {
     var text = Blockly.Python.valueToCode(block, 'NAME', Blockly.Python.ORDER_ATOMIC);
     Blockly.Python.definitions_['v831_import_sys'] = `import sys
 sys.path.append("/root/")`
-    Blockly.Python.definitions_['v831_import_CocoPi_Gpt'] = `from CocoPi import GPTrequest`
+    Blockly.Python.definitions_['v831_import_CocoPi_Gpt'] = `try:
+    from CocoPi import GPTrequest
+except:
+    import sys
+    sys.path.append("/home/drivers/pylib/")
+    from GPTrequest import GPTrequest`
     Blockly.Python.definitions_['v831_import_CocoPi_Gpt_init'] = `gptInit = GPTrequest()`
     var code = `gptInit.get_post_AI_Intelligence(${text},${content})`
     return [code, Blockly.Python.ORDER_ATOMIC];
@@ -13838,7 +13873,12 @@ Blockly.Python['cocopi_chatGpt_AI_loading_more'] = function (block) {
     var text = Blockly.Python.valueToCode(block, 'NAME', Blockly.Python.ORDER_ATOMIC);
     Blockly.Python.definitions_['v831_import_sys'] = `import sys
 sys.path.append("/root/")`
-    Blockly.Python.definitions_['v831_import_CocoPi_Gpt'] = `from CocoPi import GPTrequest`
+    Blockly.Python.definitions_['v831_import_CocoPi_Gpt'] = `try:
+    from CocoPi import GPTrequest
+except:
+    import sys
+    sys.path.append("/home/drivers/pylib/")
+    from GPTrequest import GPTrequest`
     Blockly.Python.definitions_['v831_import_CocoPi_Gpt_init'] = `gptInit = GPTrequest()`
     var code = `gptInit.cocopi_chatGpt_AI_loading_more(${text},${content})`
     //     Blockly.Python.definitions_['v831_import_requests'] = `import requests`

+ 2 - 2
blockly/blocks/python/esp32.js

@@ -3194,9 +3194,9 @@ def wifi_is_content():
                     os.system("wifi_connect_chinese_ap_test "+WiFiSSID+" "+WiFiPSD+"")
                     getNetworkDate_noexit()
                     if wifi_is_content():
-                        state = 1
+                        stateNetwork = 1
                     else:
-                        state = 0
+                        stateNetwork = 0
                     CODERESULT = ""
             elif stateNetwork == 1:
                 break

Fichier diff supprimé car celui-ci est trop grand
+ 207 - 721
src/python/GPT/ai智能问答.xml


+ 134 - 639
src/python/GPT/图生文.xml

@@ -1,683 +1,178 @@
 <xml xmlns="http://www.w3.org/1999/xhtml" type="IoT">
-  <block type="ai_lcd_screeninit" id="2PHESD`!?Rz;,*CXs|@U" x="0" y="0">
-    <field name="isScreen">False</field>
+  <block type="V831_code_scanning_network" id="o|=(8@6y?!9X~yNq,Esi" x="-86" y="71">
     <next>
-      <block type="procedures_callnoreturn" id="SLAXL/P~.W~xa2xY{,}3">
-        <mutation name="扫码联网"></mutation>
+      <block type="variables_set" id=")iVD]kccK5Rh0e())bb@">
+        <field name="VAR">img_to_text_content</field>
+        <value name="VALUE">
+          <shadow type="math_number" id="@^`9U?/UByIVcA@@tA*r">
+            <field name="NUM">0</field>
+          </shadow>
+          <block type="text" id="RNy9zUy[xDu{{J:OHj17">
+            <field name="TEXT"></field>
+          </block>
+        </value>
         <next>
-          <block type="variables_set" id=")iVD]kccK5Rh0e())bb@">
-            <field name="VAR">img_to_text_content</field>
+          <block type="variables_set" id="V2+_z5Oc#{g^z?)?2rJ)">
+            <field name="VAR">img_src</field>
             <value name="VALUE">
-              <shadow type="math_number" id="@^`9U?/UByIVcA@@tA*r">
+              <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
                 <field name="NUM">0</field>
               </shadow>
-              <block type="text" id="RNy9zUy[xDu{{J:OHj17">
-                <field name="TEXT"></field>
+              <block type="text" id="#0mf$@y^*CSU9OfvjGSI">
+                <field name="TEXT">/root/user/img/saved.jpg</field>
               </block>
             </value>
             <next>
-              <block type="variables_set" id="V2+_z5Oc#{g^z?)?2rJ)">
-                <field name="VAR">img_src</field>
-                <value name="VALUE">
-                  <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
-                    <field name="NUM">0</field>
-                  </shadow>
-                  <block type="text" id="#0mf$@y^*CSU9OfvjGSI">
-                    <field name="TEXT">/root/user/img/saved.jpg</field>
-                  </block>
-                </value>
-                <next>
-                  <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
-                    <statement name="DO">
-                      <block type="ai_camera_fit_to_screen_size" id="FXI{hFCLy=*xB?M[Q-)^">
-                        <field name="varitem">canvas</field>
-                        <field name="size">320</field>
-                        <next>
-                          <block type="ai_v831_button_read_released" id="$x~gT)UEvgf1df~{m4l@">
-                            <field name="button_type">C</field>
-                            <statement name="input">
-                              <block type="variables_set" id="EXuiMRz7BKJKwg+Xna@$">
-                                <field name="VAR">img_to_text_content</field>
-                                <value name="VALUE">
-                                  <shadow type="math_number" id="@^`9U?/UByIVcA@@tA*r">
-                                    <field name="NUM">0</field>
+              <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
+                <statement name="DO">
+                  <block type="ai_camera_fit_to_screen_size" id="FXI{hFCLy=*xB?M[Q-)^">
+                    <field name="size">320</field>
+                    <next>
+                      <block type="ai_v831_button_read_released" id="$x~gT)UEvgf1df~{m4l@">
+                        <field name="button_type">C</field>
+                        <statement name="input">
+                          <block type="variables_set" id="EXuiMRz7BKJKwg+Xna@$">
+                            <field name="VAR">img_to_text_content</field>
+                            <value name="VALUE">
+                              <shadow type="math_number" id="@^`9U?/UByIVcA@@tA*r">
+                                <field name="NUM">0</field>
+                              </shadow>
+                              <block type="text" id="FXY@.a6|D8g/Ff1?9{rL">
+                                <field name="TEXT"></field>
+                              </block>
+                            </value>
+                            <next>
+                              <block type="v831_img_save" id="PN+b$0p5dS~S$?q^rbD+">
+                                <value name="save_path">
+                                  <shadow type="text" id="ur#N{@9}!d#xjK/qABjC">
+                                    <field name="TEXT">/root/user/img/saved.jpg</field>
                                   </shadow>
-                                  <block type="text" id="FXY@.a6|D8g/Ff1?9{rL">
-                                    <field name="TEXT"></field>
+                                  <block type="variables_get" id="KiAgyXvgDa`wO*W!ZCW+">
+                                    <field name="VAR">img_src</field>
                                   </block>
                                 </value>
                                 <next>
-                                  <block type="v831_img_save" id="PN+b$0p5dS~S$?q^rbD+">
-                                    <field name="varitem">canvas</field>
-                                    <value name="save_path">
-                                      <shadow type="text" id="ur#N{@9}!d#xjK/qABjC">
-                                        <field name="TEXT">/root/user/img/saved.jpg</field>
+                                  <block type="variables_set" id="AYlok[{=}3uUljO8PF0v">
+                                    <field name="VAR">img_to_text_content</field>
+                                    <value name="VALUE">
+                                      <shadow type="math_number" id="MQBglB?b{[Duxz`s4Slu">
+                                        <field name="NUM">0</field>
                                       </shadow>
-                                      <block type="variables_get" id="KiAgyXvgDa`wO*W!ZCW+">
-                                        <field name="VAR">img_src</field>
-                                      </block>
-                                    </value>
-                                    <next>
-                                      <block type="variables_set" id="AYlok[{=}3uUljO8PF0v">
-                                        <field name="VAR">img_to_text_content</field>
-                                        <value name="VALUE">
-                                          <shadow type="math_number" id="MQBglB?b{[Duxz`s4Slu">
-                                            <field name="NUM">0</field>
+                                      <block type="cocopi_chatGpt_image_to_text_loading" id="Sr?)[K0PkVD(*B%X,5z$">
+                                        <value name="NAME">
+                                          <shadow type="text" id="HV.[z[V5tiPX}r_u)i`n">
+                                            <field name="TEXT">/root/preset/img/face/face21.jpg</field>
                                           </shadow>
-                                          <block type="cocopi_chatGpt_image_to_text_loading" id="Sr?)[K0PkVD(*B%X,5z$">
-                                            <value name="NAME">
-                                              <shadow type="text" id="HV.[z[V5tiPX}r_u)i`n">
-                                                <field name="TEXT">/root/preset/img/face/face21.jpg</field>
-                                              </shadow>
-                                              <block type="variables_get" id="1lfuPp!}FmNPI_:.^i/Y">
-                                                <field name="VAR">img_src</field>
-                                              </block>
-                                            </value>
-                                            <value name="NAME1">
-                                              <shadow type="text" id="{0$,bpI*vze+~q9?{}Ie">
-                                                <field name="TEXT">图片什么内容</field>
-                                              </shadow>
-                                            </value>
+                                          <block type="variables_get" id="1lfuPp!}FmNPI_:.^i/Y">
+                                            <field name="VAR">img_src</field>
                                           </block>
                                         </value>
+                                        <value name="NAME1">
+                                          <shadow type="text" id="{0$,bpI*vze+~q9?{}Ie">
+                                            <field name="TEXT">图片什么内容</field>
+                                          </shadow>
+                                        </value>
                                       </block>
-                                    </next>
+                                    </value>
                                   </block>
                                 </next>
                               </block>
-                            </statement>
-                            <next>
-                              <block type="controls_if" id="*/}`F-)1joSIx4`;B=#,">
-                                <value name="IF0">
-                                  <block type="logic_compare" id="]0$i}O6%v`3.ciyVKl?Q">
-                                    <field name="OP">NEQ</field>
-                                    <value name="A">
-                                      <block type="variables_get" id="]2U*.!uh*YICC,m?7ssZ">
-                                        <field name="VAR">img_to_text_content</field>
-                                      </block>
-                                    </value>
-                                    <value name="B">
-                                      <block type="text" id="n/2kkLvkD`MG/|18aDPt">
-                                        <field name="TEXT"></field>
-                                      </block>
-                                    </value>
+                            </next>
+                          </block>
+                        </statement>
+                        <next>
+                          <block type="controls_if" id="*/}`F-)1joSIx4`;B=#,">
+                            <value name="IF0">
+                              <block type="logic_compare" id="]0$i}O6%v`3.ciyVKl?Q">
+                                <field name="OP">NEQ</field>
+                                <value name="A">
+                                  <block type="variables_get" id="]2U*.!uh*YICC,m?7ssZ">
+                                    <field name="VAR">img_to_text_content</field>
                                   </block>
                                 </value>
-                                <statement name="DO0">
-                                  <block type="ai_lcd_textcarvas_new_line" id="I;Ek9-V!pt(lI;m`Ea0V">
-                                    <field name="varitem">canvas</field>
-                                    <value name="POSA">
-                                      <block type="lcd_set_position" id="yC2NKuLZx#Kudr6m0(O@">
-                                        <value name="POSX">
-                                          <shadow type="math_number" id="fHEWtN0!Pf,7ThruOT|_">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="POSY">
-                                          <shadow type="math_number" id="~QqL?5N^qj8j!?lL|^vd">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="CONTENT">
-                                      <shadow type="text" id="26(?P.LNPN._%Xvd)F_M">
-                                        <field name="TEXT">假如我是一只鸟, 我也应该用嘶哑的喉咙歌唱: 这被暴风雨所打击着的土地, 这永远汹涌着我们的悲愤的河流, 这无止息地吹刮着的激怒的风, 和那来自林间的无比温柔的黎明…… ——然后我死了, 连羽毛也腐烂在土地里面。 为什么我的眼里常含泪水? 因为我对这土地爱得深沉……</field>
-                                      </shadow>
-                                      <block type="variables_get" id="`h3/GU/4in*?Ph0W^~s*">
-                                        <field name="VAR">img_to_text_content</field>
-                                      </block>
-                                    </value>
-                                    <value name="dispalyStr">
-                                      <shadow type="math_number" id="6Rgtl*,$*J)t(3jm^xN6">
-                                        <field name="NUM">20</field>
-                                      </shadow>
-                                    </value>
-                                    <value name="buttonUp">
-                                      <shadow xmlns="" type="text">
-                                        <field name="TEXT"/>
-                                      </shadow>
-                                      <block type="ai_v831_button_read_pressed_canvas" id="tw##@2#*O;{z09M]/eDc">
-                                        <field name="button_type">D</field>
-                                      </block>
-                                    </value>
-                                    <value name="buttonDown">
-                                      <shadow xmlns="" type="text">
-                                        <field name="TEXT"/>
-                                      </shadow>
-                                      <block type="ai_v831_button_read_pressed_canvas" id="R*l+[q#~i]eLIbp1,%9F">
-                                        <field name="button_type">B</field>
-                                      </block>
-                                    </value>
-                                    <value name="COLOR">
-                                      <block type="lcd_set_color" id="{iYQ_*i*mMhT+O}#X^C;">
-                                        <field name="COLOR">#ff0000</field>
-                                      </block>
-                                    </value>
-                                    <value name="Scale">
-                                      <shadow type="math_number" id="9$wKSVJ[$eU)|7c{_A2I">
-                                        <field name="NUM">1</field>
+                                <value name="B">
+                                  <block type="text" id="n/2kkLvkD`MG/|18aDPt">
+                                    <field name="TEXT"></field>
+                                  </block>
+                                </value>
+                              </block>
+                            </value>
+                            <statement name="DO0">
+                              <block type="ai_lcd_textcarvas_new_line" id="I;Ek9-V!pt(lI;m`Ea0V">
+                                <value name="POSA">
+                                  <block type="lcd_set_position" id="yC2NKuLZx#Kudr6m0(O@">
+                                    <value name="POSX">
+                                      <shadow type="math_number" id="fHEWtN0!Pf,7ThruOT|_">
+                                        <field name="NUM">0</field>
                                       </shadow>
                                     </value>
-                                    <value name="LineNum">
-                                      <shadow type="math_number" id="zqn}Mv!Zf,BP.6vWewb[">
-                                        <field name="NUM">20</field>
+                                    <value name="POSY">
+                                      <shadow type="math_number" id="~QqL?5N^qj8j!?lL|^vd">
+                                        <field name="NUM">0</field>
                                       </shadow>
                                     </value>
                                   </block>
-                                </statement>
-                                <next>
-                                  <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_">
-                                    <field name="varitem">canvas</field>
+                                </value>
+                                <value name="CONTENT">
+                                  <shadow type="text" id="26(?P.LNPN._%Xvd)F_M">
+                                    <field name="TEXT">假如我是一只鸟, 我也应该用嘶哑的喉咙歌唱: 这被暴风雨所打击着的土地, 这永远汹涌着我们的悲愤的河流, 这无止息地吹刮着的激怒的风, 和那来自林间的无比温柔的黎明…… ——然后我死了, 连羽毛也腐烂在土地里面。 为什么我的眼里常含泪水? 因为我对这土地爱得深沉……</field>
+                                  </shadow>
+                                  <block type="variables_get" id="`h3/GU/4in*?Ph0W^~s*">
+                                    <field name="VAR">img_to_text_content</field>
                                   </block>
-                                </next>
-                              </block>
-                            </next>
-                          </block>
-                        </next>
-                      </block>
-                    </statement>
-                  </block>
-                </next>
-              </block>
-            </next>
-          </block>
-        </next>
-      </block>
-    </next>
-  </block>
-  <block type="procedures_defnoreturn" id="MdO0;x:sGHz$S(A{|%pN" x="685" y="114">
-    <field name="NAME">扫码联网</field>
-    <statement name="STACK">
-      <block type="controls_if" id="QFmk|4Cw6}n21!nrke#y">
-        <mutation else="1"></mutation>
-        <value name="IF0">
-          <block type="esp32_main_controller_get_wifi_connection_status" id="(x)B:OwYh|EpoS,iU~y2"></block>
-        </value>
-        <statement name="DO0">
-          <block type="variables_set" id="oldLjE9h_V);0gwLUqLp">
-            <field name="VAR">state</field>
-            <value name="VALUE">
-              <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                <field name="NUM">0</field>
-              </shadow>
-              <block type="text" id="S~`1o~82TueNdD6TT*fr">
-                <field name="TEXT"></field>
-              </block>
-            </value>
-          </block>
-        </statement>
-        <statement name="ELSE">
-          <block type="variables_set" id="k]EGN;l^*}3jz{T?Ce#F">
-            <field name="VAR">state</field>
-            <value name="VALUE">
-              <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                <field name="NUM">0</field>
-              </shadow>
-              <block type="text" id="8W*i4NJ;Vru3e1[^ou_c">
-                <field name="TEXT">扫码联网</field>
-              </block>
-            </value>
-            <next>
-              <block type="variables_set" id="2GkC(H8?w!`rDB?Bx?J=">
-                <field name="VAR">识别结果</field>
-                <value name="VALUE">
-                  <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
-                    <field name="NUM">0</field>
-                  </shadow>
-                  <block type="text" id="Slp_:m=z,Hklsa)s{@PY">
-                    <field name="TEXT"></field>
-                  </block>
-                </value>
-                <next>
-                  <block type="controls_repeat_forever" id=":LF5=[ApbR;GVmzmh|`~">
-                    <statement name="DO">
-                      <block type="controls_if" id="(%Lc=pe(bSVHpTsYm?/{">
-                        <mutation elseif="1"></mutation>
-                        <value name="IF0">
-                          <block type="logic_compare" id="t`Fs.OucEz)@5eXC$5J*">
-                            <field name="OP">EQ</field>
-                            <value name="A">
-                              <block type="variables_get" id="h/:RncBzY$kT|1p*xpWA">
-                                <field name="VAR">state</field>
-                              </block>
-                            </value>
-                            <value name="B">
-                              <block type="text" id="x#U|#$aY5?0E=pc^Ux[G">
-                                <field name="TEXT">扫码联网</field>
-                              </block>
-                            </value>
-                          </block>
-                        </value>
-                        <statement name="DO0">
-                          <block type="variables_set" id="Cu;$;(2=5xDCN0X_`V)3">
-                            <field name="VAR">canvas</field>
-                            <value name="VALUE">
-                              <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
-                                <field name="NUM">0</field>
-                              </shadow>
-                              <block type="ai_camera_snapshot" id="=1}#3hbmJ?he_09~HeDn"></block>
-                            </value>
-                            <next>
-                              <block type="variables_set" id="#rZEhIT(h!ixt0TY8k#$">
-                                <field name="VAR">qrCode</field>
-                                <value name="VALUE">
-                                  <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
-                                    <field name="NUM">0</field>
+                                </value>
+                                <value name="dispalyStr">
+                                  <shadow type="math_number" id="6Rgtl*,$*J)t(3jm^xN6">
+                                    <field name="NUM">20</field>
+                                  </shadow>
+                                </value>
+                                <value name="buttonUp">
+                                  <shadow xmlns="" type="text">
+                                    <field name="TEXT"/>
                                   </shadow>
-                                  <block type="ai_vision_find_qrcode" id="XR1FTyBZ~BfT3B^h?2Xw">
-                                    <field name="varitem">canvas</field>
+                                  <block type="ai_v831_button_read_pressed_canvas" id="tw##@2#*O;{z09M]/eDc">
+                                    <field name="button_type">D</field>
                                   </block>
                                 </value>
-                                <next>
-                                  <block type="ai_lcd_draw_rectangle" id="XI5$[-#i^sfT(Anxj[[I">
-                                    <field name="varitem">canvas</field>
-                                    <field name="rect_type">fillrect</field>
-                                    <value name="POSA">
-                                      <block type="lcd_set_position" id="XHp~TJ9.ZOoO3Bp.CRPH">
-                                        <value name="POSX">
-                                          <shadow type="math_number" id="~0P_+`}ChKF6K5#/3_?[">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="POSY">
-                                          <shadow type="math_number" id="8*Fi]9hQE^]ta:+AGSq#">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="POSB">
-                                      <block type="lcd_set_width_height" id="_:HI_$5=X6gCu8zg?]].">
-                                        <value name="WIDTH">
-                                          <shadow type="math_number" id="LxbbW3:5h`0FA=Q+a6,-">
-                                            <field name="NUM">320</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="HEIGHT">
-                                          <shadow type="math_number" id=")Q|6ozkgm|%Oy@(w+njY">
-                                            <field name="NUM">20</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="COLOR">
-                                      <block type="lcd_set_color" id="f]`#WIQ0g.nhp)v_f+ra">
-                                        <field name="COLOR">#000000</field>
-                                      </block>
-                                    </value>
-                                    <next>
-                                      <block type="ai_lcd_textcarvas" id="o?Xee3@7Z7d1shgt=.~!">
-                                        <field name="varitem">canvas</field>
-                                        <value name="POSA">
-                                          <block type="lcd_set_position" id="%*a8qVFhJ[_J};+GRxvP">
-                                            <value name="POSX">
-                                              <shadow type="math_number" id="45#Ks%g9].:V;gyLe@7v">
-                                                <field name="NUM">50</field>
-                                              </shadow>
-                                            </value>
-                                            <value name="POSY">
-                                              <shadow type="math_number" id=";8`kH5D%t*Eoa{SFW-7U">
-                                                <field name="NUM">0</field>
-                                              </shadow>
-                                            </value>
-                                          </block>
-                                        </value>
-                                        <value name="CONTENT">
-                                          <shadow type="text" id="Yx!}/WC#[6zWWcyEp^k4">
-                                            <field name="TEXT">请扫描平台Wi-Fi二维码联网</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="COLOR">
-                                          <block type="lcd_set_color" id="iLjzPIF%lYI;?KBQ#/[$">
-                                            <field name="COLOR">#ffffff</field>
-                                          </block>
-                                        </value>
-                                        <value name="Scale">
-                                          <shadow type="math_number" id="nqzOJydkF/($.[m$H6Pv">
-                                            <field name="NUM">1</field>
-                                          </shadow>
-                                        </value>
-                                        <next>
-                                          <block type="controls_forEach" id="-:L$lT0zA7mfToS/t,.F">
-                                            <field name="VAR">i</field>
-                                            <value name="LIST">
-                                              <block type="variables_get" id="-{c41z,w]Y#[QB8KCcVz">
-                                                <field name="VAR">qrCode</field>
-                                              </block>
-                                            </value>
-                                            <statement name="DO">
-                                              <block type="ai_lcd_textcarvas" id="8a{z9sANpfx,m-E^?[ws">
-                                                <field name="varitem">canvas</field>
-                                                <value name="POSA">
-                                                  <block type="lcd_set_position" id="ioxr$KyBF@y^:cSUW[b)">
-                                                    <value name="POSX">
-                                                      <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="+JV^_A]p9mWwj4XMccW=">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">x</field>
-                                                      </block>
-                                                    </value>
-                                                    <value name="POSY">
-                                                      <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="3@C4V}bZ+$Zq%4rv{VSc">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">y</field>
-                                                      </block>
-                                                    </value>
-                                                  </block>
-                                                </value>
-                                                <value name="CONTENT">
-                                                  <shadow type="text" id="!4*_1/3)tAg3ygOM.|YW">
-                                                    <field name="TEXT"></field>
-                                                  </shadow>
-                                                  <block type="ai_vision_qrcode_get_info" id="u}v%Q4HoI0Jx3=a~f`{8">
-                                                    <field name="varitem">i</field>
-                                                    <field name="get_info">payload</field>
-                                                  </block>
-                                                </value>
-                                                <value name="COLOR">
-                                                  <block type="lcd_set_color" id="0uqSLJgr-ah=.H6F0Zg*">
-                                                    <field name="COLOR">#ff0000</field>
-                                                  </block>
-                                                </value>
-                                                <value name="Scale">
-                                                  <shadow type="math_number" id="$Eq^l2JOL,XJt3X@v/W2">
-                                                    <field name="NUM">1</field>
-                                                  </shadow>
-                                                </value>
-                                                <next>
-                                                  <block type="ai_lcd_draw_rectangle" id="qZ)[-$CRx*WU%R5F-C(b">
-                                                    <field name="varitem">canvas</field>
-                                                    <field name="rect_type">rect</field>
-                                                    <value name="POSA">
-                                                      <block type="lcd_set_position" id="%{ni*3`X:MOwcP+$x]Ce" inline="false">
-                                                        <value name="POSX">
-                                                          <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="d`=/VVl{9bDr(rQsN=X9">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">x</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="POSY">
-                                                          <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="w3FPKp`({0i%TOSAkfx|">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">y</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <value name="POSB">
-                                                      <block type="lcd_set_width_height" id="w_%[j;O|%aA;,b/TN?OG" inline="false">
-                                                        <value name="WIDTH">
-                                                          <shadow type="math_number" id="k(B:~2AOLJV~zLnbe)89">
-                                                            <field name="NUM">320</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id=".|m1N_[}die?dg8`TdGY">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">w1</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="HEIGHT">
-                                                          <shadow type="math_number" id="c)u)Q:9p$d5b5%4Lqa9$">
-                                                            <field name="NUM">240</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="$~EzG-QSb%]fHlU@Z+S2">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">h2</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <value name="COLOR">
-                                                      <block type="lcd_set_color" id="8]sijmt:%XtQlj}tgIas">
-                                                        <field name="COLOR">#ff0000</field>
-                                                      </block>
-                                                    </value>
-                                                    <next>
-                                                      <block type="variables_set" id="KVP}T[SMJJey84#dVw0T">
-                                                        <field name="VAR">识别结果</field>
-                                                        <value name="VALUE">
-                                                          <shadow type="math_number" id="~c`T-qSJp-={%Hp!.bS)">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="text_split_string_by_delimiter" id="LTbE[`1q4E(OeDv;,H=^">
-                                                            <field name="delimiter">;</field>
-                                                            <value name="string_input">
-                                                              <block type="ai_vision_qrcode_get_info" id="t-M^Cy5b#OLC+;)kF^N7">
-                                                                <field name="varitem">i</field>
-                                                                <field name="get_info">payload</field>
-                                                              </block>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </next>
-                                                  </block>
-                                                </next>
-                                              </block>
-                                            </statement>
-                                            <next>
-                                              <block type="ai_lcd_showcarvas_set_display" id="_+g?Q4R`)mrc!;|8w=Y~">
-                                                <field name="varitem">canvas</field>
-                                                <next>
-                                                  <block type="controls_if" id="u4,JM+iCSC81$RBCpu5C">
-                                                    <value name="IF0">
-                                                      <block type="logic_compare" id="Ah]X%z9GHc.{/Wc6W2F#">
-                                                        <field name="OP">NEQ</field>
-                                                        <value name="A">
-                                                          <block type="variables_get" id="Cg#*ndDK+W9_!H,48}zu">
-                                                            <field name="VAR">识别结果</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="B">
-                                                          <block type="text" id="Ztob3cliQa=zb*$!QQsu">
-                                                            <field name="TEXT"></field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <statement name="DO0">
-                                                      <block type="variables_set" id="_(vhjruUh#kTA56w|d3d">
-                                                        <field name="VAR">SSID</field>
-                                                        <value name="VALUE">
-                                                          <shadow type="math_number" id="3K*LFc1ljS];!d#%F-4`">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="text_getSubstring" id="HA}:BUUN/Lh]02:)p?t$">
-                                                            <mutation at1="true" at2="false"></mutation>
-                                                            <field name="WHERE1">FROM_START</field>
-                                                            <field name="WHERE2">LAST</field>
-                                                            <value name="STRING">
-                                                              <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                                <field name="TEXT">abc</field>
-                                                              </shadow>
-                                                              <block type="list_order_item" id="5th9:-d^^}a|jY6xj(wn">
-                                                                <field name="list_order">[</field>
-                                                                <value name="list_name">
-                                                                  <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                    <field name="TEXT"></field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="2!t]1Q6[YvWk.Qxvj#L|">
-                                                                    <field name="VAR">识别结果</field>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="list_order_item">
-                                                                  <shadow type="math_number" id="U-6}MxOaKjYG*H#Oi{q[">
-                                                                    <field name="NUM">0</field>
-                                                                  </shadow>
-                                                                </value>
-                                                              </block>
-                                                            </value>
-                                                            <value name="AT1">
-                                                              <block type="math_number" id="Ay7P[`wsl5wzWu]e7H!k">
-                                                                <field name="NUM">5</field>
-                                                              </block>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                        <next>
-                                                          <block type="variables_set" id="BN[#=^R.N=8{4!T?0#qC">
-                                                            <field name="VAR">PASS</field>
-                                                            <value name="VALUE">
-                                                              <shadow type="math_number" id="TE/Z6~Io-j^00#j83r.6">
-                                                                <field name="NUM">0</field>
-                                                              </shadow>
-                                                              <block type="text_getSubstring" id="UL=9DP#qoN}.QG@*FHU!">
-                                                                <mutation at1="true" at2="false"></mutation>
-                                                                <field name="WHERE1">FROM_START</field>
-                                                                <field name="WHERE2">LAST</field>
-                                                                <value name="STRING">
-                                                                  <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                                    <field name="TEXT">abc</field>
-                                                                  </shadow>
-                                                                  <block type="list_order_item" id="_2**VKdEi@)N9l;p4LM~">
-                                                                    <field name="list_order">[</field>
-                                                                    <value name="list_name">
-                                                                      <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                        <field name="TEXT"></field>
-                                                                      </shadow>
-                                                                      <block type="variables_get" id="~qdfyZP,~jtF#*T1+;sY">
-                                                                        <field name="VAR">识别结果</field>
-                                                                      </block>
-                                                                    </value>
-                                                                    <value name="list_order_item">
-                                                                      <shadow type="math_number" id="U-kC|FfTvDa%2qTHC},N">
-                                                                        <field name="NUM">1</field>
-                                                                      </shadow>
-                                                                    </value>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="AT1">
-                                                                  <block type="math_number" id="cS/pZonr0iyWq3|Wp;#~">
-                                                                    <field name="NUM">5</field>
-                                                                  </block>
-                                                                </value>
-                                                              </block>
-                                                            </value>
-                                                            <next>
-                                                              <block type="esp32_main_controller_wifi_connect_internet" id="=jnPdoUl*ACAi-85g}J{">
-                                                                <value name="ssid">
-                                                                  <shadow type="text" id="([(K4/ZxJESaAK;i9lLA">
-                                                                    <field name="TEXT">ENTER_YOUR_SSID</field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="1LX-)-jH},^9TXj).4c!">
-                                                                    <field name="VAR">SSID</field>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="password">
-                                                                  <shadow type="text" id="[I.[L1]LZv$^U{xAXTxT">
-                                                                    <field name="TEXT">ENTER_YOUR_PASSWORD</field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="xPj$i.?ita46~OsGowZU">
-                                                                    <field name="VAR">PASS</field>
-                                                                  </block>
-                                                                </value>
-                                                                <next>
-                                                                  <block type="controls_if" id="?[+@RI,Y^+j%?Ao;M%B;">
-                                                                    <mutation else="1"></mutation>
-                                                                    <value name="IF0">
-                                                                      <block type="esp32_main_controller_get_wifi_connection_status" id="]c2?qP})|]EfvYFEQROi"></block>
-                                                                    </value>
-                                                                    <statement name="DO0">
-                                                                      <block type="variables_set" id="},Y9asDZyTyB#yB7L+et">
-                                                                        <field name="VAR">state</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="sq7I]qNXrv;Ny}TBNw)V">
-                                                                            <field name="TEXT"></field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </statement>
-                                                                    <statement name="ELSE">
-                                                                      <block type="variables_set" id="~+E/j(}}J52t^zVL+y@2">
-                                                                        <field name="VAR">state</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="zsSG)QM`+IL9a[7${WoB">
-                                                                            <field name="TEXT">扫码联网</field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </statement>
-                                                                    <next>
-                                                                      <block type="variables_set" id="P+,6h[)bpFd;~gF3F*|)">
-                                                                        <field name="VAR">识别结果</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="DD1$OM5bjJtDC6eh2mn5">
-                                                                            <field name="TEXT"></field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </next>
-                                                                  </block>
-                                                                </next>
-                                                              </block>
-                                                            </next>
-                                                          </block>
-                                                        </next>
-                                                      </block>
-                                                    </statement>
-                                                  </block>
-                                                </next>
-                                              </block>
-                                            </next>
-                                          </block>
-                                        </next>
-                                      </block>
-                                    </next>
+                                <value name="buttonDown">
+                                  <shadow xmlns="" type="text">
+                                    <field name="TEXT"/>
+                                  </shadow>
+                                  <block type="ai_v831_button_read_pressed_canvas" id="R*l+[q#~i]eLIbp1,%9F">
+                                    <field name="button_type">B</field>
                                   </block>
-                                </next>
+                                </value>
+                                <value name="COLOR">
+                                  <block type="lcd_set_color" id="{iYQ_*i*mMhT+O}#X^C;">
+                                    <field name="COLOR">#ff0000</field>
+                                  </block>
+                                </value>
+                                <value name="Scale">
+                                  <shadow type="math_number" id="9$wKSVJ[$eU)|7c{_A2I">
+                                    <field name="NUM">1</field>
+                                  </shadow>
+                                </value>
+                                <value name="LineNum">
+                                  <shadow type="math_number" id="zqn}Mv!Zf,BP.6vWewb[">
+                                    <field name="NUM">20</field>
+                                  </shadow>
+                                </value>
                               </block>
+                            </statement>
+                            <next>
+                              <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_"></block>
                             </next>
                           </block>
-                        </statement>
-                        <value name="IF1">
-                          <block type="logic_compare" id="L%xi)sGkTLkoTNk47eJf">
-                            <field name="OP">EQ</field>
-                            <value name="A">
-                              <block type="variables_get" id="3X*+8oW5yb?@1(yc4UHn">
-                                <field name="VAR">state</field>
-                              </block>
-                            </value>
-                            <value name="B">
-                              <block type="text" id="rPI(=(sLw[Bhi/Qv#xnt">
-                                <field name="TEXT"></field>
-                              </block>
-                            </value>
-                          </block>
-                        </value>
-                        <statement name="DO1">
-                          <block type="controls_flow_statements" id="HWi$%Sz4Oq[rHo#*l-KW">
-                            <field name="FLOW">BREAK</field>
-                          </block>
-                        </statement>
+                        </next>
                       </block>
-                    </statement>
+                    </next>
                   </block>
-                </next>
+                </statement>
               </block>
             </next>
           </block>
-        </statement>
+        </next>
       </block>
-    </statement>
+    </next>
   </block>
 </xml>

Fichier diff supprimé car celui-ci est trop grand
+ 215 - 729
src/python/GPT/多智能体.xml


+ 67 - 570
src/python/GPT/文字转语音.xml

@@ -1,601 +1,98 @@
 <xml xmlns="http://www.w3.org/1999/xhtml" type="IoT">
-  <block type="ai_lcd_screeninit" id="2PHESD`!?Rz;,*CXs|@U" x="0" y="0">
-    <field name="isScreen">False</field>
+  <block type="V831_code_scanning_network" id="o|=(8@6y?!9X~yNq,Esi" x="-86" y="71">
     <next>
-      <block type="procedures_callnoreturn" id="SLAXL/P~.W~xa2xY{,}3">
-        <mutation name="扫码联网"></mutation>
+      <block type="variables_set" id="V2+_z5Oc#{g^z?)?2rJ)">
+        <field name="VAR">voice_str</field>
+        <value name="VALUE">
+          <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
+            <field name="NUM">0</field>
+          </shadow>
+          <block type="text" id="#0mf$@y^*CSU9OfvjGSI">
+            <field name="TEXT">你好,欢迎使用CocoPi</field>
+          </block>
+        </value>
         <next>
-          <block type="variables_set" id="V2+_z5Oc#{g^z?)?2rJ)">
-            <field name="VAR">voice_str</field>
+          <block type="variables_set" id=";su3LI/ZZns%NLWA*d//">
+            <field name="VAR">voice_src</field>
             <value name="VALUE">
-              <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
+              <shadow type="math_number" id="!^ZX}~l$sF;f-/DQu-5r">
                 <field name="NUM">0</field>
               </shadow>
-              <block type="text" id="#0mf$@y^*CSU9OfvjGSI">
-                <field name="TEXT">你好,欢迎使用CocoPi</field>
-              </block>
-            </value>
-            <next>
-              <block type="variables_set" id=";su3LI/ZZns%NLWA*d//">
-                <field name="VAR">voice_src</field>
-                <value name="VALUE">
-                  <shadow type="math_number" id="!^ZX}~l$sF;f-/DQu-5r">
-                    <field name="NUM">0</field>
+              <block type="cocopi_chatGpt_text_to_voice_loading" id="l=Ff`d|ggg;[*;i=sQjn">
+                <value name="NAME">
+                  <shadow type="text" id="f];g]ju63Jiy-CO7;2G/">
+                    <field name="TEXT">hello world</field>
                   </shadow>
-                  <block type="cocopi_chatGpt_text_to_voice_loading" id="l=Ff`d|ggg;[*;i=sQjn">
-                    <value name="NAME">
-                      <shadow type="text" id="f];g]ju63Jiy-CO7;2G/">
-                        <field name="TEXT">hello world</field>
-                      </shadow>
-                      <block type="variables_get" id="hHU2[5=R`Yc}B~Si=xh*">
-                        <field name="VAR">voice_str</field>
-                      </block>
-                    </value>
+                  <block type="variables_get" id="hHU2[5=R`Yc}B~Si=xh*">
+                    <field name="VAR">voice_str</field>
                   </block>
                 </value>
-                <next>
-                  <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
-                    <statement name="DO">
-                      <block type="ai_lcd_clearcanvas" id="zl$?(cS]-@,Q}3MA0vC)">
-                        <field name="varitem">canvas</field>
-                        <next>
-                          <block type="ai_lcd_textcarvas" id="Rs^aHf5nZeq?uuX_QJ)j">
-                            <field name="varitem">canvas</field>
-                            <value name="POSA">
-                              <block type="lcd_set_position" id="+@[ewWr_w3GYjE6_yR40">
-                                <value name="POSX">
-                                  <shadow type="math_number" id="zx9ZFaw?JqSL$MT$2Ib*">
-                                    <field name="NUM">0</field>
-                                  </shadow>
-                                </value>
-                                <value name="POSY">
-                                  <shadow type="math_number" id="YR(aFs:@C.^uO=toN+oO">
-                                    <field name="NUM">0</field>
-                                  </shadow>
-                                </value>
-                              </block>
-                            </value>
-                            <value name="CONTENT">
-                              <shadow type="text" id="%:zvi7pTGPVGAS!(-?*W">
-                                <field name="TEXT">C键录制并识别音频文件</field>
-                              </shadow>
-                              <block type="variables_get" id="YXy6JIE|D8*iwBsmJ:gW">
-                                <field name="VAR">voice_str</field>
-                              </block>
-                            </value>
-                            <value name="COLOR">
-                              <block type="lcd_set_color" id="pP$bKXegBvcKJ1V|-qlv">
-                                <field name="COLOR">#ffffff</field>
-                              </block>
-                            </value>
-                            <value name="Scale">
-                              <shadow type="math_number" id="r@!gkhJ}{v{6-,+Z,R90">
-                                <field name="NUM">1</field>
-                              </shadow>
-                            </value>
-                            <next>
-                              <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_">
-                                <field name="varitem">canvas</field>
-                                <next>
-                                  <block type="ai_audio_play_song" id="Zi_H1,^p5|)(YDicqmT9" inline="false">
-                                    <field name="play_vol">100</field>
-                                    <value name="path">
-                                      <shadow type="text" id="gI7b6v(S?];|cv]`yU%*">
-                                        <field name="TEXT">/root/preset/audio/luckystar.wav</field>
-                                      </shadow>
-                                      <block type="variables_get" id="#m/Pv}zR=Q*rk,YB@_({">
-                                        <field name="VAR">voice_src</field>
-                                      </block>
-                                    </value>
-                                  </block>
-                                </next>
-                              </block>
-                            </next>
-                          </block>
-                        </next>
-                      </block>
-                    </statement>
-                  </block>
-                </next>
-              </block>
-            </next>
-          </block>
-        </next>
-      </block>
-    </next>
-  </block>
-  <block type="procedures_defnoreturn" id="MdO0;x:sGHz$S(A{|%pN" x="1" y="529">
-    <field name="NAME">扫码联网</field>
-    <statement name="STACK">
-      <block type="controls_if" id="QFmk|4Cw6}n21!nrke#y">
-        <mutation else="1"></mutation>
-        <value name="IF0">
-          <block type="esp32_main_controller_get_wifi_connection_status" id="(x)B:OwYh|EpoS,iU~y2"></block>
-        </value>
-        <statement name="DO0">
-          <block type="variables_set" id="oldLjE9h_V);0gwLUqLp">
-            <field name="VAR">state</field>
-            <value name="VALUE">
-              <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                <field name="NUM">0</field>
-              </shadow>
-              <block type="text" id="S~`1o~82TueNdD6TT*fr">
-                <field name="TEXT"></field>
-              </block>
-            </value>
-          </block>
-        </statement>
-        <statement name="ELSE">
-          <block type="variables_set" id="k]EGN;l^*}3jz{T?Ce#F">
-            <field name="VAR">state</field>
-            <value name="VALUE">
-              <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                <field name="NUM">0</field>
-              </shadow>
-              <block type="text" id="8W*i4NJ;Vru3e1[^ou_c">
-                <field name="TEXT">扫码联网</field>
               </block>
             </value>
             <next>
-              <block type="variables_set" id="2GkC(H8?w!`rDB?Bx?J=">
-                <field name="VAR">识别结果</field>
-                <value name="VALUE">
-                  <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
-                    <field name="NUM">0</field>
-                  </shadow>
-                  <block type="text" id="Slp_:m=z,Hklsa)s{@PY">
-                    <field name="TEXT"></field>
-                  </block>
-                </value>
-                <next>
-                  <block type="controls_repeat_forever" id=":LF5=[ApbR;GVmzmh|`~">
-                    <statement name="DO">
-                      <block type="controls_if" id="(%Lc=pe(bSVHpTsYm?/{">
-                        <mutation elseif="1"></mutation>
-                        <value name="IF0">
-                          <block type="logic_compare" id="t`Fs.OucEz)@5eXC$5J*">
-                            <field name="OP">EQ</field>
-                            <value name="A">
-                              <block type="variables_get" id="h/:RncBzY$kT|1p*xpWA">
-                                <field name="VAR">state</field>
-                              </block>
-                            </value>
-                            <value name="B">
-                              <block type="text" id="x#U|#$aY5?0E=pc^Ux[G">
-                                <field name="TEXT">扫码联网</field>
-                              </block>
+              <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
+                <statement name="DO">
+                  <block type="ai_lcd_clearcanvas" id="zl$?(cS]-@,Q}3MA0vC)">
+                    <next>
+                      <block type="ai_lcd_textcarvas" id="Rs^aHf5nZeq?uuX_QJ)j">
+                        <value name="POSA">
+                          <block type="lcd_set_position" id="+@[ewWr_w3GYjE6_yR40">
+                            <value name="POSX">
+                              <shadow type="math_number" id="zx9ZFaw?JqSL$MT$2Ib*">
+                                <field name="NUM">0</field>
+                              </shadow>
                             </value>
-                          </block>
-                        </value>
-                        <statement name="DO0">
-                          <block type="variables_set" id="Cu;$;(2=5xDCN0X_`V)3">
-                            <field name="VAR">canvas</field>
-                            <value name="VALUE">
-                              <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
+                            <value name="POSY">
+                              <shadow type="math_number" id="YR(aFs:@C.^uO=toN+oO">
                                 <field name="NUM">0</field>
                               </shadow>
-                              <block type="ai_camera_snapshot" id="=1}#3hbmJ?he_09~HeDn"></block>
                             </value>
+                          </block>
+                        </value>
+                        <value name="CONTENT">
+                          <shadow type="text" id="%:zvi7pTGPVGAS!(-?*W">
+                            <field name="TEXT">C键录制并识别音频文件</field>
+                          </shadow>
+                          <block type="variables_get" id="YXy6JIE|D8*iwBsmJ:gW">
+                            <field name="VAR">voice_str</field>
+                          </block>
+                        </value>
+                        <value name="COLOR">
+                          <block type="lcd_set_color" id="pP$bKXegBvcKJ1V|-qlv">
+                            <field name="COLOR">#ffffff</field>
+                          </block>
+                        </value>
+                        <value name="Scale">
+                          <shadow type="math_number" id="r@!gkhJ}{v{6-,+Z,R90">
+                            <field name="NUM">1</field>
+                          </shadow>
+                        </value>
+                        <next>
+                          <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_">
                             <next>
-                              <block type="variables_set" id="#rZEhIT(h!ixt0TY8k#$">
-                                <field name="VAR">qrCode</field>
-                                <value name="VALUE">
-                                  <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
-                                    <field name="NUM">0</field>
+                              <block type="ai_audio_play_song" id="Zi_H1,^p5|)(YDicqmT9" inline="false">
+                                <field name="play_vol">100</field>
+                                <value name="path">
+                                  <shadow type="text" id="gI7b6v(S?];|cv]`yU%*">
+                                    <field name="TEXT">/root/preset/audio/luckystar.wav</field>
                                   </shadow>
-                                  <block type="ai_vision_find_qrcode" id="XR1FTyBZ~BfT3B^h?2Xw">
-                                    <field name="varitem">canvas</field>
+                                  <block type="variables_get" id="#m/Pv}zR=Q*rk,YB@_({">
+                                    <field name="VAR">voice_src</field>
                                   </block>
                                 </value>
-                                <next>
-                                  <block type="ai_lcd_draw_rectangle" id="XI5$[-#i^sfT(Anxj[[I">
-                                    <field name="varitem">canvas</field>
-                                    <field name="rect_type">fillrect</field>
-                                    <value name="POSA">
-                                      <block type="lcd_set_position" id="XHp~TJ9.ZOoO3Bp.CRPH">
-                                        <value name="POSX">
-                                          <shadow type="math_number" id="~0P_+`}ChKF6K5#/3_?[">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="POSY">
-                                          <shadow type="math_number" id="8*Fi]9hQE^]ta:+AGSq#">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="POSB">
-                                      <block type="lcd_set_width_height" id="_:HI_$5=X6gCu8zg?]].">
-                                        <value name="WIDTH">
-                                          <shadow type="math_number" id="LxbbW3:5h`0FA=Q+a6,-">
-                                            <field name="NUM">320</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="HEIGHT">
-                                          <shadow type="math_number" id=")Q|6ozkgm|%Oy@(w+njY">
-                                            <field name="NUM">20</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="COLOR">
-                                      <block type="lcd_set_color" id="f]`#WIQ0g.nhp)v_f+ra">
-                                        <field name="COLOR">#000000</field>
-                                      </block>
-                                    </value>
-                                    <next>
-                                      <block type="ai_lcd_textcarvas" id="o?Xee3@7Z7d1shgt=.~!">
-                                        <field name="varitem">canvas</field>
-                                        <value name="POSA">
-                                          <block type="lcd_set_position" id="%*a8qVFhJ[_J};+GRxvP">
-                                            <value name="POSX">
-                                              <shadow type="math_number" id="45#Ks%g9].:V;gyLe@7v">
-                                                <field name="NUM">50</field>
-                                              </shadow>
-                                            </value>
-                                            <value name="POSY">
-                                              <shadow type="math_number" id=";8`kH5D%t*Eoa{SFW-7U">
-                                                <field name="NUM">0</field>
-                                              </shadow>
-                                            </value>
-                                          </block>
-                                        </value>
-                                        <value name="CONTENT">
-                                          <shadow type="text" id="Yx!}/WC#[6zWWcyEp^k4">
-                                            <field name="TEXT">请扫描平台Wi-Fi二维码联网</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="COLOR">
-                                          <block type="lcd_set_color" id="iLjzPIF%lYI;?KBQ#/[$">
-                                            <field name="COLOR">#ffffff</field>
-                                          </block>
-                                        </value>
-                                        <value name="Scale">
-                                          <shadow type="math_number" id="nqzOJydkF/($.[m$H6Pv">
-                                            <field name="NUM">1</field>
-                                          </shadow>
-                                        </value>
-                                        <next>
-                                          <block type="controls_forEach" id="-:L$lT0zA7mfToS/t,.F">
-                                            <field name="VAR">i</field>
-                                            <value name="LIST">
-                                              <block type="variables_get" id="-{c41z,w]Y#[QB8KCcVz">
-                                                <field name="VAR">qrCode</field>
-                                              </block>
-                                            </value>
-                                            <statement name="DO">
-                                              <block type="ai_lcd_textcarvas" id="8a{z9sANpfx,m-E^?[ws">
-                                                <field name="varitem">canvas</field>
-                                                <value name="POSA">
-                                                  <block type="lcd_set_position" id="ioxr$KyBF@y^:cSUW[b)">
-                                                    <value name="POSX">
-                                                      <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="+JV^_A]p9mWwj4XMccW=">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">x</field>
-                                                      </block>
-                                                    </value>
-                                                    <value name="POSY">
-                                                      <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="3@C4V}bZ+$Zq%4rv{VSc">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">y</field>
-                                                      </block>
-                                                    </value>
-                                                  </block>
-                                                </value>
-                                                <value name="CONTENT">
-                                                  <shadow type="text" id="!4*_1/3)tAg3ygOM.|YW">
-                                                    <field name="TEXT"></field>
-                                                  </shadow>
-                                                  <block type="ai_vision_qrcode_get_info" id="u}v%Q4HoI0Jx3=a~f`{8">
-                                                    <field name="varitem">i</field>
-                                                    <field name="get_info">payload</field>
-                                                  </block>
-                                                </value>
-                                                <value name="COLOR">
-                                                  <block type="lcd_set_color" id="0uqSLJgr-ah=.H6F0Zg*">
-                                                    <field name="COLOR">#ff0000</field>
-                                                  </block>
-                                                </value>
-                                                <value name="Scale">
-                                                  <shadow type="math_number" id="$Eq^l2JOL,XJt3X@v/W2">
-                                                    <field name="NUM">1</field>
-                                                  </shadow>
-                                                </value>
-                                                <next>
-                                                  <block type="ai_lcd_draw_rectangle" id="qZ)[-$CRx*WU%R5F-C(b">
-                                                    <field name="varitem">canvas</field>
-                                                    <field name="rect_type">rect</field>
-                                                    <value name="POSA">
-                                                      <block type="lcd_set_position" id="%{ni*3`X:MOwcP+$x]Ce" inline="false">
-                                                        <value name="POSX">
-                                                          <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="d`=/VVl{9bDr(rQsN=X9">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">x</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="POSY">
-                                                          <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="w3FPKp`({0i%TOSAkfx|">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">y</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <value name="POSB">
-                                                      <block type="lcd_set_width_height" id="w_%[j;O|%aA;,b/TN?OG" inline="false">
-                                                        <value name="WIDTH">
-                                                          <shadow type="math_number" id="k(B:~2AOLJV~zLnbe)89">
-                                                            <field name="NUM">320</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id=".|m1N_[}die?dg8`TdGY">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">w1</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="HEIGHT">
-                                                          <shadow type="math_number" id="c)u)Q:9p$d5b5%4Lqa9$">
-                                                            <field name="NUM">240</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="$~EzG-QSb%]fHlU@Z+S2">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">h2</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <value name="COLOR">
-                                                      <block type="lcd_set_color" id="8]sijmt:%XtQlj}tgIas">
-                                                        <field name="COLOR">#ff0000</field>
-                                                      </block>
-                                                    </value>
-                                                    <next>
-                                                      <block type="variables_set" id="KVP}T[SMJJey84#dVw0T">
-                                                        <field name="VAR">识别结果</field>
-                                                        <value name="VALUE">
-                                                          <shadow type="math_number" id="~c`T-qSJp-={%Hp!.bS)">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="text_split_string_by_delimiter" id="LTbE[`1q4E(OeDv;,H=^">
-                                                            <field name="delimiter">;</field>
-                                                            <value name="string_input">
-                                                              <block type="ai_vision_qrcode_get_info" id="t-M^Cy5b#OLC+;)kF^N7">
-                                                                <field name="varitem">i</field>
-                                                                <field name="get_info">payload</field>
-                                                              </block>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </next>
-                                                  </block>
-                                                </next>
-                                              </block>
-                                            </statement>
-                                            <next>
-                                              <block type="ai_lcd_showcarvas_set_display" id="_+g?Q4R`)mrc!;|8w=Y~">
-                                                <field name="varitem">canvas</field>
-                                                <next>
-                                                  <block type="controls_if" id="u4,JM+iCSC81$RBCpu5C">
-                                                    <value name="IF0">
-                                                      <block type="logic_compare" id="Ah]X%z9GHc.{/Wc6W2F#">
-                                                        <field name="OP">NEQ</field>
-                                                        <value name="A">
-                                                          <block type="variables_get" id="Cg#*ndDK+W9_!H,48}zu">
-                                                            <field name="VAR">识别结果</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="B">
-                                                          <block type="text" id="Ztob3cliQa=zb*$!QQsu">
-                                                            <field name="TEXT"></field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <statement name="DO0">
-                                                      <block type="variables_set" id="_(vhjruUh#kTA56w|d3d">
-                                                        <field name="VAR">SSID</field>
-                                                        <value name="VALUE">
-                                                          <shadow type="math_number" id="3K*LFc1ljS];!d#%F-4`">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="text_getSubstring" id="HA}:BUUN/Lh]02:)p?t$">
-                                                            <mutation at1="true" at2="false"></mutation>
-                                                            <field name="WHERE1">FROM_START</field>
-                                                            <field name="WHERE2">LAST</field>
-                                                            <value name="STRING">
-                                                              <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                                <field name="TEXT">abc</field>
-                                                              </shadow>
-                                                              <block type="list_order_item" id="5th9:-d^^}a|jY6xj(wn">
-                                                                <field name="list_order">[</field>
-                                                                <value name="list_name">
-                                                                  <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                    <field name="TEXT"></field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="2!t]1Q6[YvWk.Qxvj#L|">
-                                                                    <field name="VAR">识别结果</field>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="list_order_item">
-                                                                  <shadow type="math_number" id="U-6}MxOaKjYG*H#Oi{q[">
-                                                                    <field name="NUM">0</field>
-                                                                  </shadow>
-                                                                </value>
-                                                              </block>
-                                                            </value>
-                                                            <value name="AT1">
-                                                              <block type="math_number" id="Ay7P[`wsl5wzWu]e7H!k">
-                                                                <field name="NUM">5</field>
-                                                              </block>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                        <next>
-                                                          <block type="variables_set" id="BN[#=^R.N=8{4!T?0#qC">
-                                                            <field name="VAR">PASS</field>
-                                                            <value name="VALUE">
-                                                              <shadow type="math_number" id="TE/Z6~Io-j^00#j83r.6">
-                                                                <field name="NUM">0</field>
-                                                              </shadow>
-                                                              <block type="text_getSubstring" id="UL=9DP#qoN}.QG@*FHU!">
-                                                                <mutation at1="true" at2="false"></mutation>
-                                                                <field name="WHERE1">FROM_START</field>
-                                                                <field name="WHERE2">LAST</field>
-                                                                <value name="STRING">
-                                                                  <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                                    <field name="TEXT">abc</field>
-                                                                  </shadow>
-                                                                  <block type="list_order_item" id="_2**VKdEi@)N9l;p4LM~">
-                                                                    <field name="list_order">[</field>
-                                                                    <value name="list_name">
-                                                                      <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                        <field name="TEXT"></field>
-                                                                      </shadow>
-                                                                      <block type="variables_get" id="~qdfyZP,~jtF#*T1+;sY">
-                                                                        <field name="VAR">识别结果</field>
-                                                                      </block>
-                                                                    </value>
-                                                                    <value name="list_order_item">
-                                                                      <shadow type="math_number" id="U-kC|FfTvDa%2qTHC},N">
-                                                                        <field name="NUM">1</field>
-                                                                      </shadow>
-                                                                    </value>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="AT1">
-                                                                  <block type="math_number" id="cS/pZonr0iyWq3|Wp;#~">
-                                                                    <field name="NUM">5</field>
-                                                                  </block>
-                                                                </value>
-                                                              </block>
-                                                            </value>
-                                                            <next>
-                                                              <block type="esp32_main_controller_wifi_connect_internet" id="=jnPdoUl*ACAi-85g}J{">
-                                                                <value name="ssid">
-                                                                  <shadow type="text" id="([(K4/ZxJESaAK;i9lLA">
-                                                                    <field name="TEXT">ENTER_YOUR_SSID</field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="1LX-)-jH},^9TXj).4c!">
-                                                                    <field name="VAR">SSID</field>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="password">
-                                                                  <shadow type="text" id="[I.[L1]LZv$^U{xAXTxT">
-                                                                    <field name="TEXT">ENTER_YOUR_PASSWORD</field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="xPj$i.?ita46~OsGowZU">
-                                                                    <field name="VAR">PASS</field>
-                                                                  </block>
-                                                                </value>
-                                                                <next>
-                                                                  <block type="controls_if" id="?[+@RI,Y^+j%?Ao;M%B;">
-                                                                    <mutation else="1"></mutation>
-                                                                    <value name="IF0">
-                                                                      <block type="esp32_main_controller_get_wifi_connection_status" id="]c2?qP})|]EfvYFEQROi"></block>
-                                                                    </value>
-                                                                    <statement name="DO0">
-                                                                      <block type="variables_set" id="},Y9asDZyTyB#yB7L+et">
-                                                                        <field name="VAR">state</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="sq7I]qNXrv;Ny}TBNw)V">
-                                                                            <field name="TEXT"></field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </statement>
-                                                                    <statement name="ELSE">
-                                                                      <block type="variables_set" id="~+E/j(}}J52t^zVL+y@2">
-                                                                        <field name="VAR">state</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="zsSG)QM`+IL9a[7${WoB">
-                                                                            <field name="TEXT">扫码联网</field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </statement>
-                                                                    <next>
-                                                                      <block type="variables_set" id="P+,6h[)bpFd;~gF3F*|)">
-                                                                        <field name="VAR">识别结果</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="DD1$OM5bjJtDC6eh2mn5">
-                                                                            <field name="TEXT"></field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </next>
-                                                                  </block>
-                                                                </next>
-                                                              </block>
-                                                            </next>
-                                                          </block>
-                                                        </next>
-                                                      </block>
-                                                    </statement>
-                                                  </block>
-                                                </next>
-                                              </block>
-                                            </next>
-                                          </block>
-                                        </next>
-                                      </block>
-                                    </next>
-                                  </block>
-                                </next>
                               </block>
                             </next>
                           </block>
-                        </statement>
-                        <value name="IF1">
-                          <block type="logic_compare" id="L%xi)sGkTLkoTNk47eJf">
-                            <field name="OP">EQ</field>
-                            <value name="A">
-                              <block type="variables_get" id="3X*+8oW5yb?@1(yc4UHn">
-                                <field name="VAR">state</field>
-                              </block>
-                            </value>
-                            <value name="B">
-                              <block type="text" id="rPI(=(sLw[Bhi/Qv#xnt">
-                                <field name="TEXT"></field>
-                              </block>
-                            </value>
-                          </block>
-                        </value>
-                        <statement name="DO1">
-                          <block type="controls_flow_statements" id="HWi$%Sz4Oq[rHo#*l-KW">
-                            <field name="FLOW">BREAK</field>
-                          </block>
-                        </statement>
+                        </next>
                       </block>
-                    </statement>
+                    </next>
                   </block>
-                </next>
+                </statement>
               </block>
             </next>
           </block>
-        </statement>
+        </next>
       </block>
-    </statement>
+    </next>
   </block>
 </xml>

+ 47 - 551
src/python/GPT/文生图.xml

@@ -1,569 +1,65 @@
 <xml xmlns="http://www.w3.org/1999/xhtml" type="IoT">
-  <block type="ai_lcd_screeninit" id="2PHESD`!?Rz;,*CXs|@U" x="0" y="0">
-    <field name="isScreen">False</field>
+  <block type="V831_code_scanning_network" id="o|=(8@6y?!9X~yNq,Esi" x="-86" y="71">
     <next>
-      <block type="procedures_callnoreturn" id="SLAXL/P~.W~xa2xY{,}3">
-        <mutation name="扫码联网"></mutation>
-        <next>
-          <block type="variables_set" id=";su3LI/ZZns%NLWA*d//">
-            <field name="VAR">img_src</field>
-            <value name="VALUE">
-              <shadow type="math_number" id="!^ZX}~l$sF;f-/DQu-5r">
-                <field name="NUM">0</field>
+      <block type="variables_set" id=";su3LI/ZZns%NLWA*d//">
+        <field name="VAR">img_src</field>
+        <value name="VALUE">
+          <shadow type="math_number" id="!^ZX}~l$sF;f-/DQu-5r">
+            <field name="NUM">0</field>
+          </shadow>
+          <block type="cocopi_chatGpt_text_to_img_loading" id="-SOP|T?QX5fug$L(KOfJ">
+            <value name="NAME">
+              <shadow type="text" id="f{_U]T+^Un[KxILYPx:m">
+                <field name="TEXT">生成一张狂风骤雨图片</field>
               </shadow>
-              <block type="cocopi_chatGpt_text_to_img_loading" id="-SOP|T?QX5fug$L(KOfJ">
-                <value name="NAME">
-                  <shadow type="text" id="f{_U]T+^Un[KxILYPx:m">
-                    <field name="TEXT">生成一张狂风骤雨图片</field>
-                  </shadow>
-                </value>
-              </block>
             </value>
-            <next>
-              <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
-                <statement name="DO">
-                  <block type="ai_lcd_clearcanvas" id="zl$?(cS]-@,Q}3MA0vC)">
-                    <field name="varitem">canvas</field>
-                    <next>
-                      <block type="ai_lcd_draw_image_on_canvas" id="2].=jU}J@-1BA2RWg!~J">
-                        <field name="varitem">canvas</field>
-                        <value name="image_path">
-                          <shadow type="text" id="$6Hp`,)B8!|5Jtn(@G61">
-                            <field name="TEXT">/home/res/logo.png</field>
-                          </shadow>
-                          <block type="v831_img_open" id="s0,ln4drdL?dnUPBi9w^">
-                            <value name="save_path">
-                              <shadow type="text" id="#d?ikG[mrx+:`9JRv!)o">
-                                <field name="TEXT">/root/preset/img/cocorobo_logo.jpg</field>
-                              </shadow>
-                              <block type="variables_get" id=".c;Sgm/=uN+3{a~I^/a.">
-                                <field name="VAR">img_src</field>
-                              </block>
-                            </value>
-                          </block>
-                        </value>
-                        <value name="scale_y">
-                          <block type="lcd_set_position" id="HJ+e^*cfs;1D*`gY,h-@">
-                            <value name="POSX">
-                              <shadow type="math_number" id="%YKM{K#AyNXOo@Fs+j.w">
-                                <field name="NUM">0</field>
-                              </shadow>
-                            </value>
-                            <value name="POSY">
-                              <shadow type="math_number" id="*.132W_kH!x4@$,DFUkp">
-                                <field name="NUM">0</field>
-                              </shadow>
-                            </value>
-                          </block>
-                        </value>
-                        <next>
-                          <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_">
-                            <field name="varitem">canvas</field>
-                          </block>
-                        </next>
-                      </block>
-                    </next>
-                  </block>
-                </statement>
-              </block>
-            </next>
           </block>
-        </next>
-      </block>
-    </next>
-  </block>
-  <block type="procedures_defnoreturn" id="MdO0;x:sGHz$S(A{|%pN" x="0" y="365">
-    <field name="NAME">扫码联网</field>
-    <statement name="STACK">
-      <block type="controls_if" id="QFmk|4Cw6}n21!nrke#y">
-        <mutation else="1"></mutation>
-        <value name="IF0">
-          <block type="esp32_main_controller_get_wifi_connection_status" id="(x)B:OwYh|EpoS,iU~y2"></block>
         </value>
-        <statement name="DO0">
-          <block type="variables_set" id="oldLjE9h_V);0gwLUqLp">
-            <field name="VAR">state</field>
-            <value name="VALUE">
-              <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                <field name="NUM">0</field>
-              </shadow>
-              <block type="text" id="S~`1o~82TueNdD6TT*fr">
-                <field name="TEXT"></field>
-              </block>
-            </value>
-          </block>
-        </statement>
-        <statement name="ELSE">
-          <block type="variables_set" id="k]EGN;l^*}3jz{T?Ce#F">
-            <field name="VAR">state</field>
-            <value name="VALUE">
-              <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                <field name="NUM">0</field>
-              </shadow>
-              <block type="text" id="8W*i4NJ;Vru3e1[^ou_c">
-                <field name="TEXT">扫码联网</field>
-              </block>
-            </value>
-            <next>
-              <block type="variables_set" id="2GkC(H8?w!`rDB?Bx?J=">
-                <field name="VAR">识别结果</field>
-                <value name="VALUE">
-                  <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
-                    <field name="NUM">0</field>
-                  </shadow>
-                  <block type="text" id="Slp_:m=z,Hklsa)s{@PY">
-                    <field name="TEXT"></field>
-                  </block>
-                </value>
+        <next>
+          <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
+            <statement name="DO">
+              <block type="ai_lcd_clearcanvas" id="zl$?(cS]-@,Q}3MA0vC)">
                 <next>
-                  <block type="controls_repeat_forever" id=":LF5=[ApbR;GVmzmh|`~">
-                    <statement name="DO">
-                      <block type="controls_if" id="(%Lc=pe(bSVHpTsYm?/{">
-                        <mutation elseif="1"></mutation>
-                        <value name="IF0">
-                          <block type="logic_compare" id="t`Fs.OucEz)@5eXC$5J*">
-                            <field name="OP">EQ</field>
-                            <value name="A">
-                              <block type="variables_get" id="h/:RncBzY$kT|1p*xpWA">
-                                <field name="VAR">state</field>
-                              </block>
-                            </value>
-                            <value name="B">
-                              <block type="text" id="x#U|#$aY5?0E=pc^Ux[G">
-                                <field name="TEXT">扫码联网</field>
-                              </block>
-                            </value>
+                  <block type="ai_lcd_draw_image_on_canvas" id="2].=jU}J@-1BA2RWg!~J">
+                    <value name="image_path">
+                      <shadow type="text" id="$6Hp`,)B8!|5Jtn(@G61">
+                        <field name="TEXT">/home/res/logo.png</field>
+                      </shadow>
+                      <block type="v831_img_open" id="s0,ln4drdL?dnUPBi9w^">
+                        <value name="save_path">
+                          <shadow type="text" id="#d?ikG[mrx+:`9JRv!)o">
+                            <field name="TEXT">/root/preset/img/cocorobo_logo.jpg</field>
+                          </shadow>
+                          <block type="variables_get" id=".c;Sgm/=uN+3{a~I^/a.">
+                            <field name="VAR">img_src</field>
                           </block>
                         </value>
-                        <statement name="DO0">
-                          <block type="variables_set" id="Cu;$;(2=5xDCN0X_`V)3">
-                            <field name="VAR">canvas</field>
-                            <value name="VALUE">
-                              <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
-                                <field name="NUM">0</field>
-                              </shadow>
-                              <block type="ai_camera_snapshot" id="=1}#3hbmJ?he_09~HeDn"></block>
-                            </value>
-                            <next>
-                              <block type="variables_set" id="#rZEhIT(h!ixt0TY8k#$">
-                                <field name="VAR">qrCode</field>
-                                <value name="VALUE">
-                                  <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
-                                    <field name="NUM">0</field>
-                                  </shadow>
-                                  <block type="ai_vision_find_qrcode" id="XR1FTyBZ~BfT3B^h?2Xw">
-                                    <field name="varitem">canvas</field>
-                                  </block>
-                                </value>
-                                <next>
-                                  <block type="ai_lcd_draw_rectangle" id="XI5$[-#i^sfT(Anxj[[I">
-                                    <field name="varitem">canvas</field>
-                                    <field name="rect_type">fillrect</field>
-                                    <value name="POSA">
-                                      <block type="lcd_set_position" id="XHp~TJ9.ZOoO3Bp.CRPH">
-                                        <value name="POSX">
-                                          <shadow type="math_number" id="~0P_+`}ChKF6K5#/3_?[">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="POSY">
-                                          <shadow type="math_number" id="8*Fi]9hQE^]ta:+AGSq#">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="POSB">
-                                      <block type="lcd_set_width_height" id="_:HI_$5=X6gCu8zg?]].">
-                                        <value name="WIDTH">
-                                          <shadow type="math_number" id="LxbbW3:5h`0FA=Q+a6,-">
-                                            <field name="NUM">320</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="HEIGHT">
-                                          <shadow type="math_number" id=")Q|6ozkgm|%Oy@(w+njY">
-                                            <field name="NUM">20</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="COLOR">
-                                      <block type="lcd_set_color" id="f]`#WIQ0g.nhp)v_f+ra">
-                                        <field name="COLOR">#000000</field>
-                                      </block>
-                                    </value>
-                                    <next>
-                                      <block type="ai_lcd_textcarvas" id="o?Xee3@7Z7d1shgt=.~!">
-                                        <field name="varitem">canvas</field>
-                                        <value name="POSA">
-                                          <block type="lcd_set_position" id="%*a8qVFhJ[_J};+GRxvP">
-                                            <value name="POSX">
-                                              <shadow type="math_number" id="45#Ks%g9].:V;gyLe@7v">
-                                                <field name="NUM">50</field>
-                                              </shadow>
-                                            </value>
-                                            <value name="POSY">
-                                              <shadow type="math_number" id=";8`kH5D%t*Eoa{SFW-7U">
-                                                <field name="NUM">0</field>
-                                              </shadow>
-                                            </value>
-                                          </block>
-                                        </value>
-                                        <value name="CONTENT">
-                                          <shadow type="text" id="Yx!}/WC#[6zWWcyEp^k4">
-                                            <field name="TEXT">请扫描平台Wi-Fi二维码联网</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="COLOR">
-                                          <block type="lcd_set_color" id="iLjzPIF%lYI;?KBQ#/[$">
-                                            <field name="COLOR">#ffffff</field>
-                                          </block>
-                                        </value>
-                                        <value name="Scale">
-                                          <shadow type="math_number" id="nqzOJydkF/($.[m$H6Pv">
-                                            <field name="NUM">1</field>
-                                          </shadow>
-                                        </value>
-                                        <next>
-                                          <block type="controls_forEach" id="-:L$lT0zA7mfToS/t,.F">
-                                            <field name="VAR">i</field>
-                                            <value name="LIST">
-                                              <block type="variables_get" id="-{c41z,w]Y#[QB8KCcVz">
-                                                <field name="VAR">qrCode</field>
-                                              </block>
-                                            </value>
-                                            <statement name="DO">
-                                              <block type="ai_lcd_textcarvas" id="8a{z9sANpfx,m-E^?[ws">
-                                                <field name="varitem">canvas</field>
-                                                <value name="POSA">
-                                                  <block type="lcd_set_position" id="ioxr$KyBF@y^:cSUW[b)">
-                                                    <value name="POSX">
-                                                      <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="+JV^_A]p9mWwj4XMccW=">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">x</field>
-                                                      </block>
-                                                    </value>
-                                                    <value name="POSY">
-                                                      <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="3@C4V}bZ+$Zq%4rv{VSc">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">y</field>
-                                                      </block>
-                                                    </value>
-                                                  </block>
-                                                </value>
-                                                <value name="CONTENT">
-                                                  <shadow type="text" id="!4*_1/3)tAg3ygOM.|YW">
-                                                    <field name="TEXT"></field>
-                                                  </shadow>
-                                                  <block type="ai_vision_qrcode_get_info" id="u}v%Q4HoI0Jx3=a~f`{8">
-                                                    <field name="varitem">i</field>
-                                                    <field name="get_info">payload</field>
-                                                  </block>
-                                                </value>
-                                                <value name="COLOR">
-                                                  <block type="lcd_set_color" id="0uqSLJgr-ah=.H6F0Zg*">
-                                                    <field name="COLOR">#ff0000</field>
-                                                  </block>
-                                                </value>
-                                                <value name="Scale">
-                                                  <shadow type="math_number" id="$Eq^l2JOL,XJt3X@v/W2">
-                                                    <field name="NUM">1</field>
-                                                  </shadow>
-                                                </value>
-                                                <next>
-                                                  <block type="ai_lcd_draw_rectangle" id="qZ)[-$CRx*WU%R5F-C(b">
-                                                    <field name="varitem">canvas</field>
-                                                    <field name="rect_type">rect</field>
-                                                    <value name="POSA">
-                                                      <block type="lcd_set_position" id="%{ni*3`X:MOwcP+$x]Ce" inline="false">
-                                                        <value name="POSX">
-                                                          <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="d`=/VVl{9bDr(rQsN=X9">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">x</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="POSY">
-                                                          <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="w3FPKp`({0i%TOSAkfx|">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">y</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <value name="POSB">
-                                                      <block type="lcd_set_width_height" id="w_%[j;O|%aA;,b/TN?OG" inline="false">
-                                                        <value name="WIDTH">
-                                                          <shadow type="math_number" id="k(B:~2AOLJV~zLnbe)89">
-                                                            <field name="NUM">320</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id=".|m1N_[}die?dg8`TdGY">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">w1</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="HEIGHT">
-                                                          <shadow type="math_number" id="c)u)Q:9p$d5b5%4Lqa9$">
-                                                            <field name="NUM">240</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="$~EzG-QSb%]fHlU@Z+S2">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">h2</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <value name="COLOR">
-                                                      <block type="lcd_set_color" id="8]sijmt:%XtQlj}tgIas">
-                                                        <field name="COLOR">#ff0000</field>
-                                                      </block>
-                                                    </value>
-                                                    <next>
-                                                      <block type="variables_set" id="KVP}T[SMJJey84#dVw0T">
-                                                        <field name="VAR">识别结果</field>
-                                                        <value name="VALUE">
-                                                          <shadow type="math_number" id="~c`T-qSJp-={%Hp!.bS)">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="text_split_string_by_delimiter" id="LTbE[`1q4E(OeDv;,H=^">
-                                                            <field name="delimiter">;</field>
-                                                            <value name="string_input">
-                                                              <block type="ai_vision_qrcode_get_info" id="t-M^Cy5b#OLC+;)kF^N7">
-                                                                <field name="varitem">i</field>
-                                                                <field name="get_info">payload</field>
-                                                              </block>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </next>
-                                                  </block>
-                                                </next>
-                                              </block>
-                                            </statement>
-                                            <next>
-                                              <block type="ai_lcd_showcarvas_set_display" id="_+g?Q4R`)mrc!;|8w=Y~">
-                                                <field name="varitem">canvas</field>
-                                                <next>
-                                                  <block type="controls_if" id="u4,JM+iCSC81$RBCpu5C">
-                                                    <value name="IF0">
-                                                      <block type="logic_compare" id="Ah]X%z9GHc.{/Wc6W2F#">
-                                                        <field name="OP">NEQ</field>
-                                                        <value name="A">
-                                                          <block type="variables_get" id="Cg#*ndDK+W9_!H,48}zu">
-                                                            <field name="VAR">识别结果</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="B">
-                                                          <block type="text" id="Ztob3cliQa=zb*$!QQsu">
-                                                            <field name="TEXT"></field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <statement name="DO0">
-                                                      <block type="variables_set" id="_(vhjruUh#kTA56w|d3d">
-                                                        <field name="VAR">SSID</field>
-                                                        <value name="VALUE">
-                                                          <shadow type="math_number" id="3K*LFc1ljS];!d#%F-4`">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="text_getSubstring" id="HA}:BUUN/Lh]02:)p?t$">
-                                                            <mutation at1="true" at2="false"></mutation>
-                                                            <field name="WHERE1">FROM_START</field>
-                                                            <field name="WHERE2">LAST</field>
-                                                            <value name="STRING">
-                                                              <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                                <field name="TEXT">abc</field>
-                                                              </shadow>
-                                                              <block type="list_order_item" id="5th9:-d^^}a|jY6xj(wn">
-                                                                <field name="list_order">[</field>
-                                                                <value name="list_name">
-                                                                  <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                    <field name="TEXT"></field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="2!t]1Q6[YvWk.Qxvj#L|">
-                                                                    <field name="VAR">识别结果</field>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="list_order_item">
-                                                                  <shadow type="math_number" id="U-6}MxOaKjYG*H#Oi{q[">
-                                                                    <field name="NUM">0</field>
-                                                                  </shadow>
-                                                                </value>
-                                                              </block>
-                                                            </value>
-                                                            <value name="AT1">
-                                                              <block type="math_number" id="Ay7P[`wsl5wzWu]e7H!k">
-                                                                <field name="NUM">5</field>
-                                                              </block>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                        <next>
-                                                          <block type="variables_set" id="BN[#=^R.N=8{4!T?0#qC">
-                                                            <field name="VAR">PASS</field>
-                                                            <value name="VALUE">
-                                                              <shadow type="math_number" id="TE/Z6~Io-j^00#j83r.6">
-                                                                <field name="NUM">0</field>
-                                                              </shadow>
-                                                              <block type="text_getSubstring" id="UL=9DP#qoN}.QG@*FHU!">
-                                                                <mutation at1="true" at2="false"></mutation>
-                                                                <field name="WHERE1">FROM_START</field>
-                                                                <field name="WHERE2">LAST</field>
-                                                                <value name="STRING">
-                                                                  <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                                    <field name="TEXT">abc</field>
-                                                                  </shadow>
-                                                                  <block type="list_order_item" id="_2**VKdEi@)N9l;p4LM~">
-                                                                    <field name="list_order">[</field>
-                                                                    <value name="list_name">
-                                                                      <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                        <field name="TEXT"></field>
-                                                                      </shadow>
-                                                                      <block type="variables_get" id="~qdfyZP,~jtF#*T1+;sY">
-                                                                        <field name="VAR">识别结果</field>
-                                                                      </block>
-                                                                    </value>
-                                                                    <value name="list_order_item">
-                                                                      <shadow type="math_number" id="U-kC|FfTvDa%2qTHC},N">
-                                                                        <field name="NUM">1</field>
-                                                                      </shadow>
-                                                                    </value>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="AT1">
-                                                                  <block type="math_number" id="cS/pZonr0iyWq3|Wp;#~">
-                                                                    <field name="NUM">5</field>
-                                                                  </block>
-                                                                </value>
-                                                              </block>
-                                                            </value>
-                                                            <next>
-                                                              <block type="esp32_main_controller_wifi_connect_internet" id="=jnPdoUl*ACAi-85g}J{">
-                                                                <value name="ssid">
-                                                                  <shadow type="text" id="([(K4/ZxJESaAK;i9lLA">
-                                                                    <field name="TEXT">ENTER_YOUR_SSID</field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="1LX-)-jH},^9TXj).4c!">
-                                                                    <field name="VAR">SSID</field>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="password">
-                                                                  <shadow type="text" id="[I.[L1]LZv$^U{xAXTxT">
-                                                                    <field name="TEXT">ENTER_YOUR_PASSWORD</field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="xPj$i.?ita46~OsGowZU">
-                                                                    <field name="VAR">PASS</field>
-                                                                  </block>
-                                                                </value>
-                                                                <next>
-                                                                  <block type="controls_if" id="?[+@RI,Y^+j%?Ao;M%B;">
-                                                                    <mutation else="1"></mutation>
-                                                                    <value name="IF0">
-                                                                      <block type="esp32_main_controller_get_wifi_connection_status" id="]c2?qP})|]EfvYFEQROi"></block>
-                                                                    </value>
-                                                                    <statement name="DO0">
-                                                                      <block type="variables_set" id="},Y9asDZyTyB#yB7L+et">
-                                                                        <field name="VAR">state</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="sq7I]qNXrv;Ny}TBNw)V">
-                                                                            <field name="TEXT"></field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </statement>
-                                                                    <statement name="ELSE">
-                                                                      <block type="variables_set" id="~+E/j(}}J52t^zVL+y@2">
-                                                                        <field name="VAR">state</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="zsSG)QM`+IL9a[7${WoB">
-                                                                            <field name="TEXT">扫码联网</field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </statement>
-                                                                    <next>
-                                                                      <block type="variables_set" id="P+,6h[)bpFd;~gF3F*|)">
-                                                                        <field name="VAR">识别结果</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="DD1$OM5bjJtDC6eh2mn5">
-                                                                            <field name="TEXT"></field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </next>
-                                                                  </block>
-                                                                </next>
-                                                              </block>
-                                                            </next>
-                                                          </block>
-                                                        </next>
-                                                      </block>
-                                                    </statement>
-                                                  </block>
-                                                </next>
-                                              </block>
-                                            </next>
-                                          </block>
-                                        </next>
-                                      </block>
-                                    </next>
-                                  </block>
-                                </next>
-                              </block>
-                            </next>
-                          </block>
-                        </statement>
-                        <value name="IF1">
-                          <block type="logic_compare" id="L%xi)sGkTLkoTNk47eJf">
-                            <field name="OP">EQ</field>
-                            <value name="A">
-                              <block type="variables_get" id="3X*+8oW5yb?@1(yc4UHn">
-                                <field name="VAR">state</field>
-                              </block>
-                            </value>
-                            <value name="B">
-                              <block type="text" id="rPI(=(sLw[Bhi/Qv#xnt">
-                                <field name="TEXT"></field>
-                              </block>
-                            </value>
-                          </block>
+                      </block>
+                    </value>
+                    <value name="scale_y">
+                      <block type="lcd_set_position" id="HJ+e^*cfs;1D*`gY,h-@">
+                        <value name="POSX">
+                          <shadow type="math_number" id="%YKM{K#AyNXOo@Fs+j.w">
+                            <field name="NUM">0</field>
+                          </shadow>
+                        </value>
+                        <value name="POSY">
+                          <shadow type="math_number" id="*.132W_kH!x4@$,DFUkp">
+                            <field name="NUM">0</field>
+                          </shadow>
                         </value>
-                        <statement name="DO1">
-                          <block type="controls_flow_statements" id="HWi$%Sz4Oq[rHo#*l-KW">
-                            <field name="FLOW">BREAK</field>
-                          </block>
-                        </statement>
                       </block>
-                    </statement>
+                    </value>
+                    <next>
+                      <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_"></block>
+                    </next>
                   </block>
                 </next>
               </block>
-            </next>
+            </statement>
           </block>
-        </statement>
+        </next>
       </block>
-    </statement>
+    </next>
   </block>
 </xml>

+ 147 - 659
src/python/GPT/语音转文字.xml

@@ -1,196 +1,183 @@
 <xml xmlns="http://www.w3.org/1999/xhtml" type="IoT">
-  <block type="ai_lcd_screeninit" id="2PHESD`!?Rz;,*CXs|@U" x="190" y="-282">
-    <field name="isScreen">False</field>
+  <block type="V831_code_scanning_network" id="rx|B{hkO~tOmkhGAWwJK" x="0" y="0">
     <next>
-      <block type="procedures_callnoreturn" id="SLAXL/P~.W~xa2xY{,}3">
-        <mutation name="扫码联网"></mutation>
+      <block type="variables_set" id=";su3LI/ZZns%NLWA*d//">
+        <field name="VAR">voice_src</field>
+        <value name="VALUE">
+          <shadow type="math_number" id="!^ZX}~l$sF;f-/DQu-5r">
+            <field name="NUM">0</field>
+          </shadow>
+          <block type="text" id="oT`DE#=w.I#oC9)N1=;l">
+            <field name="TEXT">/root/user/audio/test.wav</field>
+          </block>
+        </value>
         <next>
-          <block type="variables_set" id=";su3LI/ZZns%NLWA*d//">
-            <field name="VAR">voice_src</field>
+          <block type="variables_set" id="V2+_z5Oc#{g^z?)?2rJ)">
+            <field name="VAR">voice_content</field>
             <value name="VALUE">
-              <shadow type="math_number" id="!^ZX}~l$sF;f-/DQu-5r">
+              <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
                 <field name="NUM">0</field>
               </shadow>
-              <block type="text" id="oT`DE#=w.I#oC9)N1=;l">
-                <field name="TEXT">/root/user/audio/test.wav</field>
+              <block type="text" id="Tf!/$j7D(n#2pDV[_~=C">
+                <field name="TEXT"></field>
               </block>
             </value>
             <next>
-              <block type="variables_set" id="V2+_z5Oc#{g^z?)?2rJ)">
-                <field name="VAR">voice_content</field>
-                <value name="VALUE">
-                  <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
-                    <field name="NUM">0</field>
-                  </shadow>
-                  <block type="text" id="Tf!/$j7D(n#2pDV[_~=C">
-                    <field name="TEXT"></field>
-                  </block>
-                </value>
-                <next>
-                  <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
-                    <statement name="DO">
-                      <block type="ai_lcd_clearcanvas" id="zl$?(cS]-@,Q}3MA0vC)">
-                        <field name="varitem">canvas</field>
-                        <next>
-                          <block type="ai_v831_button_read_released" id="3vUa,}htbZ+6nJ?M^OVX">
-                            <field name="button_type">C</field>
-                            <statement name="input">
-                              <block type="procedures_callnoreturn" id="5KPn(9tmm/ygWmof]dVk">
-                                <mutation name="语音录制"></mutation>
-                                <next>
-                                  <block type="ai_lcd_textcarvas" id="+?n}`}s/o~p}?4KO:zV!">
-                                    <field name="varitem">canvas</field>
-                                    <value name="POSA">
-                                      <block type="lcd_set_position" id="yC26t!%x*+3Rhqn9H01Y">
-                                        <value name="POSX">
-                                          <shadow type="math_number" id="!fZ}o(U!5!7@-mtU1=)!">
-                                            <field name="NUM">40</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="POSY">
-                                          <shadow type="math_number" id="NPP^#/[.?:?@QZT*`oPS">
-                                            <field name="NUM">40</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="CONTENT">
-                                      <shadow type="text" id="oT{subxArGDDoOjt}~I(">
-                                        <field name="TEXT">语音文件识别中...</field>
+              <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
+                <statement name="DO">
+                  <block type="ai_lcd_clearcanvas" id="zl$?(cS]-@,Q}3MA0vC)">
+                    <next>
+                      <block type="ai_v831_button_read_released" id="3vUa,}htbZ+6nJ?M^OVX">
+                        <field name="button_type">C</field>
+                        <statement name="input">
+                          <block type="procedures_callnoreturn" id="5KPn(9tmm/ygWmof]dVk">
+                            <mutation name="语音录制"></mutation>
+                            <next>
+                              <block type="ai_lcd_textcarvas" id="+?n}`}s/o~p}?4KO:zV!">
+                                <value name="POSA">
+                                  <block type="lcd_set_position" id="yC26t!%x*+3Rhqn9H01Y">
+                                    <value name="POSX">
+                                      <shadow type="math_number" id="!fZ}o(U!5!7@-mtU1=)!">
+                                        <field name="NUM">40</field>
                                       </shadow>
                                     </value>
-                                    <value name="COLOR">
-                                      <block type="lcd_set_color" id="PAgYv8~SngF):8Q4mBtL">
-                                        <field name="COLOR">#ffffff</field>
-                                      </block>
-                                    </value>
-                                    <value name="Scale">
-                                      <shadow type="math_number" id="efOV[,@Zo]n#~duH-*NM">
-                                        <field name="NUM">2</field>
+                                    <value name="POSY">
+                                      <shadow type="math_number" id="NPP^#/[.?:?@QZT*`oPS">
+                                        <field name="NUM">40</field>
                                       </shadow>
                                     </value>
+                                  </block>
+                                </value>
+                                <value name="CONTENT">
+                                  <shadow type="text" id="oT{subxArGDDoOjt}~I(">
+                                    <field name="TEXT">语音文件识别中...</field>
+                                  </shadow>
+                                </value>
+                                <value name="COLOR">
+                                  <block type="lcd_set_color" id="PAgYv8~SngF):8Q4mBtL">
+                                    <field name="COLOR">#ffffff</field>
+                                  </block>
+                                </value>
+                                <value name="Scale">
+                                  <shadow type="math_number" id="efOV[,@Zo]n#~duH-*NM">
+                                    <field name="NUM">2</field>
+                                  </shadow>
+                                </value>
+                                <next>
+                                  <block type="ai_lcd_showcarvas_set_display" id="#,~^f88~9)fUr.QV$.]R">
                                     <next>
-                                      <block type="ai_lcd_showcarvas_set_display" id="#,~^f88~9)fUr.QV$.]R">
-                                        <field name="varitem">canvas</field>
-                                        <next>
-                                          <block type="procedures_callnoreturn" id="XML0G9.+8Rz$B;h3TiiA">
-                                            <mutation name="语音识别">
-                                              <arg name="x"></arg>
-                                            </mutation>
-                                            <value name="ARG0">
-                                              <block type="variables_get" id="k2H^tHVkX=s+lkE1!9%=">
-                                                <field name="VAR">voice_src</field>
-                                              </block>
-                                            </value>
+                                      <block type="procedures_callnoreturn" id="XML0G9.+8Rz$B;h3TiiA">
+                                        <mutation name="语音识别">
+                                          <arg name="x"></arg>
+                                        </mutation>
+                                        <value name="ARG0">
+                                          <block type="variables_get" id="k2H^tHVkX=s+lkE1!9%=">
+                                            <field name="VAR">voice_src</field>
                                           </block>
-                                        </next>
+                                        </value>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
-                            </statement>
-                            <next>
-                              <block type="controls_if" id="RRdx%spM1(z9U.M0+-4$">
-                                <value name="IF0">
-                                  <block type="logic_compare" id="h2!pHsr}UO2-?{D%}{bq">
-                                    <field name="OP">NEQ</field>
-                                    <value name="A">
-                                      <block type="variables_get" id="v64NrkKtc*Bu!uXMg5sZ">
-                                        <field name="VAR">voice_content</field>
-                                      </block>
-                                    </value>
-                                    <value name="B">
-                                      <block type="text" id="SQ`[/vg/?mNPpqshZS8H">
-                                        <field name="TEXT"></field>
-                                      </block>
-                                    </value>
+                            </next>
+                          </block>
+                        </statement>
+                        <next>
+                          <block type="controls_if" id="RRdx%spM1(z9U.M0+-4$">
+                            <value name="IF0">
+                              <block type="logic_compare" id="h2!pHsr}UO2-?{D%}{bq">
+                                <field name="OP">NEQ</field>
+                                <value name="A">
+                                  <block type="variables_get" id="v64NrkKtc*Bu!uXMg5sZ">
+                                    <field name="VAR">voice_content</field>
                                   </block>
                                 </value>
-                                <statement name="DO0">
-                                  <block type="ai_lcd_textcarvas" id="PuqO8/Q9G^HNsKU*J(|E">
-                                    <field name="varitem">canvas</field>
-                                    <value name="POSA">
-                                      <block type="lcd_set_position" id="F?Y$|`lv{{LO~M}3JE#%">
-                                        <value name="POSX">
-                                          <shadow type="math_number" id="3/.4Yd]N#$mM!cR6NU3s">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="POSY">
-                                          <shadow type="math_number" id="dL[jSFu5V,ku24olPR9S">
-                                            <field name="NUM">50</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="CONTENT">
-                                      <shadow type="text" id="%:zvi7pTGPVGAS!(-?*W">
-                                        <field name="TEXT"></field>
+                                <value name="B">
+                                  <block type="text" id="SQ`[/vg/?mNPpqshZS8H">
+                                    <field name="TEXT"></field>
+                                  </block>
+                                </value>
+                              </block>
+                            </value>
+                            <statement name="DO0">
+                              <block type="ai_lcd_textcarvas" id="PuqO8/Q9G^HNsKU*J(|E">
+                                <value name="POSA">
+                                  <block type="lcd_set_position" id="F?Y$|`lv{{LO~M}3JE#%">
+                                    <value name="POSX">
+                                      <shadow type="math_number" id="3/.4Yd]N#$mM!cR6NU3s">
+                                        <field name="NUM">0</field>
                                       </shadow>
-                                      <block type="variables_get" id="0Rj$,]Nh3cQ}TBeQcgx.">
-                                        <field name="VAR">voice_content</field>
-                                      </block>
-                                    </value>
-                                    <value name="COLOR">
-                                      <block type="lcd_set_color" id="Q8/e5@6j@NEJ_h!kjqAU">
-                                        <field name="COLOR">#33ff33</field>
-                                      </block>
                                     </value>
-                                    <value name="Scale">
-                                      <shadow type="math_number" id="FK(OE.H`:v$g5fRd!ciG">
-                                        <field name="NUM">1</field>
+                                    <value name="POSY">
+                                      <shadow type="math_number" id="dL[jSFu5V,ku24olPR9S">
+                                        <field name="NUM">50</field>
                                       </shadow>
                                     </value>
                                   </block>
-                                </statement>
-                                <next>
-                                  <block type="ai_lcd_textcarvas" id="Rs^aHf5nZeq?uuX_QJ)j">
-                                    <field name="varitem">canvas</field>
-                                    <value name="POSA">
-                                      <block type="lcd_set_position" id="+@[ewWr_w3GYjE6_yR40">
-                                        <value name="POSX">
-                                          <shadow type="math_number" id="zx9ZFaw?JqSL$MT$2Ib*">
-                                            <field name="NUM">200</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="POSY">
-                                          <shadow type="math_number" id="YR(aFs:@C.^uO=toN+oO">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="CONTENT">
-                                      <shadow type="text" id="%:zvi7pTGPVGAS!(-?*W">
-                                        <field name="TEXT">C键录制并识别音频文件</field>
+                                </value>
+                                <value name="CONTENT">
+                                  <shadow type="text" id="%:zvi7pTGPVGAS!(-?*W">
+                                    <field name="TEXT"></field>
+                                  </shadow>
+                                  <block type="variables_get" id="0Rj$,]Nh3cQ}TBeQcgx.">
+                                    <field name="VAR">voice_content</field>
+                                  </block>
+                                </value>
+                                <value name="COLOR">
+                                  <block type="lcd_set_color" id="Q8/e5@6j@NEJ_h!kjqAU">
+                                    <field name="COLOR">#33ff33</field>
+                                  </block>
+                                </value>
+                                <value name="Scale">
+                                  <shadow type="math_number" id="FK(OE.H`:v$g5fRd!ciG">
+                                    <field name="NUM">1</field>
+                                  </shadow>
+                                </value>
+                              </block>
+                            </statement>
+                            <next>
+                              <block type="ai_lcd_textcarvas" id="Rs^aHf5nZeq?uuX_QJ)j">
+                                <value name="POSA">
+                                  <block type="lcd_set_position" id="+@[ewWr_w3GYjE6_yR40">
+                                    <value name="POSX">
+                                      <shadow type="math_number" id="zx9ZFaw?JqSL$MT$2Ib*">
+                                        <field name="NUM">200</field>
                                       </shadow>
                                     </value>
-                                    <value name="COLOR">
-                                      <block type="lcd_set_color" id="pP$bKXegBvcKJ1V|-qlv">
-                                        <field name="COLOR">#ffffff</field>
-                                      </block>
-                                    </value>
-                                    <value name="Scale">
-                                      <shadow type="math_number" id="r@!gkhJ}{v{6-,+Z,R90">
-                                        <field name="NUM">1</field>
+                                    <value name="POSY">
+                                      <shadow type="math_number" id="YR(aFs:@C.^uO=toN+oO">
+                                        <field name="NUM">0</field>
                                       </shadow>
                                     </value>
-                                    <next>
-                                      <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_">
-                                        <field name="varitem">canvas</field>
-                                      </block>
-                                    </next>
                                   </block>
+                                </value>
+                                <value name="CONTENT">
+                                  <shadow type="text" id="%:zvi7pTGPVGAS!(-?*W">
+                                    <field name="TEXT">C键录制并识别音频文件</field>
+                                  </shadow>
+                                </value>
+                                <value name="COLOR">
+                                  <block type="lcd_set_color" id="pP$bKXegBvcKJ1V|-qlv">
+                                    <field name="COLOR">#ffffff</field>
+                                  </block>
+                                </value>
+                                <value name="Scale">
+                                  <shadow type="math_number" id="r@!gkhJ}{v{6-,+Z,R90">
+                                    <field name="NUM">1</field>
+                                  </shadow>
+                                </value>
+                                <next>
+                                  <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_"></block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
-                    </statement>
+                    </next>
                   </block>
-                </next>
+                </statement>
               </block>
             </next>
           </block>
@@ -198,14 +185,12 @@
       </block>
     </next>
   </block>
-  <block type="procedures_defnoreturn" id="(@*HpQ6@szFrq5_!wi@G" x="750" y="6">
+  <block type="procedures_defnoreturn" id="(@*HpQ6@szFrq5_!wi@G" x="699" y="121">
     <field name="NAME">语音录制</field>
     <statement name="STACK">
       <block type="ai_lcd_clearcanvas" id="BF|g766@+~#)}O:+;Ht$">
-        <field name="varitem">canvas</field>
         <next>
           <block type="ai_lcd_textcarvas" id="TzT]rp*J]`vHD,nHU%!/">
-            <field name="varitem">canvas</field>
             <value name="POSA">
               <block type="lcd_set_position" id="=`bRcm1r#{UPnJd$pjU?">
                 <value name="POSX">
@@ -237,7 +222,6 @@
             </value>
             <next>
               <block type="ai_lcd_showcarvas_set_display" id="Y,kL9iIv?.g.;)d,JpR1">
-                <field name="varitem">canvas</field>
                 <next>
                   <block type="ai_mphone_record_setting" id="U6SbtvBbba{GD09iddhu">
                     <value name="record_time">
@@ -257,10 +241,8 @@
                       <block type="ai_mphone_Record_audio_start" id="]:|(1j7]nW8VYZ0Z2T?;">
                         <next>
                           <block type="ai_lcd_clearcanvas" id="D_1|Rp0(:N?.OOhQ$q.T">
-                            <field name="varitem">canvas</field>
                             <next>
                               <block type="ai_lcd_textcarvas" id="4.#vceW?1UZD26Sr/Jcs">
-                                <field name="varitem">canvas</field>
                                 <value name="POSA">
                                   <block type="lcd_set_position" id="Oxd).ELG}hIZM+#i{i7x">
                                     <value name="POSX">
@@ -292,11 +274,8 @@
                                 </value>
                                 <next>
                                   <block type="ai_lcd_showcarvas_set_display" id="0{ZP(]M[!pbi/(cLTnkW">
-                                    <field name="varitem">canvas</field>
                                     <next>
-                                      <block type="ai_lcd_clearcanvas" id="(BP!Uj^/%8yf6=.g1=x*">
-                                        <field name="varitem">canvas</field>
-                                      </block>
+                                      <block type="ai_lcd_clearcanvas" id="(BP!Uj^/%8yf6=.g1=x*"></block>
                                     </next>
                                   </block>
                                 </next>
@@ -315,501 +294,7 @@
       </block>
     </statement>
   </block>
-  <block type="procedures_defnoreturn" id="MdO0;x:sGHz$S(A{|%pN" x="1223" y="-16">
-    <field name="NAME">扫码联网</field>
-    <statement name="STACK">
-      <block type="controls_if" id="QFmk|4Cw6}n21!nrke#y">
-        <mutation else="1"></mutation>
-        <value name="IF0">
-          <block type="esp32_main_controller_get_wifi_connection_status" id="(x)B:OwYh|EpoS,iU~y2"></block>
-        </value>
-        <statement name="DO0">
-          <block type="variables_set" id="oldLjE9h_V);0gwLUqLp">
-            <field name="VAR">state</field>
-            <value name="VALUE">
-              <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                <field name="NUM">0</field>
-              </shadow>
-              <block type="text" id="S~`1o~82TueNdD6TT*fr">
-                <field name="TEXT"></field>
-              </block>
-            </value>
-          </block>
-        </statement>
-        <statement name="ELSE">
-          <block type="variables_set" id="k]EGN;l^*}3jz{T?Ce#F">
-            <field name="VAR">state</field>
-            <value name="VALUE">
-              <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                <field name="NUM">0</field>
-              </shadow>
-              <block type="text" id="8W*i4NJ;Vru3e1[^ou_c">
-                <field name="TEXT">扫码联网</field>
-              </block>
-            </value>
-            <next>
-              <block type="variables_set" id="2GkC(H8?w!`rDB?Bx?J=">
-                <field name="VAR">识别结果</field>
-                <value name="VALUE">
-                  <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
-                    <field name="NUM">0</field>
-                  </shadow>
-                  <block type="text" id="Slp_:m=z,Hklsa)s{@PY">
-                    <field name="TEXT"></field>
-                  </block>
-                </value>
-                <next>
-                  <block type="controls_repeat_forever" id=":LF5=[ApbR;GVmzmh|`~">
-                    <statement name="DO">
-                      <block type="controls_if" id="(%Lc=pe(bSVHpTsYm?/{">
-                        <mutation elseif="1"></mutation>
-                        <value name="IF0">
-                          <block type="logic_compare" id="t`Fs.OucEz)@5eXC$5J*">
-                            <field name="OP">EQ</field>
-                            <value name="A">
-                              <block type="variables_get" id="h/:RncBzY$kT|1p*xpWA">
-                                <field name="VAR">state</field>
-                              </block>
-                            </value>
-                            <value name="B">
-                              <block type="text" id="x#U|#$aY5?0E=pc^Ux[G">
-                                <field name="TEXT">扫码联网</field>
-                              </block>
-                            </value>
-                          </block>
-                        </value>
-                        <statement name="DO0">
-                          <block type="variables_set" id="Cu;$;(2=5xDCN0X_`V)3">
-                            <field name="VAR">canvas</field>
-                            <value name="VALUE">
-                              <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
-                                <field name="NUM">0</field>
-                              </shadow>
-                              <block type="ai_camera_snapshot" id="=1}#3hbmJ?he_09~HeDn"></block>
-                            </value>
-                            <next>
-                              <block type="variables_set" id="#rZEhIT(h!ixt0TY8k#$">
-                                <field name="VAR">qrCode</field>
-                                <value name="VALUE">
-                                  <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
-                                    <field name="NUM">0</field>
-                                  </shadow>
-                                  <block type="ai_vision_find_qrcode" id="XR1FTyBZ~BfT3B^h?2Xw">
-                                    <field name="varitem">canvas</field>
-                                  </block>
-                                </value>
-                                <next>
-                                  <block type="ai_lcd_draw_rectangle" id="XI5$[-#i^sfT(Anxj[[I">
-                                    <field name="varitem">canvas</field>
-                                    <field name="rect_type">fillrect</field>
-                                    <value name="POSA">
-                                      <block type="lcd_set_position" id="XHp~TJ9.ZOoO3Bp.CRPH">
-                                        <value name="POSX">
-                                          <shadow type="math_number" id="~0P_+`}ChKF6K5#/3_?[">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="POSY">
-                                          <shadow type="math_number" id="8*Fi]9hQE^]ta:+AGSq#">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="POSB">
-                                      <block type="lcd_set_width_height" id="_:HI_$5=X6gCu8zg?]].">
-                                        <value name="WIDTH">
-                                          <shadow type="math_number" id="LxbbW3:5h`0FA=Q+a6,-">
-                                            <field name="NUM">320</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="HEIGHT">
-                                          <shadow type="math_number" id=")Q|6ozkgm|%Oy@(w+njY">
-                                            <field name="NUM">20</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="COLOR">
-                                      <block type="lcd_set_color" id="f]`#WIQ0g.nhp)v_f+ra">
-                                        <field name="COLOR">#000000</field>
-                                      </block>
-                                    </value>
-                                    <next>
-                                      <block type="ai_lcd_textcarvas" id="o?Xee3@7Z7d1shgt=.~!">
-                                        <field name="varitem">canvas</field>
-                                        <value name="POSA">
-                                          <block type="lcd_set_position" id="%*a8qVFhJ[_J};+GRxvP">
-                                            <value name="POSX">
-                                              <shadow type="math_number" id="45#Ks%g9].:V;gyLe@7v">
-                                                <field name="NUM">50</field>
-                                              </shadow>
-                                            </value>
-                                            <value name="POSY">
-                                              <shadow type="math_number" id=";8`kH5D%t*Eoa{SFW-7U">
-                                                <field name="NUM">0</field>
-                                              </shadow>
-                                            </value>
-                                          </block>
-                                        </value>
-                                        <value name="CONTENT">
-                                          <shadow type="text" id="Yx!}/WC#[6zWWcyEp^k4">
-                                            <field name="TEXT">请扫描平台Wi-Fi二维码联网</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="COLOR">
-                                          <block type="lcd_set_color" id="iLjzPIF%lYI;?KBQ#/[$">
-                                            <field name="COLOR">#ffffff</field>
-                                          </block>
-                                        </value>
-                                        <value name="Scale">
-                                          <shadow type="math_number" id="nqzOJydkF/($.[m$H6Pv">
-                                            <field name="NUM">1</field>
-                                          </shadow>
-                                        </value>
-                                        <next>
-                                          <block type="controls_forEach" id="-:L$lT0zA7mfToS/t,.F">
-                                            <field name="VAR">i</field>
-                                            <value name="LIST">
-                                              <block type="variables_get" id="-{c41z,w]Y#[QB8KCcVz">
-                                                <field name="VAR">qrCode</field>
-                                              </block>
-                                            </value>
-                                            <statement name="DO">
-                                              <block type="ai_lcd_textcarvas" id="8a{z9sANpfx,m-E^?[ws">
-                                                <field name="varitem">canvas</field>
-                                                <value name="POSA">
-                                                  <block type="lcd_set_position" id="ioxr$KyBF@y^:cSUW[b)">
-                                                    <value name="POSX">
-                                                      <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="+JV^_A]p9mWwj4XMccW=">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">x</field>
-                                                      </block>
-                                                    </value>
-                                                    <value name="POSY">
-                                                      <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="3@C4V}bZ+$Zq%4rv{VSc">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">y</field>
-                                                      </block>
-                                                    </value>
-                                                  </block>
-                                                </value>
-                                                <value name="CONTENT">
-                                                  <shadow type="text" id="!4*_1/3)tAg3ygOM.|YW">
-                                                    <field name="TEXT"></field>
-                                                  </shadow>
-                                                  <block type="ai_vision_qrcode_get_info" id="u}v%Q4HoI0Jx3=a~f`{8">
-                                                    <field name="varitem">i</field>
-                                                    <field name="get_info">payload</field>
-                                                  </block>
-                                                </value>
-                                                <value name="COLOR">
-                                                  <block type="lcd_set_color" id="0uqSLJgr-ah=.H6F0Zg*">
-                                                    <field name="COLOR">#ff0000</field>
-                                                  </block>
-                                                </value>
-                                                <value name="Scale">
-                                                  <shadow type="math_number" id="$Eq^l2JOL,XJt3X@v/W2">
-                                                    <field name="NUM">1</field>
-                                                  </shadow>
-                                                </value>
-                                                <next>
-                                                  <block type="ai_lcd_draw_rectangle" id="qZ)[-$CRx*WU%R5F-C(b">
-                                                    <field name="varitem">canvas</field>
-                                                    <field name="rect_type">rect</field>
-                                                    <value name="POSA">
-                                                      <block type="lcd_set_position" id="%{ni*3`X:MOwcP+$x]Ce" inline="false">
-                                                        <value name="POSX">
-                                                          <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="d`=/VVl{9bDr(rQsN=X9">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">x</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="POSY">
-                                                          <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="w3FPKp`({0i%TOSAkfx|">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">y</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <value name="POSB">
-                                                      <block type="lcd_set_width_height" id="w_%[j;O|%aA;,b/TN?OG" inline="false">
-                                                        <value name="WIDTH">
-                                                          <shadow type="math_number" id="k(B:~2AOLJV~zLnbe)89">
-                                                            <field name="NUM">320</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id=".|m1N_[}die?dg8`TdGY">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">w1</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="HEIGHT">
-                                                          <shadow type="math_number" id="c)u)Q:9p$d5b5%4Lqa9$">
-                                                            <field name="NUM">240</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="$~EzG-QSb%]fHlU@Z+S2">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">h2</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <value name="COLOR">
-                                                      <block type="lcd_set_color" id="8]sijmt:%XtQlj}tgIas">
-                                                        <field name="COLOR">#ff0000</field>
-                                                      </block>
-                                                    </value>
-                                                    <next>
-                                                      <block type="variables_set" id="KVP}T[SMJJey84#dVw0T">
-                                                        <field name="VAR">识别结果</field>
-                                                        <value name="VALUE">
-                                                          <shadow type="math_number" id="~c`T-qSJp-={%Hp!.bS)">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="text_split_string_by_delimiter" id="LTbE[`1q4E(OeDv;,H=^">
-                                                            <field name="delimiter">;</field>
-                                                            <value name="string_input">
-                                                              <block type="ai_vision_qrcode_get_info" id="t-M^Cy5b#OLC+;)kF^N7">
-                                                                <field name="varitem">i</field>
-                                                                <field name="get_info">payload</field>
-                                                              </block>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </next>
-                                                  </block>
-                                                </next>
-                                              </block>
-                                            </statement>
-                                            <next>
-                                              <block type="ai_lcd_showcarvas_set_display" id="_+g?Q4R`)mrc!;|8w=Y~">
-                                                <field name="varitem">canvas</field>
-                                                <next>
-                                                  <block type="controls_if" id="u4,JM+iCSC81$RBCpu5C">
-                                                    <value name="IF0">
-                                                      <block type="logic_compare" id="Ah]X%z9GHc.{/Wc6W2F#">
-                                                        <field name="OP">NEQ</field>
-                                                        <value name="A">
-                                                          <block type="variables_get" id="Cg#*ndDK+W9_!H,48}zu">
-                                                            <field name="VAR">识别结果</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="B">
-                                                          <block type="text" id="Ztob3cliQa=zb*$!QQsu">
-                                                            <field name="TEXT"></field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <statement name="DO0">
-                                                      <block type="variables_set" id="_(vhjruUh#kTA56w|d3d">
-                                                        <field name="VAR">SSID</field>
-                                                        <value name="VALUE">
-                                                          <shadow type="math_number" id="3K*LFc1ljS];!d#%F-4`">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="text_getSubstring" id="HA}:BUUN/Lh]02:)p?t$">
-                                                            <mutation at1="true" at2="false"></mutation>
-                                                            <field name="WHERE1">FROM_START</field>
-                                                            <field name="WHERE2">LAST</field>
-                                                            <value name="STRING">
-                                                              <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                                <field name="TEXT">abc</field>
-                                                              </shadow>
-                                                              <block type="list_order_item" id="5th9:-d^^}a|jY6xj(wn">
-                                                                <field name="list_order">[</field>
-                                                                <value name="list_name">
-                                                                  <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                    <field name="TEXT"></field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="2!t]1Q6[YvWk.Qxvj#L|">
-                                                                    <field name="VAR">识别结果</field>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="list_order_item">
-                                                                  <shadow type="math_number" id="U-6}MxOaKjYG*H#Oi{q[">
-                                                                    <field name="NUM">0</field>
-                                                                  </shadow>
-                                                                </value>
-                                                              </block>
-                                                            </value>
-                                                            <value name="AT1">
-                                                              <block type="math_number" id="Ay7P[`wsl5wzWu]e7H!k">
-                                                                <field name="NUM">5</field>
-                                                              </block>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                        <next>
-                                                          <block type="variables_set" id="BN[#=^R.N=8{4!T?0#qC">
-                                                            <field name="VAR">PASS</field>
-                                                            <value name="VALUE">
-                                                              <shadow type="math_number" id="TE/Z6~Io-j^00#j83r.6">
-                                                                <field name="NUM">0</field>
-                                                              </shadow>
-                                                              <block type="text_getSubstring" id="UL=9DP#qoN}.QG@*FHU!">
-                                                                <mutation at1="true" at2="false"></mutation>
-                                                                <field name="WHERE1">FROM_START</field>
-                                                                <field name="WHERE2">LAST</field>
-                                                                <value name="STRING">
-                                                                  <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                                    <field name="TEXT">abc</field>
-                                                                  </shadow>
-                                                                  <block type="list_order_item" id="_2**VKdEi@)N9l;p4LM~">
-                                                                    <field name="list_order">[</field>
-                                                                    <value name="list_name">
-                                                                      <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                        <field name="TEXT"></field>
-                                                                      </shadow>
-                                                                      <block type="variables_get" id="~qdfyZP,~jtF#*T1+;sY">
-                                                                        <field name="VAR">识别结果</field>
-                                                                      </block>
-                                                                    </value>
-                                                                    <value name="list_order_item">
-                                                                      <shadow type="math_number" id="U-kC|FfTvDa%2qTHC},N">
-                                                                        <field name="NUM">1</field>
-                                                                      </shadow>
-                                                                    </value>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="AT1">
-                                                                  <block type="math_number" id="cS/pZonr0iyWq3|Wp;#~">
-                                                                    <field name="NUM">5</field>
-                                                                  </block>
-                                                                </value>
-                                                              </block>
-                                                            </value>
-                                                            <next>
-                                                              <block type="esp32_main_controller_wifi_connect_internet" id="=jnPdoUl*ACAi-85g}J{">
-                                                                <value name="ssid">
-                                                                  <shadow type="text" id="([(K4/ZxJESaAK;i9lLA">
-                                                                    <field name="TEXT">ENTER_YOUR_SSID</field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="1LX-)-jH},^9TXj).4c!">
-                                                                    <field name="VAR">SSID</field>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="password">
-                                                                  <shadow type="text" id="[I.[L1]LZv$^U{xAXTxT">
-                                                                    <field name="TEXT">ENTER_YOUR_PASSWORD</field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="xPj$i.?ita46~OsGowZU">
-                                                                    <field name="VAR">PASS</field>
-                                                                  </block>
-                                                                </value>
-                                                                <next>
-                                                                  <block type="controls_if" id="?[+@RI,Y^+j%?Ao;M%B;">
-                                                                    <mutation else="1"></mutation>
-                                                                    <value name="IF0">
-                                                                      <block type="esp32_main_controller_get_wifi_connection_status" id="]c2?qP})|]EfvYFEQROi"></block>
-                                                                    </value>
-                                                                    <statement name="DO0">
-                                                                      <block type="variables_set" id="},Y9asDZyTyB#yB7L+et">
-                                                                        <field name="VAR">state</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="sq7I]qNXrv;Ny}TBNw)V">
-                                                                            <field name="TEXT"></field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </statement>
-                                                                    <statement name="ELSE">
-                                                                      <block type="variables_set" id="~+E/j(}}J52t^zVL+y@2">
-                                                                        <field name="VAR">state</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="zsSG)QM`+IL9a[7${WoB">
-                                                                            <field name="TEXT">扫码联网</field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </statement>
-                                                                    <next>
-                                                                      <block type="variables_set" id="P+,6h[)bpFd;~gF3F*|)">
-                                                                        <field name="VAR">识别结果</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="DD1$OM5bjJtDC6eh2mn5">
-                                                                            <field name="TEXT"></field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </next>
-                                                                  </block>
-                                                                </next>
-                                                              </block>
-                                                            </next>
-                                                          </block>
-                                                        </next>
-                                                      </block>
-                                                    </statement>
-                                                  </block>
-                                                </next>
-                                              </block>
-                                            </next>
-                                          </block>
-                                        </next>
-                                      </block>
-                                    </next>
-                                  </block>
-                                </next>
-                              </block>
-                            </next>
-                          </block>
-                        </statement>
-                        <value name="IF1">
-                          <block type="logic_compare" id="L%xi)sGkTLkoTNk47eJf">
-                            <field name="OP">EQ</field>
-                            <value name="A">
-                              <block type="variables_get" id="3X*+8oW5yb?@1(yc4UHn">
-                                <field name="VAR">state</field>
-                              </block>
-                            </value>
-                            <value name="B">
-                              <block type="text" id="rPI(=(sLw[Bhi/Qv#xnt">
-                                <field name="TEXT"></field>
-                              </block>
-                            </value>
-                          </block>
-                        </value>
-                        <statement name="DO1">
-                          <block type="controls_flow_statements" id="HWi$%Sz4Oq[rHo#*l-KW">
-                            <field name="FLOW">BREAK</field>
-                          </block>
-                        </statement>
-                      </block>
-                    </statement>
-                  </block>
-                </next>
-              </block>
-            </next>
-          </block>
-        </statement>
-      </block>
-    </statement>
-  </block>
-  <block type="procedures_defnoreturn" id="}Co_!_Sq*DI,UQ]n,Jf4" x="608" y="733">
+  <block type="procedures_defnoreturn" id="W/Sw83bF-7f)CSG[9cuQ" x="694" y="795">
     <mutation>
       <arg name="x"></arg>
     </mutation>
@@ -826,6 +311,9 @@
               <shadow type="text" id="ee?,}IUA:r4F9.DiH_z_">
                 <field name="TEXT">/root/user/audio/record.wav</field>
               </shadow>
+              <block type="variables_get" id="hJeB3FKS+A2yza9yVmEH">
+                <field name="VAR">x</field>
+              </block>
             </value>
           </block>
         </value>

Fichier diff supprimé car celui-ci est trop grand
+ 190 - 705
src/python/GPT/问答.xml


+ 121 - 631
src/python/讯飞/公式识别.xml

@@ -1,183 +1,174 @@
 <xml xmlns="http://www.w3.org/1999/xhtml" type="IoT">
-  <block type="ai_lcd_screeninit" id="2PHESD`!?Rz;,*CXs|@U" x="0" y="144">
-    <field name="isScreen">False</field>
+  <block type="V831_code_scanning_network" id="2|C%-2p{jHz7xhf.0N!o" x="-10" y="142">
     <next>
-      <block type="procedures_callnoreturn" id="SLAXL/P~.W~xa2xY{,}3">
-        <mutation name="扫码联网"></mutation>
+      <block type="variables_set" id=";su3LI/ZZns%NLWA*d//">
+        <field name="VAR">img_src</field>
+        <value name="VALUE">
+          <shadow type="math_number" id="!^ZX}~l$sF;f-/DQu-5r">
+            <field name="NUM">0</field>
+          </shadow>
+          <block type="text" id="oT`DE#=w.I#oC9)N1=;l">
+            <field name="TEXT">/root/user/img/img_handwritten_text.jpg</field>
+          </block>
+        </value>
         <next>
-          <block type="variables_set" id=";su3LI/ZZns%NLWA*d//">
-            <field name="VAR">img_src</field>
+          <block type="variables_set" id="V2+_z5Oc#{g^z?)?2rJ)">
+            <field name="VAR">state</field>
             <value name="VALUE">
-              <shadow type="math_number" id="!^ZX}~l$sF;f-/DQu-5r">
+              <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
                 <field name="NUM">0</field>
               </shadow>
-              <block type="text" id="oT`DE#=w.I#oC9)N1=;l">
-                <field name="TEXT">/root/user/img/img_handwritten_text.jpg</field>
+              <block type="text" id="Tf!/$j7D(n#2pDV[_~=C">
+                <field name="TEXT"></field>
               </block>
             </value>
             <next>
-              <block type="variables_set" id="V2+_z5Oc#{g^z?)?2rJ)">
-                <field name="VAR">state</field>
+              <block type="variables_set" id="3._PEwALc@DYzol,7:tf">
+                <field name="VAR">result</field>
                 <value name="VALUE">
                   <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
                     <field name="NUM">0</field>
                   </shadow>
-                  <block type="text" id="Tf!/$j7D(n#2pDV[_~=C">
-                    <field name="TEXT"></field>
+                  <block type="text" id="ft!+xiC,t+/QX.|GP2_Z">
+                    <field name="TEXT">N/A</field>
                   </block>
                 </value>
                 <next>
-                  <block type="variables_set" id="3._PEwALc@DYzol,7:tf">
-                    <field name="VAR">result</field>
-                    <value name="VALUE">
-                      <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
-                        <field name="NUM">0</field>
-                      </shadow>
-                      <block type="text" id="ft!+xiC,t+/QX.|GP2_Z">
-                        <field name="TEXT">N/A</field>
-                      </block>
-                    </value>
-                    <next>
-                      <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
-                        <statement name="DO">
-                          <block type="ai_camera_fit_to_screen_size" id="-x|1rNvFHX+n!n;)PcrF">
-                            <field name="varitem">canvas</field>
-                            <field name="size">320</field>
+                  <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
+                    <statement name="DO">
+                      <block type="ai_camera_fit_to_screen_size" id="-x|1rNvFHX+n!n;)PcrF">
+                        <field name="size">320</field>
+                        <next>
+                          <block type="ai_v831_button_read_released" id="$x~gT)UEvgf1df~{m4l@">
+                            <field name="button_type">C</field>
+                            <statement name="input">
+                              <block type="procedures_callnoreturn" id="is!9:|n|f}8*ZBqLbCdN">
+                                <mutation name="take_picture"></mutation>
+                              </block>
+                            </statement>
                             <next>
-                              <block type="ai_v831_button_read_released" id="$x~gT)UEvgf1df~{m4l@">
-                                <field name="button_type">C</field>
-                                <statement name="input">
-                                  <block type="procedures_callnoreturn" id="is!9:|n|f}8*ZBqLbCdN">
-                                    <mutation name="take_picture"></mutation>
+                              <block type="controls_if" id="}FFONk4`/!#_CKBXv17*">
+                                <mutation elseif="2"></mutation>
+                                <value name="IF0">
+                                  <block type="logic_compare" id="f1xU+2=]=FNGYhieSS*%">
+                                    <field name="OP">EQ</field>
+                                    <value name="A">
+                                      <block type="variables_get" id="Dh{y,K1W4kc5tB0L#1gJ">
+                                        <field name="VAR">state</field>
+                                      </block>
+                                    </value>
+                                    <value name="B">
+                                      <block type="text" id="IJZP|+GVe^;FRk*l2|yU">
+                                        <field name="TEXT">拍照發送</field>
+                                      </block>
+                                    </value>
+                                  </block>
+                                </value>
+                                <statement name="DO0">
+                                  <block type="serial_comm_print" id="NW)3uBxinwj6G~inSC/l">
+                                    <value name="serial_comm_input">
+                                      <shadow type="text" id="+I$Gzw$nc~`e[ST`ryA1">
+                                        <field name="TEXT">Hello World!</field>
+                                      </shadow>
+                                      <block type="variables_get" id="u0N3V.p$Q?VfgJ8jTnv3">
+                                        <field name="VAR">state</field>
+                                      </block>
+                                    </value>
+                                    <next>
+                                      <block type="procedures_callnoreturn" id="AoiAX|3Euo:EE,exw=Ea">
+                                        <mutation name="send_picture"></mutation>
+                                      </block>
+                                    </next>
                                   </block>
                                 </statement>
-                                <next>
-                                  <block type="controls_if" id="}FFONk4`/!#_CKBXv17*">
-                                    <mutation elseif="2"></mutation>
-                                    <value name="IF0">
-                                      <block type="logic_compare" id="f1xU+2=]=FNGYhieSS*%">
+                                <value name="IF1">
+                                  <block type="logic_operation" id="Yg8.n9r$]av:nHp}/ice">
+                                    <field name="OP">OR</field>
+                                    <value name="A">
+                                      <block type="logic_compare" id="0sGhFELIqJHB+.b.DU#Q">
                                         <field name="OP">EQ</field>
                                         <value name="A">
-                                          <block type="variables_get" id="Dh{y,K1W4kc5tB0L#1gJ">
+                                          <block type="variables_get" id="F$^+m*Xi^eH%kvs(u(L*">
                                             <field name="VAR">state</field>
                                           </block>
                                         </value>
                                         <value name="B">
-                                          <block type="text" id="IJZP|+GVe^;FRk*l2|yU">
-                                            <field name="TEXT">拍照發送</field>
+                                          <block type="text" id="`~spWQ_qwGn9frDk^x=X">
+                                            <field name="TEXT">識別超時</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
-                                    <statement name="DO0">
-                                      <block type="serial_comm_print" id="NW)3uBxinwj6G~inSC/l">
-                                        <value name="serial_comm_input">
-                                          <shadow type="text" id="+I$Gzw$nc~`e[ST`ryA1">
-                                            <field name="TEXT">Hello World!</field>
-                                          </shadow>
-                                          <block type="variables_get" id="u0N3V.p$Q?VfgJ8jTnv3">
-                                            <field name="VAR">state</field>
-                                          </block>
-                                        </value>
-                                        <next>
-                                          <block type="procedures_callnoreturn" id="AoiAX|3Euo:EE,exw=Ea">
-                                            <mutation name="send_picture"></mutation>
-                                          </block>
-                                        </next>
-                                      </block>
-                                    </statement>
-                                    <value name="IF1">
-                                      <block type="logic_operation" id="Yg8.n9r$]av:nHp}/ice">
-                                        <field name="OP">OR</field>
+                                    <value name="B">
+                                      <block type="logic_compare" id="^}|d~y?T$/Y$UC~E1jO=">
+                                        <field name="OP">EQ</field>
                                         <value name="A">
-                                          <block type="logic_compare" id="0sGhFELIqJHB+.b.DU#Q">
-                                            <field name="OP">EQ</field>
-                                            <value name="A">
-                                              <block type="variables_get" id="F$^+m*Xi^eH%kvs(u(L*">
-                                                <field name="VAR">state</field>
-                                              </block>
-                                            </value>
-                                            <value name="B">
-                                              <block type="text" id="`~spWQ_qwGn9frDk^x=X">
-                                                <field name="TEXT">識別超時</field>
-                                              </block>
-                                            </value>
+                                          <block type="variables_get" id="[1bh_ZFeb6P^$!8O:RpJ">
+                                            <field name="VAR">state</field>
                                           </block>
                                         </value>
                                         <value name="B">
-                                          <block type="logic_compare" id="^}|d~y?T$/Y$UC~E1jO=">
-                                            <field name="OP">EQ</field>
-                                            <value name="A">
-                                              <block type="variables_get" id="[1bh_ZFeb6P^$!8O:RpJ">
-                                                <field name="VAR">state</field>
-                                              </block>
-                                            </value>
-                                            <value name="B">
-                                              <block type="text" id="JUUM#KbJJMR~Q|D(3/Ix">
-                                                <field name="TEXT">識別失敗</field>
-                                              </block>
-                                            </value>
+                                          <block type="text" id="JUUM#KbJJMR~Q|D(3/Ix">
+                                            <field name="TEXT">識別失敗</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
-                                    <statement name="DO1">
-                                      <block type="serial_comm_print" id="D!zyc?a)]vkL@z+SI|yg">
-                                        <value name="serial_comm_input">
-                                          <shadow type="text" id="+I$Gzw$nc~`e[ST`ryA1">
-                                            <field name="TEXT">Hello World!</field>
-                                          </shadow>
-                                          <block type="variables_get" id="Pe,m`BCkAbL_4[;.4~~x">
-                                            <field name="VAR">state</field>
-                                          </block>
-                                        </value>
-                                        <next>
-                                          <block type="procedures_callnoreturn" id="[tvTTxbRTHlkEf9MD]!|">
-                                            <mutation name="formula_recognize_failure">
-                                              <arg name="failure_state"></arg>
-                                            </mutation>
-                                            <value name="ARG0">
-                                              <block type="variables_get" id="MJ-J}zM$#Z$P5IxqWT=1">
-                                                <field name="VAR">state</field>
-                                              </block>
-                                            </value>
-                                          </block>
-                                        </next>
+                                  </block>
+                                </value>
+                                <statement name="DO1">
+                                  <block type="serial_comm_print" id="D!zyc?a)]vkL@z+SI|yg">
+                                    <value name="serial_comm_input">
+                                      <shadow type="text" id="+I$Gzw$nc~`e[ST`ryA1">
+                                        <field name="TEXT">Hello World!</field>
+                                      </shadow>
+                                      <block type="variables_get" id="Pe,m`BCkAbL_4[;.4~~x">
+                                        <field name="VAR">state</field>
                                       </block>
-                                    </statement>
-                                    <value name="IF2">
-                                      <block type="logic_compare" id="]RQW=^%Mt(@qq6~HJ:zC">
-                                        <field name="OP">EQ</field>
-                                        <value name="A">
-                                          <block type="variables_get" id="P/i7f%+z1.)zhP/!-2p5">
+                                    </value>
+                                    <next>
+                                      <block type="procedures_callnoreturn" id="[tvTTxbRTHlkEf9MD]!|">
+                                        <mutation name="formula_recognize_failure">
+                                          <arg name="failure_state"></arg>
+                                        </mutation>
+                                        <value name="ARG0">
+                                          <block type="variables_get" id="MJ-J}zM$#Z$P5IxqWT=1">
                                             <field name="VAR">state</field>
                                           </block>
                                         </value>
-                                        <value name="B">
-                                          <block type="text" id="Ul6xnE,|!`v69G~fH9YH">
-                                            <field name="TEXT">識別成功</field>
-                                          </block>
-                                        </value>
                                       </block>
-                                    </value>
-                                    <statement name="DO2">
-                                      <block type="procedures_callnoreturn" id="GU;8.l4oFq+YV.)`9n7O">
-                                        <mutation name="formula_recognize_success"></mutation>
+                                    </next>
+                                  </block>
+                                </statement>
+                                <value name="IF2">
+                                  <block type="logic_compare" id="]RQW=^%Mt(@qq6~HJ:zC">
+                                    <field name="OP">EQ</field>
+                                    <value name="A">
+                                      <block type="variables_get" id="P/i7f%+z1.)zhP/!-2p5">
+                                        <field name="VAR">state</field>
                                       </block>
-                                    </statement>
-                                    <next>
-                                      <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_">
-                                        <field name="varitem">canvas</field>
+                                    </value>
+                                    <value name="B">
+                                      <block type="text" id="Ul6xnE,|!`v69G~fH9YH">
+                                        <field name="TEXT">識別成功</field>
                                       </block>
-                                    </next>
+                                    </value>
                                   </block>
+                                </value>
+                                <statement name="DO2">
+                                  <block type="procedures_callnoreturn" id="GU;8.l4oFq+YV.)`9n7O">
+                                    <mutation name="formula_recognize_success"></mutation>
+                                  </block>
+                                </statement>
+                                <next>
+                                  <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_"></block>
                                 </next>
                               </block>
                             </next>
                           </block>
-                        </statement>
+                        </next>
                       </block>
-                    </next>
+                    </statement>
                   </block>
                 </next>
               </block>
@@ -204,7 +195,6 @@
           <block type="esp32_main_controller_time_timer_init" id="Pb6[;7nEF66EQ9jzE1A#">
             <next>
               <block type="v831_img_save" id="a{o:;wJ7pC7,vDXn$ge8">
-                <field name="varitem">canvas</field>
                 <value name="save_path">
                   <shadow type="text" id="G##RjuKt=HrI`[co?yQr">
                     <field name="TEXT">img_facedetection</field>
@@ -277,7 +267,6 @@
         </statement>
         <next>
           <block type="ai_lcd_draw_rectangle" id="2iehsGO.zwB^c{_{OZ8@">
-            <field name="varitem">canvas</field>
             <field name="rect_type">fillrect</field>
             <value name="POSA">
               <block type="lcd_set_position" id="(+=Ft(vS@v!+,.{AT$pd">
@@ -314,7 +303,6 @@
             </value>
             <next>
               <block type="ai_lcd_textcarvas" id="0d97{]^]T-PT%Yx~t8C)">
-                <field name="varitem">canvas</field>
                 <value name="POSA">
                   <block type="lcd_set_position" id="%i-XLa[0WKY.dSxi#3@$">
                     <value name="POSX">
@@ -445,7 +433,6 @@
     <field name="NAME">formula_recognize_failure</field>
     <statement name="STACK">
       <block type="ai_lcd_draw_rectangle" id="bsh-elnsC@~M;4T{YjPv">
-        <field name="varitem">canvas</field>
         <field name="rect_type">fillrect</field>
         <value name="POSA">
           <block type="lcd_set_position" id="o*xZGu=G],Rxc`Vm/Ty+">
@@ -482,7 +469,6 @@
         </value>
         <next>
           <block type="ai_lcd_textcarvas" id="qiI?=)eMl]ZX:lt@Yr6:">
-            <field name="varitem">canvas</field>
             <value name="POSA">
               <block type="lcd_set_position" id="@_~a!G]=b!7uh}lH5cAm">
                 <value name="POSX">
@@ -520,505 +506,10 @@
       </block>
     </statement>
   </block>
-  <block type="procedures_defnoreturn" id="MdO0;x:sGHz$S(A{|%pN" x="579" y="1205">
-    <field name="NAME">扫码联网</field>
-    <statement name="STACK">
-      <block type="controls_if" id="QFmk|4Cw6}n21!nrke#y">
-        <mutation else="1"></mutation>
-        <value name="IF0">
-          <block type="esp32_main_controller_get_wifi_connection_status" id="(x)B:OwYh|EpoS,iU~y2"></block>
-        </value>
-        <statement name="DO0">
-          <block type="variables_set" id="oldLjE9h_V);0gwLUqLp">
-            <field name="VAR">state</field>
-            <value name="VALUE">
-              <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                <field name="NUM">0</field>
-              </shadow>
-              <block type="text" id="S~`1o~82TueNdD6TT*fr">
-                <field name="TEXT"></field>
-              </block>
-            </value>
-          </block>
-        </statement>
-        <statement name="ELSE">
-          <block type="variables_set" id="k]EGN;l^*}3jz{T?Ce#F">
-            <field name="VAR">state</field>
-            <value name="VALUE">
-              <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                <field name="NUM">0</field>
-              </shadow>
-              <block type="text" id="8W*i4NJ;Vru3e1[^ou_c">
-                <field name="TEXT">扫码联网</field>
-              </block>
-            </value>
-            <next>
-              <block type="variables_set" id="2GkC(H8?w!`rDB?Bx?J=">
-                <field name="VAR">识别结果</field>
-                <value name="VALUE">
-                  <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
-                    <field name="NUM">0</field>
-                  </shadow>
-                  <block type="text" id="Slp_:m=z,Hklsa)s{@PY">
-                    <field name="TEXT"></field>
-                  </block>
-                </value>
-                <next>
-                  <block type="controls_repeat_forever" id=":LF5=[ApbR;GVmzmh|`~">
-                    <statement name="DO">
-                      <block type="controls_if" id="(%Lc=pe(bSVHpTsYm?/{">
-                        <mutation elseif="1"></mutation>
-                        <value name="IF0">
-                          <block type="logic_compare" id="t`Fs.OucEz)@5eXC$5J*">
-                            <field name="OP">EQ</field>
-                            <value name="A">
-                              <block type="variables_get" id="h/:RncBzY$kT|1p*xpWA">
-                                <field name="VAR">state</field>
-                              </block>
-                            </value>
-                            <value name="B">
-                              <block type="text" id="x#U|#$aY5?0E=pc^Ux[G">
-                                <field name="TEXT">扫码联网</field>
-                              </block>
-                            </value>
-                          </block>
-                        </value>
-                        <statement name="DO0">
-                          <block type="variables_set" id="Cu;$;(2=5xDCN0X_`V)3">
-                            <field name="VAR">canvas</field>
-                            <value name="VALUE">
-                              <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
-                                <field name="NUM">0</field>
-                              </shadow>
-                              <block type="ai_camera_snapshot" id="=1}#3hbmJ?he_09~HeDn"></block>
-                            </value>
-                            <next>
-                              <block type="variables_set" id="#rZEhIT(h!ixt0TY8k#$">
-                                <field name="VAR">qrCode</field>
-                                <value name="VALUE">
-                                  <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
-                                    <field name="NUM">0</field>
-                                  </shadow>
-                                  <block type="ai_vision_find_qrcode" id="XR1FTyBZ~BfT3B^h?2Xw">
-                                    <field name="varitem">canvas</field>
-                                  </block>
-                                </value>
-                                <next>
-                                  <block type="ai_lcd_draw_rectangle" id="XI5$[-#i^sfT(Anxj[[I">
-                                    <field name="varitem">canvas</field>
-                                    <field name="rect_type">fillrect</field>
-                                    <value name="POSA">
-                                      <block type="lcd_set_position" id="XHp~TJ9.ZOoO3Bp.CRPH">
-                                        <value name="POSX">
-                                          <shadow type="math_number" id="~0P_+`}ChKF6K5#/3_?[">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="POSY">
-                                          <shadow type="math_number" id="8*Fi]9hQE^]ta:+AGSq#">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="POSB">
-                                      <block type="lcd_set_width_height" id="_:HI_$5=X6gCu8zg?]].">
-                                        <value name="WIDTH">
-                                          <shadow type="math_number" id="LxbbW3:5h`0FA=Q+a6,-">
-                                            <field name="NUM">320</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="HEIGHT">
-                                          <shadow type="math_number" id=")Q|6ozkgm|%Oy@(w+njY">
-                                            <field name="NUM">20</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="COLOR">
-                                      <block type="lcd_set_color" id="f]`#WIQ0g.nhp)v_f+ra">
-                                        <field name="COLOR">#000000</field>
-                                      </block>
-                                    </value>
-                                    <next>
-                                      <block type="ai_lcd_textcarvas" id="o?Xee3@7Z7d1shgt=.~!">
-                                        <field name="varitem">canvas</field>
-                                        <value name="POSA">
-                                          <block type="lcd_set_position" id="%*a8qVFhJ[_J};+GRxvP">
-                                            <value name="POSX">
-                                              <shadow type="math_number" id="45#Ks%g9].:V;gyLe@7v">
-                                                <field name="NUM">50</field>
-                                              </shadow>
-                                            </value>
-                                            <value name="POSY">
-                                              <shadow type="math_number" id=";8`kH5D%t*Eoa{SFW-7U">
-                                                <field name="NUM">0</field>
-                                              </shadow>
-                                            </value>
-                                          </block>
-                                        </value>
-                                        <value name="CONTENT">
-                                          <shadow type="text" id="Yx!}/WC#[6zWWcyEp^k4">
-                                            <field name="TEXT">请扫描平台Wi-Fi二维码联网</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="COLOR">
-                                          <block type="lcd_set_color" id="iLjzPIF%lYI;?KBQ#/[$">
-                                            <field name="COLOR">#ffffff</field>
-                                          </block>
-                                        </value>
-                                        <value name="Scale">
-                                          <shadow type="math_number" id="nqzOJydkF/($.[m$H6Pv">
-                                            <field name="NUM">1</field>
-                                          </shadow>
-                                        </value>
-                                        <next>
-                                          <block type="controls_forEach" id="-:L$lT0zA7mfToS/t,.F">
-                                            <field name="VAR">i</field>
-                                            <value name="LIST">
-                                              <block type="variables_get" id="-{c41z,w]Y#[QB8KCcVz">
-                                                <field name="VAR">qrCode</field>
-                                              </block>
-                                            </value>
-                                            <statement name="DO">
-                                              <block type="ai_lcd_textcarvas" id="8a{z9sANpfx,m-E^?[ws">
-                                                <field name="varitem">canvas</field>
-                                                <value name="POSA">
-                                                  <block type="lcd_set_position" id="ioxr$KyBF@y^:cSUW[b)">
-                                                    <value name="POSX">
-                                                      <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="+JV^_A]p9mWwj4XMccW=">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">x</field>
-                                                      </block>
-                                                    </value>
-                                                    <value name="POSY">
-                                                      <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="3@C4V}bZ+$Zq%4rv{VSc">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">y</field>
-                                                      </block>
-                                                    </value>
-                                                  </block>
-                                                </value>
-                                                <value name="CONTENT">
-                                                  <shadow type="text" id="!4*_1/3)tAg3ygOM.|YW">
-                                                    <field name="TEXT"></field>
-                                                  </shadow>
-                                                  <block type="ai_vision_qrcode_get_info" id="u}v%Q4HoI0Jx3=a~f`{8">
-                                                    <field name="varitem">i</field>
-                                                    <field name="get_info">payload</field>
-                                                  </block>
-                                                </value>
-                                                <value name="COLOR">
-                                                  <block type="lcd_set_color" id="0uqSLJgr-ah=.H6F0Zg*">
-                                                    <field name="COLOR">#ff0000</field>
-                                                  </block>
-                                                </value>
-                                                <value name="Scale">
-                                                  <shadow type="math_number" id="$Eq^l2JOL,XJt3X@v/W2">
-                                                    <field name="NUM">1</field>
-                                                  </shadow>
-                                                </value>
-                                                <next>
-                                                  <block type="ai_lcd_draw_rectangle" id="qZ)[-$CRx*WU%R5F-C(b">
-                                                    <field name="varitem">canvas</field>
-                                                    <field name="rect_type">rect</field>
-                                                    <value name="POSA">
-                                                      <block type="lcd_set_position" id="%{ni*3`X:MOwcP+$x]Ce" inline="false">
-                                                        <value name="POSX">
-                                                          <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="d`=/VVl{9bDr(rQsN=X9">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">x</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="POSY">
-                                                          <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="w3FPKp`({0i%TOSAkfx|">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">y</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <value name="POSB">
-                                                      <block type="lcd_set_width_height" id="w_%[j;O|%aA;,b/TN?OG" inline="false">
-                                                        <value name="WIDTH">
-                                                          <shadow type="math_number" id="k(B:~2AOLJV~zLnbe)89">
-                                                            <field name="NUM">320</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id=".|m1N_[}die?dg8`TdGY">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">w1</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="HEIGHT">
-                                                          <shadow type="math_number" id="c)u)Q:9p$d5b5%4Lqa9$">
-                                                            <field name="NUM">240</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="$~EzG-QSb%]fHlU@Z+S2">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">h2</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <value name="COLOR">
-                                                      <block type="lcd_set_color" id="8]sijmt:%XtQlj}tgIas">
-                                                        <field name="COLOR">#ff0000</field>
-                                                      </block>
-                                                    </value>
-                                                    <next>
-                                                      <block type="variables_set" id="KVP}T[SMJJey84#dVw0T">
-                                                        <field name="VAR">识别结果</field>
-                                                        <value name="VALUE">
-                                                          <shadow type="math_number" id="~c`T-qSJp-={%Hp!.bS)">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="text_split_string_by_delimiter" id="LTbE[`1q4E(OeDv;,H=^">
-                                                            <field name="delimiter">;</field>
-                                                            <value name="string_input">
-                                                              <block type="ai_vision_qrcode_get_info" id="t-M^Cy5b#OLC+;)kF^N7">
-                                                                <field name="varitem">i</field>
-                                                                <field name="get_info">payload</field>
-                                                              </block>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </next>
-                                                  </block>
-                                                </next>
-                                              </block>
-                                            </statement>
-                                            <next>
-                                              <block type="ai_lcd_showcarvas_set_display" id="_+g?Q4R`)mrc!;|8w=Y~">
-                                                <field name="varitem">canvas</field>
-                                                <next>
-                                                  <block type="controls_if" id="u4,JM+iCSC81$RBCpu5C">
-                                                    <value name="IF0">
-                                                      <block type="logic_compare" id="Ah]X%z9GHc.{/Wc6W2F#">
-                                                        <field name="OP">NEQ</field>
-                                                        <value name="A">
-                                                          <block type="variables_get" id="Cg#*ndDK+W9_!H,48}zu">
-                                                            <field name="VAR">识别结果</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="B">
-                                                          <block type="text" id="Ztob3cliQa=zb*$!QQsu">
-                                                            <field name="TEXT"></field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <statement name="DO0">
-                                                      <block type="variables_set" id="_(vhjruUh#kTA56w|d3d">
-                                                        <field name="VAR">SSID</field>
-                                                        <value name="VALUE">
-                                                          <shadow type="math_number" id="3K*LFc1ljS];!d#%F-4`">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="text_getSubstring" id="HA}:BUUN/Lh]02:)p?t$">
-                                                            <mutation at1="true" at2="false"></mutation>
-                                                            <field name="WHERE1">FROM_START</field>
-                                                            <field name="WHERE2">LAST</field>
-                                                            <value name="STRING">
-                                                              <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                                <field name="TEXT">abc</field>
-                                                              </shadow>
-                                                              <block type="list_order_item" id="5th9:-d^^}a|jY6xj(wn">
-                                                                <field name="list_order">[</field>
-                                                                <value name="list_name">
-                                                                  <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                    <field name="TEXT"></field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="2!t]1Q6[YvWk.Qxvj#L|">
-                                                                    <field name="VAR">识别结果</field>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="list_order_item">
-                                                                  <shadow type="math_number" id="U-6}MxOaKjYG*H#Oi{q[">
-                                                                    <field name="NUM">0</field>
-                                                                  </shadow>
-                                                                </value>
-                                                              </block>
-                                                            </value>
-                                                            <value name="AT1">
-                                                              <block type="math_number" id="Ay7P[`wsl5wzWu]e7H!k">
-                                                                <field name="NUM">5</field>
-                                                              </block>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                        <next>
-                                                          <block type="variables_set" id="BN[#=^R.N=8{4!T?0#qC">
-                                                            <field name="VAR">PASS</field>
-                                                            <value name="VALUE">
-                                                              <shadow type="math_number" id="TE/Z6~Io-j^00#j83r.6">
-                                                                <field name="NUM">0</field>
-                                                              </shadow>
-                                                              <block type="text_getSubstring" id="UL=9DP#qoN}.QG@*FHU!">
-                                                                <mutation at1="true" at2="false"></mutation>
-                                                                <field name="WHERE1">FROM_START</field>
-                                                                <field name="WHERE2">LAST</field>
-                                                                <value name="STRING">
-                                                                  <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                                    <field name="TEXT">abc</field>
-                                                                  </shadow>
-                                                                  <block type="list_order_item" id="_2**VKdEi@)N9l;p4LM~">
-                                                                    <field name="list_order">[</field>
-                                                                    <value name="list_name">
-                                                                      <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                        <field name="TEXT"></field>
-                                                                      </shadow>
-                                                                      <block type="variables_get" id="~qdfyZP,~jtF#*T1+;sY">
-                                                                        <field name="VAR">识别结果</field>
-                                                                      </block>
-                                                                    </value>
-                                                                    <value name="list_order_item">
-                                                                      <shadow type="math_number" id="U-kC|FfTvDa%2qTHC},N">
-                                                                        <field name="NUM">1</field>
-                                                                      </shadow>
-                                                                    </value>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="AT1">
-                                                                  <block type="math_number" id="cS/pZonr0iyWq3|Wp;#~">
-                                                                    <field name="NUM">5</field>
-                                                                  </block>
-                                                                </value>
-                                                              </block>
-                                                            </value>
-                                                            <next>
-                                                              <block type="esp32_main_controller_wifi_connect_internet" id="=jnPdoUl*ACAi-85g}J{">
-                                                                <value name="ssid">
-                                                                  <shadow type="text" id="([(K4/ZxJESaAK;i9lLA">
-                                                                    <field name="TEXT">ENTER_YOUR_SSID</field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="1LX-)-jH},^9TXj).4c!">
-                                                                    <field name="VAR">SSID</field>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="password">
-                                                                  <shadow type="text" id="[I.[L1]LZv$^U{xAXTxT">
-                                                                    <field name="TEXT">ENTER_YOUR_PASSWORD</field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="xPj$i.?ita46~OsGowZU">
-                                                                    <field name="VAR">PASS</field>
-                                                                  </block>
-                                                                </value>
-                                                                <next>
-                                                                  <block type="controls_if" id="?[+@RI,Y^+j%?Ao;M%B;">
-                                                                    <mutation else="1"></mutation>
-                                                                    <value name="IF0">
-                                                                      <block type="esp32_main_controller_get_wifi_connection_status" id="]c2?qP})|]EfvYFEQROi"></block>
-                                                                    </value>
-                                                                    <statement name="DO0">
-                                                                      <block type="variables_set" id="},Y9asDZyTyB#yB7L+et">
-                                                                        <field name="VAR">state</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="sq7I]qNXrv;Ny}TBNw)V">
-                                                                            <field name="TEXT"></field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </statement>
-                                                                    <statement name="ELSE">
-                                                                      <block type="variables_set" id="~+E/j(}}J52t^zVL+y@2">
-                                                                        <field name="VAR">state</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="zsSG)QM`+IL9a[7${WoB">
-                                                                            <field name="TEXT">扫码联网</field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </statement>
-                                                                    <next>
-                                                                      <block type="variables_set" id="P+,6h[)bpFd;~gF3F*|)">
-                                                                        <field name="VAR">识别结果</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="DD1$OM5bjJtDC6eh2mn5">
-                                                                            <field name="TEXT"></field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </next>
-                                                                  </block>
-                                                                </next>
-                                                              </block>
-                                                            </next>
-                                                          </block>
-                                                        </next>
-                                                      </block>
-                                                    </statement>
-                                                  </block>
-                                                </next>
-                                              </block>
-                                            </next>
-                                          </block>
-                                        </next>
-                                      </block>
-                                    </next>
-                                  </block>
-                                </next>
-                              </block>
-                            </next>
-                          </block>
-                        </statement>
-                        <value name="IF1">
-                          <block type="logic_compare" id="L%xi)sGkTLkoTNk47eJf">
-                            <field name="OP">EQ</field>
-                            <value name="A">
-                              <block type="variables_get" id="3X*+8oW5yb?@1(yc4UHn">
-                                <field name="VAR">state</field>
-                              </block>
-                            </value>
-                            <value name="B">
-                              <block type="text" id="rPI(=(sLw[Bhi/Qv#xnt">
-                                <field name="TEXT"></field>
-                              </block>
-                            </value>
-                          </block>
-                        </value>
-                        <statement name="DO1">
-                          <block type="controls_flow_statements" id="HWi$%Sz4Oq[rHo#*l-KW">
-                            <field name="FLOW">BREAK</field>
-                          </block>
-                        </statement>
-                      </block>
-                    </statement>
-                  </block>
-                </next>
-              </block>
-            </next>
-          </block>
-        </statement>
-      </block>
-    </statement>
-  </block>
   <block type="procedures_defnoreturn" id="7kMECGEs~,|{c}nkthL^" x="-561" y="1298">
     <field name="NAME">formula_recognize_success</field>
     <statement name="STACK">
       <block type="ai_lcd_draw_rectangle" id="udCc]{v:i^UDsXp2R^Be">
-        <field name="varitem">canvas</field>
         <field name="rect_type">fillrect</field>
         <value name="POSA">
           <block type="lcd_set_position" id=".+^Pef`F{P^,]A+r0YgZ">
@@ -1055,7 +546,6 @@
         </value>
         <next>
           <block type="ai_lcd_textcarvas" id="5t*-K.X+p!=QaRknd26[">
-            <field name="varitem">canvas</field>
             <value name="POSA">
               <block type="lcd_set_position" id="c9~8`HIlb`?X:Wf3}LGR">
                 <value name="POSX">

+ 5 - 510
src/python/讯飞/在线人脸检测.xml

@@ -1,9 +1,8 @@
 <xml xmlns="http://www.w3.org/1999/xhtml" type="IoT">
-  <block type="ai_lcd_screeninit" id="2PHESD`!?Rz;,*CXs|@U" x="0" y="144">
-    <field name="isScreen">False</field>
+  <block type="V831_code_scanning_network" id="qZ;;[lh?AkP!eQ#pns3m" x="6" y="116">
     <next>
-      <block type="procedures_callnoreturn" id="SLAXL/P~.W~xa2xY{,}3">
-        <mutation name="扫码联网"></mutation>
+      <block type="ai_lcd_screeninit" id="2PHESD`!?Rz;,*CXs|@U">
+        <field name="isScreen">False</field>
         <next>
           <block type="variables_set" id=";su3LI/ZZns%NLWA*d//">
             <field name="VAR">img_src</field>
@@ -41,7 +40,6 @@
                       <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
                         <statement name="DO">
                           <block type="ai_camera_fit_to_screen_size" id="-x|1rNvFHX+n!n;)PcrF">
-                            <field name="varitem">canvas</field>
                             <field name="size">320</field>
                             <next>
                               <block type="ai_v831_button_read_released" id="$x~gT)UEvgf1df~{m4l@">
@@ -166,9 +164,7 @@
                                       </block>
                                     </statement>
                                     <next>
-                                      <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_">
-                                        <field name="varitem">canvas</field>
-                                      </block>
+                                      <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_"></block>
                                     </next>
                                   </block>
                                 </next>
@@ -204,7 +200,6 @@
           <block type="esp32_main_controller_time_timer_init" id="Pb6[;7nEF66EQ9jzE1A#">
             <next>
               <block type="v831_img_save" id="a{o:;wJ7pC7,vDXn$ge8">
-                <field name="varitem">canvas</field>
                 <value name="save_path">
                   <shadow type="text" id="G##RjuKt=HrI`[co?yQr">
                     <field name="TEXT">img_facedetection</field>
@@ -277,7 +272,6 @@
         </statement>
         <next>
           <block type="ai_lcd_draw_rectangle" id="2iehsGO.zwB^c{_{OZ8@">
-            <field name="varitem">canvas</field>
             <field name="rect_type">fillrect</field>
             <value name="POSA">
               <block type="lcd_set_position" id="(+=Ft(vS@v!+,.{AT$pd">
@@ -314,7 +308,6 @@
             </value>
             <next>
               <block type="ai_lcd_textcarvas" id="0d97{]^]T-PT%Yx~t8C)">
-                <field name="varitem">canvas</field>
                 <value name="POSA">
                   <block type="lcd_set_position" id="%i-XLa[0WKY.dSxi#3@$">
                     <value name="POSX">
@@ -445,7 +438,6 @@
     <field name="NAME">face_detection_failure</field>
     <statement name="STACK">
       <block type="ai_lcd_draw_rectangle" id="bsh-elnsC@~M;4T{YjPv">
-        <field name="varitem">canvas</field>
         <field name="rect_type">fillrect</field>
         <value name="POSA">
           <block type="lcd_set_position" id="o*xZGu=G],Rxc`Vm/Ty+">
@@ -482,7 +474,6 @@
         </value>
         <next>
           <block type="ai_lcd_textcarvas" id="qiI?=)eMl]ZX:lt@Yr6:">
-            <field name="varitem">canvas</field>
             <value name="POSA">
               <block type="lcd_set_position" id="@_~a!G]=b!7uh}lH5cAm">
                 <value name="POSX">
@@ -520,11 +511,10 @@
       </block>
     </statement>
   </block>
-  <block type="procedures_defnoreturn" id="7kMECGEs~,|{c}nkthL^" x="-613" y="1213">
+  <block type="procedures_defnoreturn" id="7kMECGEs~,|{c}nkthL^" x="-774" y="1361">
     <field name="NAME">face_detection_success</field>
     <statement name="STACK">
       <block type="ai_lcd_draw_rectangle" id="udCc]{v:i^UDsXp2R^Be">
-        <field name="varitem">canvas</field>
         <field name="rect_type">fillrect</field>
         <value name="POSA">
           <block type="lcd_set_position" id=".+^Pef`F{P^,]A+r0YgZ">
@@ -561,7 +551,6 @@
         </value>
         <next>
           <block type="ai_lcd_textcarvas" id="5t*-K.X+p!=QaRknd26[">
-            <field name="varitem">canvas</field>
             <value name="POSA">
               <block type="lcd_set_position" id="c9~8`HIlb`?X:Wf3}LGR">
                 <value name="POSX">
@@ -611,498 +600,4 @@
       </block>
     </statement>
   </block>
-  <block type="procedures_defnoreturn" id="MdO0;x:sGHz$S(A{|%pN" x="87" y="1362">
-    <field name="NAME">扫码联网</field>
-    <statement name="STACK">
-      <block type="controls_if" id="QFmk|4Cw6}n21!nrke#y">
-        <mutation else="1"></mutation>
-        <value name="IF0">
-          <block type="esp32_main_controller_get_wifi_connection_status" id="(x)B:OwYh|EpoS,iU~y2"></block>
-        </value>
-        <statement name="DO0">
-          <block type="variables_set" id="oldLjE9h_V);0gwLUqLp">
-            <field name="VAR">state</field>
-            <value name="VALUE">
-              <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                <field name="NUM">0</field>
-              </shadow>
-              <block type="text" id="S~`1o~82TueNdD6TT*fr">
-                <field name="TEXT"></field>
-              </block>
-            </value>
-          </block>
-        </statement>
-        <statement name="ELSE">
-          <block type="variables_set" id="k]EGN;l^*}3jz{T?Ce#F">
-            <field name="VAR">state</field>
-            <value name="VALUE">
-              <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                <field name="NUM">0</field>
-              </shadow>
-              <block type="text" id="8W*i4NJ;Vru3e1[^ou_c">
-                <field name="TEXT">扫码联网</field>
-              </block>
-            </value>
-            <next>
-              <block type="variables_set" id="2GkC(H8?w!`rDB?Bx?J=">
-                <field name="VAR">识别结果</field>
-                <value name="VALUE">
-                  <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
-                    <field name="NUM">0</field>
-                  </shadow>
-                  <block type="text" id="Slp_:m=z,Hklsa)s{@PY">
-                    <field name="TEXT"></field>
-                  </block>
-                </value>
-                <next>
-                  <block type="controls_repeat_forever" id=":LF5=[ApbR;GVmzmh|`~">
-                    <statement name="DO">
-                      <block type="controls_if" id="(%Lc=pe(bSVHpTsYm?/{">
-                        <mutation elseif="1"></mutation>
-                        <value name="IF0">
-                          <block type="logic_compare" id="t`Fs.OucEz)@5eXC$5J*">
-                            <field name="OP">EQ</field>
-                            <value name="A">
-                              <block type="variables_get" id="h/:RncBzY$kT|1p*xpWA">
-                                <field name="VAR">state</field>
-                              </block>
-                            </value>
-                            <value name="B">
-                              <block type="text" id="x#U|#$aY5?0E=pc^Ux[G">
-                                <field name="TEXT">扫码联网</field>
-                              </block>
-                            </value>
-                          </block>
-                        </value>
-                        <statement name="DO0">
-                          <block type="variables_set" id="Cu;$;(2=5xDCN0X_`V)3">
-                            <field name="VAR">canvas</field>
-                            <value name="VALUE">
-                              <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
-                                <field name="NUM">0</field>
-                              </shadow>
-                              <block type="ai_camera_snapshot" id="=1}#3hbmJ?he_09~HeDn"></block>
-                            </value>
-                            <next>
-                              <block type="variables_set" id="#rZEhIT(h!ixt0TY8k#$">
-                                <field name="VAR">qrCode</field>
-                                <value name="VALUE">
-                                  <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
-                                    <field name="NUM">0</field>
-                                  </shadow>
-                                  <block type="ai_vision_find_qrcode" id="XR1FTyBZ~BfT3B^h?2Xw">
-                                    <field name="varitem">canvas</field>
-                                  </block>
-                                </value>
-                                <next>
-                                  <block type="ai_lcd_draw_rectangle" id="XI5$[-#i^sfT(Anxj[[I">
-                                    <field name="varitem">canvas</field>
-                                    <field name="rect_type">fillrect</field>
-                                    <value name="POSA">
-                                      <block type="lcd_set_position" id="XHp~TJ9.ZOoO3Bp.CRPH">
-                                        <value name="POSX">
-                                          <shadow type="math_number" id="~0P_+`}ChKF6K5#/3_?[">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="POSY">
-                                          <shadow type="math_number" id="8*Fi]9hQE^]ta:+AGSq#">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="POSB">
-                                      <block type="lcd_set_width_height" id="_:HI_$5=X6gCu8zg?]].">
-                                        <value name="WIDTH">
-                                          <shadow type="math_number" id="LxbbW3:5h`0FA=Q+a6,-">
-                                            <field name="NUM">320</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="HEIGHT">
-                                          <shadow type="math_number" id=")Q|6ozkgm|%Oy@(w+njY">
-                                            <field name="NUM">20</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="COLOR">
-                                      <block type="lcd_set_color" id="f]`#WIQ0g.nhp)v_f+ra">
-                                        <field name="COLOR">#000000</field>
-                                      </block>
-                                    </value>
-                                    <next>
-                                      <block type="ai_lcd_textcarvas" id="o?Xee3@7Z7d1shgt=.~!">
-                                        <field name="varitem">canvas</field>
-                                        <value name="POSA">
-                                          <block type="lcd_set_position" id="%*a8qVFhJ[_J};+GRxvP">
-                                            <value name="POSX">
-                                              <shadow type="math_number" id="45#Ks%g9].:V;gyLe@7v">
-                                                <field name="NUM">50</field>
-                                              </shadow>
-                                            </value>
-                                            <value name="POSY">
-                                              <shadow type="math_number" id=";8`kH5D%t*Eoa{SFW-7U">
-                                                <field name="NUM">0</field>
-                                              </shadow>
-                                            </value>
-                                          </block>
-                                        </value>
-                                        <value name="CONTENT">
-                                          <shadow type="text" id="Yx!}/WC#[6zWWcyEp^k4">
-                                            <field name="TEXT">请扫描平台Wi-Fi二维码联网</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="COLOR">
-                                          <block type="lcd_set_color" id="iLjzPIF%lYI;?KBQ#/[$">
-                                            <field name="COLOR">#ffffff</field>
-                                          </block>
-                                        </value>
-                                        <value name="Scale">
-                                          <shadow type="math_number" id="nqzOJydkF/($.[m$H6Pv">
-                                            <field name="NUM">1</field>
-                                          </shadow>
-                                        </value>
-                                        <next>
-                                          <block type="controls_forEach" id="-:L$lT0zA7mfToS/t,.F">
-                                            <field name="VAR">i</field>
-                                            <value name="LIST">
-                                              <block type="variables_get" id="-{c41z,w]Y#[QB8KCcVz">
-                                                <field name="VAR">qrCode</field>
-                                              </block>
-                                            </value>
-                                            <statement name="DO">
-                                              <block type="ai_lcd_textcarvas" id="8a{z9sANpfx,m-E^?[ws">
-                                                <field name="varitem">canvas</field>
-                                                <value name="POSA">
-                                                  <block type="lcd_set_position" id="ioxr$KyBF@y^:cSUW[b)">
-                                                    <value name="POSX">
-                                                      <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="+JV^_A]p9mWwj4XMccW=">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">x</field>
-                                                      </block>
-                                                    </value>
-                                                    <value name="POSY">
-                                                      <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="3@C4V}bZ+$Zq%4rv{VSc">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">y</field>
-                                                      </block>
-                                                    </value>
-                                                  </block>
-                                                </value>
-                                                <value name="CONTENT">
-                                                  <shadow type="text" id="!4*_1/3)tAg3ygOM.|YW">
-                                                    <field name="TEXT"></field>
-                                                  </shadow>
-                                                  <block type="ai_vision_qrcode_get_info" id="u}v%Q4HoI0Jx3=a~f`{8">
-                                                    <field name="varitem">i</field>
-                                                    <field name="get_info">payload</field>
-                                                  </block>
-                                                </value>
-                                                <value name="COLOR">
-                                                  <block type="lcd_set_color" id="0uqSLJgr-ah=.H6F0Zg*">
-                                                    <field name="COLOR">#ff0000</field>
-                                                  </block>
-                                                </value>
-                                                <value name="Scale">
-                                                  <shadow type="math_number" id="$Eq^l2JOL,XJt3X@v/W2">
-                                                    <field name="NUM">1</field>
-                                                  </shadow>
-                                                </value>
-                                                <next>
-                                                  <block type="ai_lcd_draw_rectangle" id="qZ)[-$CRx*WU%R5F-C(b">
-                                                    <field name="varitem">canvas</field>
-                                                    <field name="rect_type">rect</field>
-                                                    <value name="POSA">
-                                                      <block type="lcd_set_position" id="%{ni*3`X:MOwcP+$x]Ce" inline="false">
-                                                        <value name="POSX">
-                                                          <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="d`=/VVl{9bDr(rQsN=X9">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">x</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="POSY">
-                                                          <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="w3FPKp`({0i%TOSAkfx|">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">y</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <value name="POSB">
-                                                      <block type="lcd_set_width_height" id="w_%[j;O|%aA;,b/TN?OG" inline="false">
-                                                        <value name="WIDTH">
-                                                          <shadow type="math_number" id="k(B:~2AOLJV~zLnbe)89">
-                                                            <field name="NUM">320</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id=".|m1N_[}die?dg8`TdGY">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">w1</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="HEIGHT">
-                                                          <shadow type="math_number" id="c)u)Q:9p$d5b5%4Lqa9$">
-                                                            <field name="NUM">240</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="$~EzG-QSb%]fHlU@Z+S2">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">h2</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <value name="COLOR">
-                                                      <block type="lcd_set_color" id="8]sijmt:%XtQlj}tgIas">
-                                                        <field name="COLOR">#ff0000</field>
-                                                      </block>
-                                                    </value>
-                                                    <next>
-                                                      <block type="variables_set" id="KVP}T[SMJJey84#dVw0T">
-                                                        <field name="VAR">识别结果</field>
-                                                        <value name="VALUE">
-                                                          <shadow type="math_number" id="~c`T-qSJp-={%Hp!.bS)">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="text_split_string_by_delimiter" id="LTbE[`1q4E(OeDv;,H=^">
-                                                            <field name="delimiter">;</field>
-                                                            <value name="string_input">
-                                                              <block type="ai_vision_qrcode_get_info" id="t-M^Cy5b#OLC+;)kF^N7">
-                                                                <field name="varitem">i</field>
-                                                                <field name="get_info">payload</field>
-                                                              </block>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </next>
-                                                  </block>
-                                                </next>
-                                              </block>
-                                            </statement>
-                                            <next>
-                                              <block type="ai_lcd_showcarvas_set_display" id="_+g?Q4R`)mrc!;|8w=Y~">
-                                                <field name="varitem">canvas</field>
-                                                <next>
-                                                  <block type="controls_if" id="u4,JM+iCSC81$RBCpu5C">
-                                                    <value name="IF0">
-                                                      <block type="logic_compare" id="Ah]X%z9GHc.{/Wc6W2F#">
-                                                        <field name="OP">NEQ</field>
-                                                        <value name="A">
-                                                          <block type="variables_get" id="Cg#*ndDK+W9_!H,48}zu">
-                                                            <field name="VAR">识别结果</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="B">
-                                                          <block type="text" id="Ztob3cliQa=zb*$!QQsu">
-                                                            <field name="TEXT"></field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <statement name="DO0">
-                                                      <block type="variables_set" id="_(vhjruUh#kTA56w|d3d">
-                                                        <field name="VAR">SSID</field>
-                                                        <value name="VALUE">
-                                                          <shadow type="math_number" id="3K*LFc1ljS];!d#%F-4`">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="text_getSubstring" id="HA}:BUUN/Lh]02:)p?t$">
-                                                            <mutation at1="true" at2="false"></mutation>
-                                                            <field name="WHERE1">FROM_START</field>
-                                                            <field name="WHERE2">LAST</field>
-                                                            <value name="STRING">
-                                                              <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                                <field name="TEXT">abc</field>
-                                                              </shadow>
-                                                              <block type="list_order_item" id="5th9:-d^^}a|jY6xj(wn">
-                                                                <field name="list_order">[</field>
-                                                                <value name="list_name">
-                                                                  <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                    <field name="TEXT"></field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="2!t]1Q6[YvWk.Qxvj#L|">
-                                                                    <field name="VAR">识别结果</field>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="list_order_item">
-                                                                  <shadow type="math_number" id="U-6}MxOaKjYG*H#Oi{q[">
-                                                                    <field name="NUM">0</field>
-                                                                  </shadow>
-                                                                </value>
-                                                              </block>
-                                                            </value>
-                                                            <value name="AT1">
-                                                              <block type="math_number" id="Ay7P[`wsl5wzWu]e7H!k">
-                                                                <field name="NUM">5</field>
-                                                              </block>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                        <next>
-                                                          <block type="variables_set" id="BN[#=^R.N=8{4!T?0#qC">
-                                                            <field name="VAR">PASS</field>
-                                                            <value name="VALUE">
-                                                              <shadow type="math_number" id="TE/Z6~Io-j^00#j83r.6">
-                                                                <field name="NUM">0</field>
-                                                              </shadow>
-                                                              <block type="text_getSubstring" id="UL=9DP#qoN}.QG@*FHU!">
-                                                                <mutation at1="true" at2="false"></mutation>
-                                                                <field name="WHERE1">FROM_START</field>
-                                                                <field name="WHERE2">LAST</field>
-                                                                <value name="STRING">
-                                                                  <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                                    <field name="TEXT">abc</field>
-                                                                  </shadow>
-                                                                  <block type="list_order_item" id="_2**VKdEi@)N9l;p4LM~">
-                                                                    <field name="list_order">[</field>
-                                                                    <value name="list_name">
-                                                                      <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                        <field name="TEXT"></field>
-                                                                      </shadow>
-                                                                      <block type="variables_get" id="~qdfyZP,~jtF#*T1+;sY">
-                                                                        <field name="VAR">识别结果</field>
-                                                                      </block>
-                                                                    </value>
-                                                                    <value name="list_order_item">
-                                                                      <shadow type="math_number" id="U-kC|FfTvDa%2qTHC},N">
-                                                                        <field name="NUM">1</field>
-                                                                      </shadow>
-                                                                    </value>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="AT1">
-                                                                  <block type="math_number" id="cS/pZonr0iyWq3|Wp;#~">
-                                                                    <field name="NUM">5</field>
-                                                                  </block>
-                                                                </value>
-                                                              </block>
-                                                            </value>
-                                                            <next>
-                                                              <block type="esp32_main_controller_wifi_connect_internet" id="=jnPdoUl*ACAi-85g}J{">
-                                                                <value name="ssid">
-                                                                  <shadow type="text" id="([(K4/ZxJESaAK;i9lLA">
-                                                                    <field name="TEXT">ENTER_YOUR_SSID</field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="1LX-)-jH},^9TXj).4c!">
-                                                                    <field name="VAR">SSID</field>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="password">
-                                                                  <shadow type="text" id="[I.[L1]LZv$^U{xAXTxT">
-                                                                    <field name="TEXT">ENTER_YOUR_PASSWORD</field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="xPj$i.?ita46~OsGowZU">
-                                                                    <field name="VAR">PASS</field>
-                                                                  </block>
-                                                                </value>
-                                                                <next>
-                                                                  <block type="controls_if" id="?[+@RI,Y^+j%?Ao;M%B;">
-                                                                    <mutation else="1"></mutation>
-                                                                    <value name="IF0">
-                                                                      <block type="esp32_main_controller_get_wifi_connection_status" id="]c2?qP})|]EfvYFEQROi"></block>
-                                                                    </value>
-                                                                    <statement name="DO0">
-                                                                      <block type="variables_set" id="},Y9asDZyTyB#yB7L+et">
-                                                                        <field name="VAR">state</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="sq7I]qNXrv;Ny}TBNw)V">
-                                                                            <field name="TEXT"></field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </statement>
-                                                                    <statement name="ELSE">
-                                                                      <block type="variables_set" id="~+E/j(}}J52t^zVL+y@2">
-                                                                        <field name="VAR">state</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="zsSG)QM`+IL9a[7${WoB">
-                                                                            <field name="TEXT">扫码联网</field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </statement>
-                                                                    <next>
-                                                                      <block type="variables_set" id="P+,6h[)bpFd;~gF3F*|)">
-                                                                        <field name="VAR">识别结果</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="DD1$OM5bjJtDC6eh2mn5">
-                                                                            <field name="TEXT"></field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </next>
-                                                                  </block>
-                                                                </next>
-                                                              </block>
-                                                            </next>
-                                                          </block>
-                                                        </next>
-                                                      </block>
-                                                    </statement>
-                                                  </block>
-                                                </next>
-                                              </block>
-                                            </next>
-                                          </block>
-                                        </next>
-                                      </block>
-                                    </next>
-                                  </block>
-                                </next>
-                              </block>
-                            </next>
-                          </block>
-                        </statement>
-                        <value name="IF1">
-                          <block type="logic_compare" id="L%xi)sGkTLkoTNk47eJf">
-                            <field name="OP">EQ</field>
-                            <value name="A">
-                              <block type="variables_get" id="3X*+8oW5yb?@1(yc4UHn">
-                                <field name="VAR">state</field>
-                              </block>
-                            </value>
-                            <value name="B">
-                              <block type="text" id="rPI(=(sLw[Bhi/Qv#xnt">
-                                <field name="TEXT"></field>
-                              </block>
-                            </value>
-                          </block>
-                        </value>
-                        <statement name="DO1">
-                          <block type="controls_flow_statements" id="HWi$%Sz4Oq[rHo#*l-KW">
-                            <field name="FLOW">BREAK</field>
-                          </block>
-                        </statement>
-                      </block>
-                    </statement>
-                  </block>
-                </next>
-              </block>
-            </next>
-          </block>
-        </statement>
-      </block>
-    </statement>
-  </block>
 </xml>

+ 155 - 671
src/python/讯飞/情绪识别.xml

@@ -1,186 +1,174 @@
 <xml xmlns="http://www.w3.org/1999/xhtml" type="IoT">
-  <block type="procedures_defnoreturn" id="a~Oq0IOnSQSznY2BY[F]" x="0" y="0">
-    <field name="NAME">emotion_recognize_success</field>
-  </block>
-  <block type="ai_lcd_screeninit" id="2PHESD`!?Rz;,*CXs|@U" x="0" y="27">
-    <field name="isScreen">False</field>
+  <block type="V831_code_scanning_network" id="7tc^MDXEMLxjy|^GKvP*" x="14" y="84">
     <next>
-      <block type="procedures_callnoreturn" id="SLAXL/P~.W~xa2xY{,}3">
-        <mutation name="扫码联网"></mutation>
+      <block type="variables_set" id=";su3LI/ZZns%NLWA*d//">
+        <field name="VAR">img_src</field>
+        <value name="VALUE">
+          <shadow type="math_number" id="!^ZX}~l$sF;f-/DQu-5r">
+            <field name="NUM">0</field>
+          </shadow>
+          <block type="text" id="oT`DE#=w.I#oC9)N1=;l">
+            <field name="TEXT">/root/user/img/img_handwritten_text.jpg</field>
+          </block>
+        </value>
         <next>
-          <block type="variables_set" id=";su3LI/ZZns%NLWA*d//">
-            <field name="VAR">img_src</field>
+          <block type="variables_set" id="V2+_z5Oc#{g^z?)?2rJ)">
+            <field name="VAR">state</field>
             <value name="VALUE">
-              <shadow type="math_number" id="!^ZX}~l$sF;f-/DQu-5r">
+              <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
                 <field name="NUM">0</field>
               </shadow>
-              <block type="text" id="oT`DE#=w.I#oC9)N1=;l">
-                <field name="TEXT">/root/user/img/img_handwritten_text.jpg</field>
+              <block type="text" id="Tf!/$j7D(n#2pDV[_~=C">
+                <field name="TEXT"></field>
               </block>
             </value>
             <next>
-              <block type="variables_set" id="V2+_z5Oc#{g^z?)?2rJ)">
-                <field name="VAR">state</field>
+              <block type="variables_set" id="3._PEwALc@DYzol,7:tf">
+                <field name="VAR">result</field>
                 <value name="VALUE">
                   <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
                     <field name="NUM">0</field>
                   </shadow>
-                  <block type="text" id="Tf!/$j7D(n#2pDV[_~=C">
-                    <field name="TEXT"></field>
+                  <block type="text" id="ft!+xiC,t+/QX.|GP2_Z">
+                    <field name="TEXT">N/A</field>
                   </block>
                 </value>
                 <next>
-                  <block type="variables_set" id="3._PEwALc@DYzol,7:tf">
-                    <field name="VAR">result</field>
-                    <value name="VALUE">
-                      <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
-                        <field name="NUM">0</field>
-                      </shadow>
-                      <block type="text" id="ft!+xiC,t+/QX.|GP2_Z">
-                        <field name="TEXT">N/A</field>
-                      </block>
-                    </value>
-                    <next>
-                      <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
-                        <statement name="DO">
-                          <block type="ai_camera_fit_to_screen_size" id="-x|1rNvFHX+n!n;)PcrF">
-                            <field name="varitem">canvas</field>
-                            <field name="size">320</field>
+                  <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
+                    <statement name="DO">
+                      <block type="ai_camera_fit_to_screen_size" id="-x|1rNvFHX+n!n;)PcrF">
+                        <field name="size">320</field>
+                        <next>
+                          <block type="ai_v831_button_read_released" id="$x~gT)UEvgf1df~{m4l@">
+                            <field name="button_type">C</field>
+                            <statement name="input">
+                              <block type="procedures_callnoreturn" id="is!9:|n|f}8*ZBqLbCdN">
+                                <mutation name="take_picture"></mutation>
+                              </block>
+                            </statement>
                             <next>
-                              <block type="ai_v831_button_read_released" id="$x~gT)UEvgf1df~{m4l@">
-                                <field name="button_type">C</field>
-                                <statement name="input">
-                                  <block type="procedures_callnoreturn" id="is!9:|n|f}8*ZBqLbCdN">
-                                    <mutation name="take_picture"></mutation>
+                              <block type="controls_if" id="}FFONk4`/!#_CKBXv17*">
+                                <mutation elseif="2"></mutation>
+                                <value name="IF0">
+                                  <block type="logic_compare" id="f1xU+2=]=FNGYhieSS*%">
+                                    <field name="OP">EQ</field>
+                                    <value name="A">
+                                      <block type="variables_get" id="Dh{y,K1W4kc5tB0L#1gJ">
+                                        <field name="VAR">state</field>
+                                      </block>
+                                    </value>
+                                    <value name="B">
+                                      <block type="text" id="IJZP|+GVe^;FRk*l2|yU">
+                                        <field name="TEXT">拍照發送</field>
+                                      </block>
+                                    </value>
+                                  </block>
+                                </value>
+                                <statement name="DO0">
+                                  <block type="serial_comm_print" id="NW)3uBxinwj6G~inSC/l">
+                                    <value name="serial_comm_input">
+                                      <shadow type="text" id="+I$Gzw$nc~`e[ST`ryA1">
+                                        <field name="TEXT">Hello World!</field>
+                                      </shadow>
+                                      <block type="variables_get" id="u0N3V.p$Q?VfgJ8jTnv3">
+                                        <field name="VAR">state</field>
+                                      </block>
+                                    </value>
+                                    <next>
+                                      <block type="procedures_callnoreturn" id="AoiAX|3Euo:EE,exw=Ea">
+                                        <mutation name="send_picture"></mutation>
+                                      </block>
+                                    </next>
                                   </block>
                                 </statement>
-                                <next>
-                                  <block type="controls_if" id="}FFONk4`/!#_CKBXv17*">
-                                    <mutation elseif="2"></mutation>
-                                    <value name="IF0">
-                                      <block type="logic_compare" id="f1xU+2=]=FNGYhieSS*%">
+                                <value name="IF1">
+                                  <block type="logic_operation" id="Yg8.n9r$]av:nHp}/ice">
+                                    <field name="OP">OR</field>
+                                    <value name="A">
+                                      <block type="logic_compare" id="0sGhFELIqJHB+.b.DU#Q">
                                         <field name="OP">EQ</field>
                                         <value name="A">
-                                          <block type="variables_get" id="Dh{y,K1W4kc5tB0L#1gJ">
+                                          <block type="variables_get" id="F$^+m*Xi^eH%kvs(u(L*">
                                             <field name="VAR">state</field>
                                           </block>
                                         </value>
                                         <value name="B">
-                                          <block type="text" id="IJZP|+GVe^;FRk*l2|yU">
-                                            <field name="TEXT">拍照發送</field>
+                                          <block type="text" id="`~spWQ_qwGn9frDk^x=X">
+                                            <field name="TEXT">識別超時</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
-                                    <statement name="DO0">
-                                      <block type="serial_comm_print" id="NW)3uBxinwj6G~inSC/l">
-                                        <value name="serial_comm_input">
-                                          <shadow type="text" id="+I$Gzw$nc~`e[ST`ryA1">
-                                            <field name="TEXT">Hello World!</field>
-                                          </shadow>
-                                          <block type="variables_get" id="u0N3V.p$Q?VfgJ8jTnv3">
-                                            <field name="VAR">state</field>
-                                          </block>
-                                        </value>
-                                        <next>
-                                          <block type="procedures_callnoreturn" id="AoiAX|3Euo:EE,exw=Ea">
-                                            <mutation name="send_picture"></mutation>
-                                          </block>
-                                        </next>
-                                      </block>
-                                    </statement>
-                                    <value name="IF1">
-                                      <block type="logic_operation" id="Yg8.n9r$]av:nHp}/ice">
-                                        <field name="OP">OR</field>
+                                    <value name="B">
+                                      <block type="logic_compare" id="^}|d~y?T$/Y$UC~E1jO=">
+                                        <field name="OP">EQ</field>
                                         <value name="A">
-                                          <block type="logic_compare" id="0sGhFELIqJHB+.b.DU#Q">
-                                            <field name="OP">EQ</field>
-                                            <value name="A">
-                                              <block type="variables_get" id="F$^+m*Xi^eH%kvs(u(L*">
-                                                <field name="VAR">state</field>
-                                              </block>
-                                            </value>
-                                            <value name="B">
-                                              <block type="text" id="`~spWQ_qwGn9frDk^x=X">
-                                                <field name="TEXT">識別超時</field>
-                                              </block>
-                                            </value>
+                                          <block type="variables_get" id="[1bh_ZFeb6P^$!8O:RpJ">
+                                            <field name="VAR">state</field>
                                           </block>
                                         </value>
                                         <value name="B">
-                                          <block type="logic_compare" id="^}|d~y?T$/Y$UC~E1jO=">
-                                            <field name="OP">EQ</field>
-                                            <value name="A">
-                                              <block type="variables_get" id="[1bh_ZFeb6P^$!8O:RpJ">
-                                                <field name="VAR">state</field>
-                                              </block>
-                                            </value>
-                                            <value name="B">
-                                              <block type="text" id="JUUM#KbJJMR~Q|D(3/Ix">
-                                                <field name="TEXT">識別失敗</field>
-                                              </block>
-                                            </value>
+                                          <block type="text" id="JUUM#KbJJMR~Q|D(3/Ix">
+                                            <field name="TEXT">識別失敗</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
-                                    <statement name="DO1">
-                                      <block type="serial_comm_print" id="D!zyc?a)]vkL@z+SI|yg">
-                                        <value name="serial_comm_input">
-                                          <shadow type="text" id="+I$Gzw$nc~`e[ST`ryA1">
-                                            <field name="TEXT">Hello World!</field>
-                                          </shadow>
-                                          <block type="variables_get" id="Pe,m`BCkAbL_4[;.4~~x">
-                                            <field name="VAR">state</field>
-                                          </block>
-                                        </value>
-                                        <next>
-                                          <block type="procedures_callnoreturn" id="F~xW.({WXGu`7pj]?ri2">
-                                            <mutation name="emotion_recognize_failure">
-                                              <arg name="failure_state"></arg>
-                                            </mutation>
-                                            <value name="ARG0">
-                                              <block type="variables_get" id="rx~,ps}l,v1PS)?s6tl_">
-                                                <field name="VAR">state</field>
-                                              </block>
-                                            </value>
-                                          </block>
-                                        </next>
+                                  </block>
+                                </value>
+                                <statement name="DO1">
+                                  <block type="serial_comm_print" id="D!zyc?a)]vkL@z+SI|yg">
+                                    <value name="serial_comm_input">
+                                      <shadow type="text" id="+I$Gzw$nc~`e[ST`ryA1">
+                                        <field name="TEXT">Hello World!</field>
+                                      </shadow>
+                                      <block type="variables_get" id="Pe,m`BCkAbL_4[;.4~~x">
+                                        <field name="VAR">state</field>
                                       </block>
-                                    </statement>
-                                    <value name="IF2">
-                                      <block type="logic_compare" id="]RQW=^%Mt(@qq6~HJ:zC">
-                                        <field name="OP">EQ</field>
-                                        <value name="A">
-                                          <block type="variables_get" id="P/i7f%+z1.)zhP/!-2p5">
+                                    </value>
+                                    <next>
+                                      <block type="procedures_callnoreturn" id="F~xW.({WXGu`7pj]?ri2">
+                                        <mutation name="emotion_recognize_failure">
+                                          <arg name="failure_state"></arg>
+                                        </mutation>
+                                        <value name="ARG0">
+                                          <block type="variables_get" id="rx~,ps}l,v1PS)?s6tl_">
                                             <field name="VAR">state</field>
                                           </block>
                                         </value>
-                                        <value name="B">
-                                          <block type="text" id="Ul6xnE,|!`v69G~fH9YH">
-                                            <field name="TEXT">識別成功</field>
-                                          </block>
-                                        </value>
                                       </block>
-                                    </value>
-                                    <statement name="DO2">
-                                      <block type="procedures_callnoreturn" id="s9k0dM0||9Gq~cCa($GD">
-                                        <mutation name="emotion_recognize_success2"></mutation>
+                                    </next>
+                                  </block>
+                                </statement>
+                                <value name="IF2">
+                                  <block type="logic_compare" id="]RQW=^%Mt(@qq6~HJ:zC">
+                                    <field name="OP">EQ</field>
+                                    <value name="A">
+                                      <block type="variables_get" id="P/i7f%+z1.)zhP/!-2p5">
+                                        <field name="VAR">state</field>
                                       </block>
-                                    </statement>
-                                    <next>
-                                      <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_">
-                                        <field name="varitem">canvas</field>
+                                    </value>
+                                    <value name="B">
+                                      <block type="text" id="Ul6xnE,|!`v69G~fH9YH">
+                                        <field name="TEXT">識別成功</field>
                                       </block>
-                                    </next>
+                                    </value>
                                   </block>
+                                </value>
+                                <statement name="DO2">
+                                  <block type="procedures_callnoreturn" id="IpVbwYq{wfY^ZIX,Y;aQ">
+                                    <mutation name="emotion_recognize_success"></mutation>
+                                  </block>
+                                </statement>
+                                <next>
+                                  <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_"></block>
                                 </next>
                               </block>
                             </next>
                           </block>
-                        </statement>
+                        </next>
                       </block>
-                    </next>
+                    </statement>
                   </block>
                 </next>
               </block>
@@ -243,7 +231,6 @@
         </statement>
         <next>
           <block type="ai_lcd_draw_rectangle" id="2iehsGO.zwB^c{_{OZ8@">
-            <field name="varitem">canvas</field>
             <field name="rect_type">fillrect</field>
             <value name="POSA">
               <block type="lcd_set_position" id="(+=Ft(vS@v!+,.{AT$pd">
@@ -280,7 +267,6 @@
             </value>
             <next>
               <block type="ai_lcd_textcarvas" id="0d97{]^]T-PT%Yx~t8C)">
-                <field name="varitem">canvas</field>
                 <value name="POSA">
                   <block type="lcd_set_position" id="%i-XLa[0WKY.dSxi#3@$">
                     <value name="POSX">
@@ -347,538 +333,10 @@
       </block>
     </statement>
   </block>
-  <block type="procedures_defnoreturn" id="j_IdegV+)kPg(C3|S.jk" x="1634" y="264">
-    <field name="NAME">take_picture</field>
-    <statement name="STACK">
-      <block type="variables_set" id="1.h}[:z[~hy^=c]UM]%H">
-        <field name="VAR">state</field>
-        <value name="VALUE">
-          <shadow type="math_number" id=";J7AMsSE/5h)zy=pAV+T">
-            <field name="NUM">0</field>
-          </shadow>
-          <block type="text" id="7S_1cV9u$~HVr)Q^ICJ`">
-            <field name="TEXT">拍照發送</field>
-          </block>
-        </value>
-        <next>
-          <block type="esp32_main_controller_time_timer_init" id="Pb6[;7nEF66EQ9jzE1A#">
-            <next>
-              <block type="v831_img_save" id="a{o:;wJ7pC7,vDXn$ge8">
-                <field name="varitem">canvas</field>
-                <value name="save_path">
-                  <shadow type="text" id="G##RjuKt=HrI`[co?yQr">
-                    <field name="TEXT">img_facedetection</field>
-                  </shadow>
-                  <block type="variables_get" id="8y3U!ddM9wxnSs5:r/u+">
-                    <field name="VAR">img_src</field>
-                  </block>
-                </value>
-              </block>
-            </next>
-          </block>
-        </next>
-      </block>
-    </statement>
-  </block>
-  <block type="procedures_defnoreturn" id="MdO0;x:sGHz$S(A{|%pN" x="-21" y="733">
-    <field name="NAME">扫码联网</field>
-    <statement name="STACK">
-      <block type="controls_if" id="QFmk|4Cw6}n21!nrke#y">
-        <mutation else="1"></mutation>
-        <value name="IF0">
-          <block type="esp32_main_controller_get_wifi_connection_status" id="(x)B:OwYh|EpoS,iU~y2"></block>
-        </value>
-        <statement name="DO0">
-          <block type="variables_set" id="oldLjE9h_V);0gwLUqLp">
-            <field name="VAR">state</field>
-            <value name="VALUE">
-              <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                <field name="NUM">0</field>
-              </shadow>
-              <block type="text" id="S~`1o~82TueNdD6TT*fr">
-                <field name="TEXT"></field>
-              </block>
-            </value>
-          </block>
-        </statement>
-        <statement name="ELSE">
-          <block type="variables_set" id="k]EGN;l^*}3jz{T?Ce#F">
-            <field name="VAR">state</field>
-            <value name="VALUE">
-              <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                <field name="NUM">0</field>
-              </shadow>
-              <block type="text" id="8W*i4NJ;Vru3e1[^ou_c">
-                <field name="TEXT">扫码联网</field>
-              </block>
-            </value>
-            <next>
-              <block type="variables_set" id="2GkC(H8?w!`rDB?Bx?J=">
-                <field name="VAR">识别结果</field>
-                <value name="VALUE">
-                  <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
-                    <field name="NUM">0</field>
-                  </shadow>
-                  <block type="text" id="Slp_:m=z,Hklsa)s{@PY">
-                    <field name="TEXT"></field>
-                  </block>
-                </value>
-                <next>
-                  <block type="controls_repeat_forever" id=":LF5=[ApbR;GVmzmh|`~">
-                    <statement name="DO">
-                      <block type="controls_if" id="(%Lc=pe(bSVHpTsYm?/{">
-                        <mutation elseif="1"></mutation>
-                        <value name="IF0">
-                          <block type="logic_compare" id="t`Fs.OucEz)@5eXC$5J*">
-                            <field name="OP">EQ</field>
-                            <value name="A">
-                              <block type="variables_get" id="h/:RncBzY$kT|1p*xpWA">
-                                <field name="VAR">state</field>
-                              </block>
-                            </value>
-                            <value name="B">
-                              <block type="text" id="x#U|#$aY5?0E=pc^Ux[G">
-                                <field name="TEXT">扫码联网</field>
-                              </block>
-                            </value>
-                          </block>
-                        </value>
-                        <statement name="DO0">
-                          <block type="variables_set" id="Cu;$;(2=5xDCN0X_`V)3">
-                            <field name="VAR">canvas</field>
-                            <value name="VALUE">
-                              <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
-                                <field name="NUM">0</field>
-                              </shadow>
-                              <block type="ai_camera_snapshot" id="=1}#3hbmJ?he_09~HeDn"></block>
-                            </value>
-                            <next>
-                              <block type="variables_set" id="#rZEhIT(h!ixt0TY8k#$">
-                                <field name="VAR">qrCode</field>
-                                <value name="VALUE">
-                                  <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
-                                    <field name="NUM">0</field>
-                                  </shadow>
-                                  <block type="ai_vision_find_qrcode" id="XR1FTyBZ~BfT3B^h?2Xw">
-                                    <field name="varitem">canvas</field>
-                                  </block>
-                                </value>
-                                <next>
-                                  <block type="ai_lcd_draw_rectangle" id="XI5$[-#i^sfT(Anxj[[I">
-                                    <field name="varitem">canvas</field>
-                                    <field name="rect_type">fillrect</field>
-                                    <value name="POSA">
-                                      <block type="lcd_set_position" id="XHp~TJ9.ZOoO3Bp.CRPH">
-                                        <value name="POSX">
-                                          <shadow type="math_number" id="~0P_+`}ChKF6K5#/3_?[">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="POSY">
-                                          <shadow type="math_number" id="8*Fi]9hQE^]ta:+AGSq#">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="POSB">
-                                      <block type="lcd_set_width_height" id="_:HI_$5=X6gCu8zg?]].">
-                                        <value name="WIDTH">
-                                          <shadow type="math_number" id="LxbbW3:5h`0FA=Q+a6,-">
-                                            <field name="NUM">320</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="HEIGHT">
-                                          <shadow type="math_number" id=")Q|6ozkgm|%Oy@(w+njY">
-                                            <field name="NUM">20</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="COLOR">
-                                      <block type="lcd_set_color" id="f]`#WIQ0g.nhp)v_f+ra">
-                                        <field name="COLOR">#000000</field>
-                                      </block>
-                                    </value>
-                                    <next>
-                                      <block type="ai_lcd_textcarvas" id="o?Xee3@7Z7d1shgt=.~!">
-                                        <field name="varitem">canvas</field>
-                                        <value name="POSA">
-                                          <block type="lcd_set_position" id="%*a8qVFhJ[_J};+GRxvP">
-                                            <value name="POSX">
-                                              <shadow type="math_number" id="45#Ks%g9].:V;gyLe@7v">
-                                                <field name="NUM">50</field>
-                                              </shadow>
-                                            </value>
-                                            <value name="POSY">
-                                              <shadow type="math_number" id=";8`kH5D%t*Eoa{SFW-7U">
-                                                <field name="NUM">0</field>
-                                              </shadow>
-                                            </value>
-                                          </block>
-                                        </value>
-                                        <value name="CONTENT">
-                                          <shadow type="text" id="Yx!}/WC#[6zWWcyEp^k4">
-                                            <field name="TEXT">请扫描平台Wi-Fi二维码联网</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="COLOR">
-                                          <block type="lcd_set_color" id="iLjzPIF%lYI;?KBQ#/[$">
-                                            <field name="COLOR">#ffffff</field>
-                                          </block>
-                                        </value>
-                                        <value name="Scale">
-                                          <shadow type="math_number" id="nqzOJydkF/($.[m$H6Pv">
-                                            <field name="NUM">1</field>
-                                          </shadow>
-                                        </value>
-                                        <next>
-                                          <block type="controls_forEach" id="-:L$lT0zA7mfToS/t,.F">
-                                            <field name="VAR">i</field>
-                                            <value name="LIST">
-                                              <block type="variables_get" id="-{c41z,w]Y#[QB8KCcVz">
-                                                <field name="VAR">qrCode</field>
-                                              </block>
-                                            </value>
-                                            <statement name="DO">
-                                              <block type="ai_lcd_textcarvas" id="8a{z9sANpfx,m-E^?[ws">
-                                                <field name="varitem">canvas</field>
-                                                <value name="POSA">
-                                                  <block type="lcd_set_position" id="ioxr$KyBF@y^:cSUW[b)">
-                                                    <value name="POSX">
-                                                      <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="+JV^_A]p9mWwj4XMccW=">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">x</field>
-                                                      </block>
-                                                    </value>
-                                                    <value name="POSY">
-                                                      <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="3@C4V}bZ+$Zq%4rv{VSc">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">y</field>
-                                                      </block>
-                                                    </value>
-                                                  </block>
-                                                </value>
-                                                <value name="CONTENT">
-                                                  <shadow type="text" id="!4*_1/3)tAg3ygOM.|YW">
-                                                    <field name="TEXT"></field>
-                                                  </shadow>
-                                                  <block type="ai_vision_qrcode_get_info" id="u}v%Q4HoI0Jx3=a~f`{8">
-                                                    <field name="varitem">i</field>
-                                                    <field name="get_info">payload</field>
-                                                  </block>
-                                                </value>
-                                                <value name="COLOR">
-                                                  <block type="lcd_set_color" id="0uqSLJgr-ah=.H6F0Zg*">
-                                                    <field name="COLOR">#ff0000</field>
-                                                  </block>
-                                                </value>
-                                                <value name="Scale">
-                                                  <shadow type="math_number" id="$Eq^l2JOL,XJt3X@v/W2">
-                                                    <field name="NUM">1</field>
-                                                  </shadow>
-                                                </value>
-                                                <next>
-                                                  <block type="ai_lcd_draw_rectangle" id="qZ)[-$CRx*WU%R5F-C(b">
-                                                    <field name="varitem">canvas</field>
-                                                    <field name="rect_type">rect</field>
-                                                    <value name="POSA">
-                                                      <block type="lcd_set_position" id="%{ni*3`X:MOwcP+$x]Ce" inline="false">
-                                                        <value name="POSX">
-                                                          <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="d`=/VVl{9bDr(rQsN=X9">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">x</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="POSY">
-                                                          <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="w3FPKp`({0i%TOSAkfx|">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">y</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <value name="POSB">
-                                                      <block type="lcd_set_width_height" id="w_%[j;O|%aA;,b/TN?OG" inline="false">
-                                                        <value name="WIDTH">
-                                                          <shadow type="math_number" id="k(B:~2AOLJV~zLnbe)89">
-                                                            <field name="NUM">320</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id=".|m1N_[}die?dg8`TdGY">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">w1</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="HEIGHT">
-                                                          <shadow type="math_number" id="c)u)Q:9p$d5b5%4Lqa9$">
-                                                            <field name="NUM">240</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="$~EzG-QSb%]fHlU@Z+S2">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">h2</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <value name="COLOR">
-                                                      <block type="lcd_set_color" id="8]sijmt:%XtQlj}tgIas">
-                                                        <field name="COLOR">#ff0000</field>
-                                                      </block>
-                                                    </value>
-                                                    <next>
-                                                      <block type="variables_set" id="KVP}T[SMJJey84#dVw0T">
-                                                        <field name="VAR">识别结果</field>
-                                                        <value name="VALUE">
-                                                          <shadow type="math_number" id="~c`T-qSJp-={%Hp!.bS)">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="text_split_string_by_delimiter" id="LTbE[`1q4E(OeDv;,H=^">
-                                                            <field name="delimiter">;</field>
-                                                            <value name="string_input">
-                                                              <block type="ai_vision_qrcode_get_info" id="t-M^Cy5b#OLC+;)kF^N7">
-                                                                <field name="varitem">i</field>
-                                                                <field name="get_info">payload</field>
-                                                              </block>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </next>
-                                                  </block>
-                                                </next>
-                                              </block>
-                                            </statement>
-                                            <next>
-                                              <block type="ai_lcd_showcarvas_set_display" id="_+g?Q4R`)mrc!;|8w=Y~">
-                                                <field name="varitem">canvas</field>
-                                                <next>
-                                                  <block type="controls_if" id="u4,JM+iCSC81$RBCpu5C">
-                                                    <value name="IF0">
-                                                      <block type="logic_compare" id="Ah]X%z9GHc.{/Wc6W2F#">
-                                                        <field name="OP">NEQ</field>
-                                                        <value name="A">
-                                                          <block type="variables_get" id="Cg#*ndDK+W9_!H,48}zu">
-                                                            <field name="VAR">识别结果</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="B">
-                                                          <block type="text" id="Ztob3cliQa=zb*$!QQsu">
-                                                            <field name="TEXT"></field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <statement name="DO0">
-                                                      <block type="variables_set" id="_(vhjruUh#kTA56w|d3d">
-                                                        <field name="VAR">SSID</field>
-                                                        <value name="VALUE">
-                                                          <shadow type="math_number" id="3K*LFc1ljS];!d#%F-4`">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="text_getSubstring" id="HA}:BUUN/Lh]02:)p?t$">
-                                                            <mutation at1="true" at2="false"></mutation>
-                                                            <field name="WHERE1">FROM_START</field>
-                                                            <field name="WHERE2">LAST</field>
-                                                            <value name="STRING">
-                                                              <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                                <field name="TEXT">abc</field>
-                                                              </shadow>
-                                                              <block type="list_order_item" id="5th9:-d^^}a|jY6xj(wn">
-                                                                <field name="list_order">[</field>
-                                                                <value name="list_name">
-                                                                  <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                    <field name="TEXT"></field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="2!t]1Q6[YvWk.Qxvj#L|">
-                                                                    <field name="VAR">识别结果</field>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="list_order_item">
-                                                                  <shadow type="math_number" id="U-6}MxOaKjYG*H#Oi{q[">
-                                                                    <field name="NUM">0</field>
-                                                                  </shadow>
-                                                                </value>
-                                                              </block>
-                                                            </value>
-                                                            <value name="AT1">
-                                                              <block type="math_number" id="Ay7P[`wsl5wzWu]e7H!k">
-                                                                <field name="NUM">5</field>
-                                                              </block>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                        <next>
-                                                          <block type="variables_set" id="BN[#=^R.N=8{4!T?0#qC">
-                                                            <field name="VAR">PASS</field>
-                                                            <value name="VALUE">
-                                                              <shadow type="math_number" id="TE/Z6~Io-j^00#j83r.6">
-                                                                <field name="NUM">0</field>
-                                                              </shadow>
-                                                              <block type="text_getSubstring" id="UL=9DP#qoN}.QG@*FHU!">
-                                                                <mutation at1="true" at2="false"></mutation>
-                                                                <field name="WHERE1">FROM_START</field>
-                                                                <field name="WHERE2">LAST</field>
-                                                                <value name="STRING">
-                                                                  <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                                    <field name="TEXT">abc</field>
-                                                                  </shadow>
-                                                                  <block type="list_order_item" id="_2**VKdEi@)N9l;p4LM~">
-                                                                    <field name="list_order">[</field>
-                                                                    <value name="list_name">
-                                                                      <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                        <field name="TEXT"></field>
-                                                                      </shadow>
-                                                                      <block type="variables_get" id="~qdfyZP,~jtF#*T1+;sY">
-                                                                        <field name="VAR">识别结果</field>
-                                                                      </block>
-                                                                    </value>
-                                                                    <value name="list_order_item">
-                                                                      <shadow type="math_number" id="U-kC|FfTvDa%2qTHC},N">
-                                                                        <field name="NUM">1</field>
-                                                                      </shadow>
-                                                                    </value>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="AT1">
-                                                                  <block type="math_number" id="cS/pZonr0iyWq3|Wp;#~">
-                                                                    <field name="NUM">5</field>
-                                                                  </block>
-                                                                </value>
-                                                              </block>
-                                                            </value>
-                                                            <next>
-                                                              <block type="esp32_main_controller_wifi_connect_internet" id="=jnPdoUl*ACAi-85g}J{">
-                                                                <value name="ssid">
-                                                                  <shadow type="text" id="([(K4/ZxJESaAK;i9lLA">
-                                                                    <field name="TEXT">ENTER_YOUR_SSID</field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="1LX-)-jH},^9TXj).4c!">
-                                                                    <field name="VAR">SSID</field>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="password">
-                                                                  <shadow type="text" id="[I.[L1]LZv$^U{xAXTxT">
-                                                                    <field name="TEXT">ENTER_YOUR_PASSWORD</field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="xPj$i.?ita46~OsGowZU">
-                                                                    <field name="VAR">PASS</field>
-                                                                  </block>
-                                                                </value>
-                                                                <next>
-                                                                  <block type="controls_if" id="?[+@RI,Y^+j%?Ao;M%B;">
-                                                                    <mutation else="1"></mutation>
-                                                                    <value name="IF0">
-                                                                      <block type="esp32_main_controller_get_wifi_connection_status" id="]c2?qP})|]EfvYFEQROi"></block>
-                                                                    </value>
-                                                                    <statement name="DO0">
-                                                                      <block type="variables_set" id="},Y9asDZyTyB#yB7L+et">
-                                                                        <field name="VAR">state</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="sq7I]qNXrv;Ny}TBNw)V">
-                                                                            <field name="TEXT"></field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </statement>
-                                                                    <statement name="ELSE">
-                                                                      <block type="variables_set" id="~+E/j(}}J52t^zVL+y@2">
-                                                                        <field name="VAR">state</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="zsSG)QM`+IL9a[7${WoB">
-                                                                            <field name="TEXT">扫码联网</field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </statement>
-                                                                    <next>
-                                                                      <block type="variables_set" id="P+,6h[)bpFd;~gF3F*|)">
-                                                                        <field name="VAR">识别结果</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="DD1$OM5bjJtDC6eh2mn5">
-                                                                            <field name="TEXT"></field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </next>
-                                                                  </block>
-                                                                </next>
-                                                              </block>
-                                                            </next>
-                                                          </block>
-                                                        </next>
-                                                      </block>
-                                                    </statement>
-                                                  </block>
-                                                </next>
-                                              </block>
-                                            </next>
-                                          </block>
-                                        </next>
-                                      </block>
-                                    </next>
-                                  </block>
-                                </next>
-                              </block>
-                            </next>
-                          </block>
-                        </statement>
-                        <value name="IF1">
-                          <block type="logic_compare" id="L%xi)sGkTLkoTNk47eJf">
-                            <field name="OP">EQ</field>
-                            <value name="A">
-                              <block type="variables_get" id="3X*+8oW5yb?@1(yc4UHn">
-                                <field name="VAR">state</field>
-                              </block>
-                            </value>
-                            <value name="B">
-                              <block type="text" id="rPI(=(sLw[Bhi/Qv#xnt">
-                                <field name="TEXT"></field>
-                              </block>
-                            </value>
-                          </block>
-                        </value>
-                        <statement name="DO1">
-                          <block type="controls_flow_statements" id="HWi$%Sz4Oq[rHo#*l-KW">
-                            <field name="FLOW">BREAK</field>
-                          </block>
-                        </statement>
-                      </block>
-                    </statement>
-                  </block>
-                </next>
-              </block>
-            </next>
-          </block>
-        </statement>
-      </block>
-    </statement>
-  </block>
-  <block type="procedures_defnoreturn" id="#}0wkI3_;39c`eH7-~ts" x="1762" y="725">
-    <field name="NAME">emotion_recognize_success2</field>
+  <block type="procedures_defnoreturn" id="a~Oq0IOnSQSznY2BY[F]" x="-515" y="370">
+    <field name="NAME">emotion_recognize_success</field>
     <statement name="STACK">
       <block type="ai_lcd_draw_rectangle" id="50fMF8Sg0RRWHhRr~]TF">
-        <field name="varitem">canvas</field>
         <field name="rect_type">fillrect</field>
         <value name="POSA">
           <block type="lcd_set_position" id="66)alW2{8_qfDBoxI,Mf">
@@ -915,7 +373,6 @@
         </value>
         <next>
           <block type="ai_lcd_textcarvas" id="*gfx%rj@XV#LCtZja$NR">
-            <field name="varitem">canvas</field>
             <value name="POSA">
               <block type="lcd_set_position" id="k=2V|l|~aC*{_6RY8^wh">
                 <value name="POSX">
@@ -962,7 +419,6 @@
             </value>
             <next>
               <block type="ai_lcd_textcarvas" id="RogS}SjaN^mRk,=Drx%Y">
-                <field name="varitem">canvas</field>
                 <value name="POSA">
                   <block type="lcd_set_position" id="/R]F|=d.Jovq0#ferlMP">
                     <value name="POSX">
@@ -1009,7 +465,6 @@
                 </value>
                 <next>
                   <block type="ai_lcd_textcarvas" id="p8N=5k{[d[RE{Dnr0Rm-">
-                    <field name="varitem">canvas</field>
                     <value name="POSA">
                       <block type="lcd_set_position" id="UO?g@2/{n~4;e.*$lmCn">
                         <value name="POSX">
@@ -1056,7 +511,6 @@
                     </value>
                     <next>
                       <block type="ai_lcd_textcarvas" id="}$uttSFlS^jK9JFz5)b3">
-                        <field name="varitem">canvas</field>
                         <value name="POSA">
                           <block type="lcd_set_position" id="e{nyOvO(SF)$Bf!y4A@J">
                             <value name="POSX">
@@ -1112,6 +566,38 @@
       </block>
     </statement>
   </block>
+  <block type="procedures_defnoreturn" id="j_IdegV+)kPg(C3|S.jk" x="1634" y="264">
+    <field name="NAME">take_picture</field>
+    <statement name="STACK">
+      <block type="variables_set" id="1.h}[:z[~hy^=c]UM]%H">
+        <field name="VAR">state</field>
+        <value name="VALUE">
+          <shadow type="math_number" id=";J7AMsSE/5h)zy=pAV+T">
+            <field name="NUM">0</field>
+          </shadow>
+          <block type="text" id="7S_1cV9u$~HVr)Q^ICJ`">
+            <field name="TEXT">拍照發送</field>
+          </block>
+        </value>
+        <next>
+          <block type="esp32_main_controller_time_timer_init" id="Pb6[;7nEF66EQ9jzE1A#">
+            <next>
+              <block type="v831_img_save" id="a{o:;wJ7pC7,vDXn$ge8">
+                <value name="save_path">
+                  <shadow type="text" id="G##RjuKt=HrI`[co?yQr">
+                    <field name="TEXT">img_facedetection</field>
+                  </shadow>
+                  <block type="variables_get" id="8y3U!ddM9wxnSs5:r/u+">
+                    <field name="VAR">img_src</field>
+                  </block>
+                </value>
+              </block>
+            </next>
+          </block>
+        </next>
+      </block>
+    </statement>
+  </block>
   <block type="procedures_defnoreturn" id="x]!H1Z%kgZ(30,w!}KJ!" x="1256" y="832">
     <mutation>
       <arg name="failure_state"></arg>
@@ -1119,7 +605,6 @@
     <field name="NAME">emotion_recognize_failure</field>
     <statement name="STACK">
       <block type="ai_lcd_draw_rectangle" id="2r!);7{w}G[IH3s+xVAz">
-        <field name="varitem">canvas</field>
         <field name="rect_type">fillrect</field>
         <value name="POSA">
           <block type="lcd_set_position" id="Z7!wB~gNrCB}?V,?Y0{Z">
@@ -1156,7 +641,6 @@
         </value>
         <next>
           <block type="ai_lcd_textcarvas" id="^UnlEbIuQlp(Z.DK{3)O">
-            <field name="varitem">canvas</field>
             <value name="POSA">
               <block type="lcd_set_position" id="(r`|=DL5ETL-C-SFlY*a">
                 <value name="POSX">

+ 122 - 635
src/python/讯飞/手势识别.xml

@@ -1,186 +1,174 @@
 <xml xmlns="http://www.w3.org/1999/xhtml" type="IoT">
-  <block type="procedures_defnoreturn" id="a~Oq0IOnSQSznY2BY[F]" x="0" y="0">
-    <field name="NAME">emotion_recognize_success</field>
-  </block>
-  <block type="ai_lcd_screeninit" id="2PHESD`!?Rz;,*CXs|@U" x="0" y="27">
-    <field name="isScreen">False</field>
+  <block type="V831_code_scanning_network" id="5IR~(bz@14,]?.tT-zms" x="-266" y="79">
     <next>
-      <block type="procedures_callnoreturn" id="SLAXL/P~.W~xa2xY{,}3">
-        <mutation name="扫码联网"></mutation>
+      <block type="variables_set" id=";su3LI/ZZns%NLWA*d//">
+        <field name="VAR">img_src</field>
+        <value name="VALUE">
+          <shadow type="math_number" id="!^ZX}~l$sF;f-/DQu-5r">
+            <field name="NUM">0</field>
+          </shadow>
+          <block type="text" id="oT`DE#=w.I#oC9)N1=;l">
+            <field name="TEXT">/root/user/img/img_handwritten_text.jpg</field>
+          </block>
+        </value>
         <next>
-          <block type="variables_set" id=";su3LI/ZZns%NLWA*d//">
-            <field name="VAR">img_src</field>
+          <block type="variables_set" id="V2+_z5Oc#{g^z?)?2rJ)">
+            <field name="VAR">state</field>
             <value name="VALUE">
-              <shadow type="math_number" id="!^ZX}~l$sF;f-/DQu-5r">
+              <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
                 <field name="NUM">0</field>
               </shadow>
-              <block type="text" id="oT`DE#=w.I#oC9)N1=;l">
-                <field name="TEXT">/root/user/img/img_handwritten_text.jpg</field>
+              <block type="text" id="Tf!/$j7D(n#2pDV[_~=C">
+                <field name="TEXT"></field>
               </block>
             </value>
             <next>
-              <block type="variables_set" id="V2+_z5Oc#{g^z?)?2rJ)">
-                <field name="VAR">state</field>
+              <block type="variables_set" id="3._PEwALc@DYzol,7:tf">
+                <field name="VAR">result</field>
                 <value name="VALUE">
                   <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
                     <field name="NUM">0</field>
                   </shadow>
-                  <block type="text" id="Tf!/$j7D(n#2pDV[_~=C">
-                    <field name="TEXT"></field>
+                  <block type="text" id="ft!+xiC,t+/QX.|GP2_Z">
+                    <field name="TEXT">N/A</field>
                   </block>
                 </value>
                 <next>
-                  <block type="variables_set" id="3._PEwALc@DYzol,7:tf">
-                    <field name="VAR">result</field>
-                    <value name="VALUE">
-                      <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
-                        <field name="NUM">0</field>
-                      </shadow>
-                      <block type="text" id="ft!+xiC,t+/QX.|GP2_Z">
-                        <field name="TEXT">N/A</field>
-                      </block>
-                    </value>
-                    <next>
-                      <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
-                        <statement name="DO">
-                          <block type="ai_camera_fit_to_screen_size" id="-x|1rNvFHX+n!n;)PcrF">
-                            <field name="varitem">canvas</field>
-                            <field name="size">320</field>
+                  <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
+                    <statement name="DO">
+                      <block type="ai_camera_fit_to_screen_size" id="-x|1rNvFHX+n!n;)PcrF">
+                        <field name="size">320</field>
+                        <next>
+                          <block type="ai_v831_button_read_released" id="$x~gT)UEvgf1df~{m4l@">
+                            <field name="button_type">C</field>
+                            <statement name="input">
+                              <block type="procedures_callnoreturn" id="is!9:|n|f}8*ZBqLbCdN">
+                                <mutation name="take_picture"></mutation>
+                              </block>
+                            </statement>
                             <next>
-                              <block type="ai_v831_button_read_released" id="$x~gT)UEvgf1df~{m4l@">
-                                <field name="button_type">C</field>
-                                <statement name="input">
-                                  <block type="procedures_callnoreturn" id="is!9:|n|f}8*ZBqLbCdN">
-                                    <mutation name="take_picture"></mutation>
+                              <block type="controls_if" id="}FFONk4`/!#_CKBXv17*">
+                                <mutation elseif="2"></mutation>
+                                <value name="IF0">
+                                  <block type="logic_compare" id="f1xU+2=]=FNGYhieSS*%">
+                                    <field name="OP">EQ</field>
+                                    <value name="A">
+                                      <block type="variables_get" id="Dh{y,K1W4kc5tB0L#1gJ">
+                                        <field name="VAR">state</field>
+                                      </block>
+                                    </value>
+                                    <value name="B">
+                                      <block type="text" id="IJZP|+GVe^;FRk*l2|yU">
+                                        <field name="TEXT">拍照發送</field>
+                                      </block>
+                                    </value>
+                                  </block>
+                                </value>
+                                <statement name="DO0">
+                                  <block type="serial_comm_print" id="NW)3uBxinwj6G~inSC/l">
+                                    <value name="serial_comm_input">
+                                      <shadow type="text" id="+I$Gzw$nc~`e[ST`ryA1">
+                                        <field name="TEXT">Hello World!</field>
+                                      </shadow>
+                                      <block type="variables_get" id="u0N3V.p$Q?VfgJ8jTnv3">
+                                        <field name="VAR">state</field>
+                                      </block>
+                                    </value>
+                                    <next>
+                                      <block type="procedures_callnoreturn" id="AoiAX|3Euo:EE,exw=Ea">
+                                        <mutation name="send_picture"></mutation>
+                                      </block>
+                                    </next>
                                   </block>
                                 </statement>
-                                <next>
-                                  <block type="controls_if" id="}FFONk4`/!#_CKBXv17*">
-                                    <mutation elseif="2"></mutation>
-                                    <value name="IF0">
-                                      <block type="logic_compare" id="f1xU+2=]=FNGYhieSS*%">
+                                <value name="IF1">
+                                  <block type="logic_operation" id="Yg8.n9r$]av:nHp}/ice">
+                                    <field name="OP">OR</field>
+                                    <value name="A">
+                                      <block type="logic_compare" id="0sGhFELIqJHB+.b.DU#Q">
                                         <field name="OP">EQ</field>
                                         <value name="A">
-                                          <block type="variables_get" id="Dh{y,K1W4kc5tB0L#1gJ">
+                                          <block type="variables_get" id="F$^+m*Xi^eH%kvs(u(L*">
                                             <field name="VAR">state</field>
                                           </block>
                                         </value>
                                         <value name="B">
-                                          <block type="text" id="IJZP|+GVe^;FRk*l2|yU">
-                                            <field name="TEXT">拍照發送</field>
+                                          <block type="text" id="`~spWQ_qwGn9frDk^x=X">
+                                            <field name="TEXT">識別超時</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
-                                    <statement name="DO0">
-                                      <block type="serial_comm_print" id="NW)3uBxinwj6G~inSC/l">
-                                        <value name="serial_comm_input">
-                                          <shadow type="text" id="+I$Gzw$nc~`e[ST`ryA1">
-                                            <field name="TEXT">Hello World!</field>
-                                          </shadow>
-                                          <block type="variables_get" id="u0N3V.p$Q?VfgJ8jTnv3">
-                                            <field name="VAR">state</field>
-                                          </block>
-                                        </value>
-                                        <next>
-                                          <block type="procedures_callnoreturn" id="AoiAX|3Euo:EE,exw=Ea">
-                                            <mutation name="send_picture"></mutation>
-                                          </block>
-                                        </next>
-                                      </block>
-                                    </statement>
-                                    <value name="IF1">
-                                      <block type="logic_operation" id="Yg8.n9r$]av:nHp}/ice">
-                                        <field name="OP">OR</field>
+                                    <value name="B">
+                                      <block type="logic_compare" id="^}|d~y?T$/Y$UC~E1jO=">
+                                        <field name="OP">EQ</field>
                                         <value name="A">
-                                          <block type="logic_compare" id="0sGhFELIqJHB+.b.DU#Q">
-                                            <field name="OP">EQ</field>
-                                            <value name="A">
-                                              <block type="variables_get" id="F$^+m*Xi^eH%kvs(u(L*">
-                                                <field name="VAR">state</field>
-                                              </block>
-                                            </value>
-                                            <value name="B">
-                                              <block type="text" id="`~spWQ_qwGn9frDk^x=X">
-                                                <field name="TEXT">識別超時</field>
-                                              </block>
-                                            </value>
+                                          <block type="variables_get" id="[1bh_ZFeb6P^$!8O:RpJ">
+                                            <field name="VAR">state</field>
                                           </block>
                                         </value>
                                         <value name="B">
-                                          <block type="logic_compare" id="^}|d~y?T$/Y$UC~E1jO=">
-                                            <field name="OP">EQ</field>
-                                            <value name="A">
-                                              <block type="variables_get" id="[1bh_ZFeb6P^$!8O:RpJ">
-                                                <field name="VAR">state</field>
-                                              </block>
-                                            </value>
-                                            <value name="B">
-                                              <block type="text" id="JUUM#KbJJMR~Q|D(3/Ix">
-                                                <field name="TEXT">識別失敗</field>
-                                              </block>
-                                            </value>
+                                          <block type="text" id="JUUM#KbJJMR~Q|D(3/Ix">
+                                            <field name="TEXT">識別失敗</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
-                                    <statement name="DO1">
-                                      <block type="serial_comm_print" id="D!zyc?a)]vkL@z+SI|yg">
-                                        <value name="serial_comm_input">
-                                          <shadow type="text" id="+I$Gzw$nc~`e[ST`ryA1">
-                                            <field name="TEXT">Hello World!</field>
-                                          </shadow>
-                                          <block type="variables_get" id="Pe,m`BCkAbL_4[;.4~~x">
-                                            <field name="VAR">state</field>
-                                          </block>
-                                        </value>
-                                        <next>
-                                          <block type="procedures_callnoreturn" id="F~xW.({WXGu`7pj]?ri2">
-                                            <mutation name="gesture_recognize_failure">
-                                              <arg name="failure_state"></arg>
-                                            </mutation>
-                                            <value name="ARG0">
-                                              <block type="variables_get" id="rx~,ps}l,v1PS)?s6tl_">
-                                                <field name="VAR">state</field>
-                                              </block>
-                                            </value>
-                                          </block>
-                                        </next>
+                                  </block>
+                                </value>
+                                <statement name="DO1">
+                                  <block type="serial_comm_print" id="D!zyc?a)]vkL@z+SI|yg">
+                                    <value name="serial_comm_input">
+                                      <shadow type="text" id="+I$Gzw$nc~`e[ST`ryA1">
+                                        <field name="TEXT">Hello World!</field>
+                                      </shadow>
+                                      <block type="variables_get" id="Pe,m`BCkAbL_4[;.4~~x">
+                                        <field name="VAR">state</field>
                                       </block>
-                                    </statement>
-                                    <value name="IF2">
-                                      <block type="logic_compare" id="]RQW=^%Mt(@qq6~HJ:zC">
-                                        <field name="OP">EQ</field>
-                                        <value name="A">
-                                          <block type="variables_get" id="P/i7f%+z1.)zhP/!-2p5">
+                                    </value>
+                                    <next>
+                                      <block type="procedures_callnoreturn" id="F~xW.({WXGu`7pj]?ri2">
+                                        <mutation name="gesture_recognize_failure">
+                                          <arg name="failure_state"></arg>
+                                        </mutation>
+                                        <value name="ARG0">
+                                          <block type="variables_get" id="rx~,ps}l,v1PS)?s6tl_">
                                             <field name="VAR">state</field>
                                           </block>
                                         </value>
-                                        <value name="B">
-                                          <block type="text" id="Ul6xnE,|!`v69G~fH9YH">
-                                            <field name="TEXT">識別成功</field>
-                                          </block>
-                                        </value>
                                       </block>
-                                    </value>
-                                    <statement name="DO2">
-                                      <block type="procedures_callnoreturn" id="s9k0dM0||9Gq~cCa($GD">
-                                        <mutation name="gesture_recognize_success"></mutation>
+                                    </next>
+                                  </block>
+                                </statement>
+                                <value name="IF2">
+                                  <block type="logic_compare" id="]RQW=^%Mt(@qq6~HJ:zC">
+                                    <field name="OP">EQ</field>
+                                    <value name="A">
+                                      <block type="variables_get" id="P/i7f%+z1.)zhP/!-2p5">
+                                        <field name="VAR">state</field>
                                       </block>
-                                    </statement>
-                                    <next>
-                                      <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_">
-                                        <field name="varitem">canvas</field>
+                                    </value>
+                                    <value name="B">
+                                      <block type="text" id="Ul6xnE,|!`v69G~fH9YH">
+                                        <field name="TEXT">識別成功</field>
                                       </block>
-                                    </next>
+                                    </value>
                                   </block>
+                                </value>
+                                <statement name="DO2">
+                                  <block type="procedures_callnoreturn" id="s9k0dM0||9Gq~cCa($GD">
+                                    <mutation name="gesture_recognize_success"></mutation>
+                                  </block>
+                                </statement>
+                                <next>
+                                  <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_"></block>
                                 </next>
                               </block>
                             </next>
                           </block>
-                        </statement>
+                        </next>
                       </block>
-                    </next>
+                    </statement>
                   </block>
                 </next>
               </block>
@@ -232,7 +220,6 @@
         </statement>
         <next>
           <block type="ai_lcd_draw_rectangle" id="2iehsGO.zwB^c{_{OZ8@">
-            <field name="varitem">canvas</field>
             <field name="rect_type">fillrect</field>
             <value name="POSA">
               <block type="lcd_set_position" id="(+=Ft(vS@v!+,.{AT$pd">
@@ -269,7 +256,6 @@
             </value>
             <next>
               <block type="ai_lcd_textcarvas" id="0d97{]^]T-PT%Yx~t8C)">
-                <field name="varitem">canvas</field>
                 <value name="POSA">
                   <block type="lcd_set_position" id="%i-XLa[0WKY.dSxi#3@$">
                     <value name="POSX">
@@ -410,7 +396,6 @@
           <block type="esp32_main_controller_time_timer_init" id="Pb6[;7nEF66EQ9jzE1A#">
             <next>
               <block type="v831_img_save" id="a{o:;wJ7pC7,vDXn$ge8">
-                <field name="varitem">canvas</field>
                 <value name="save_path">
                   <shadow type="text" id="G##RjuKt=HrI`[co?yQr">
                     <field name="TEXT">img_facedetection</field>
@@ -426,505 +411,10 @@
       </block>
     </statement>
   </block>
-  <block type="procedures_defnoreturn" id="MdO0;x:sGHz$S(A{|%pN" x="-21" y="733">
-    <field name="NAME">扫码联网</field>
-    <statement name="STACK">
-      <block type="controls_if" id="QFmk|4Cw6}n21!nrke#y">
-        <mutation else="1"></mutation>
-        <value name="IF0">
-          <block type="esp32_main_controller_get_wifi_connection_status" id="(x)B:OwYh|EpoS,iU~y2"></block>
-        </value>
-        <statement name="DO0">
-          <block type="variables_set" id="oldLjE9h_V);0gwLUqLp">
-            <field name="VAR">state</field>
-            <value name="VALUE">
-              <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                <field name="NUM">0</field>
-              </shadow>
-              <block type="text" id="S~`1o~82TueNdD6TT*fr">
-                <field name="TEXT"></field>
-              </block>
-            </value>
-          </block>
-        </statement>
-        <statement name="ELSE">
-          <block type="variables_set" id="k]EGN;l^*}3jz{T?Ce#F">
-            <field name="VAR">state</field>
-            <value name="VALUE">
-              <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                <field name="NUM">0</field>
-              </shadow>
-              <block type="text" id="8W*i4NJ;Vru3e1[^ou_c">
-                <field name="TEXT">扫码联网</field>
-              </block>
-            </value>
-            <next>
-              <block type="variables_set" id="2GkC(H8?w!`rDB?Bx?J=">
-                <field name="VAR">识别结果</field>
-                <value name="VALUE">
-                  <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
-                    <field name="NUM">0</field>
-                  </shadow>
-                  <block type="text" id="Slp_:m=z,Hklsa)s{@PY">
-                    <field name="TEXT"></field>
-                  </block>
-                </value>
-                <next>
-                  <block type="controls_repeat_forever" id=":LF5=[ApbR;GVmzmh|`~">
-                    <statement name="DO">
-                      <block type="controls_if" id="(%Lc=pe(bSVHpTsYm?/{">
-                        <mutation elseif="1"></mutation>
-                        <value name="IF0">
-                          <block type="logic_compare" id="t`Fs.OucEz)@5eXC$5J*">
-                            <field name="OP">EQ</field>
-                            <value name="A">
-                              <block type="variables_get" id="h/:RncBzY$kT|1p*xpWA">
-                                <field name="VAR">state</field>
-                              </block>
-                            </value>
-                            <value name="B">
-                              <block type="text" id="x#U|#$aY5?0E=pc^Ux[G">
-                                <field name="TEXT">扫码联网</field>
-                              </block>
-                            </value>
-                          </block>
-                        </value>
-                        <statement name="DO0">
-                          <block type="variables_set" id="Cu;$;(2=5xDCN0X_`V)3">
-                            <field name="VAR">canvas</field>
-                            <value name="VALUE">
-                              <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
-                                <field name="NUM">0</field>
-                              </shadow>
-                              <block type="ai_camera_snapshot" id="=1}#3hbmJ?he_09~HeDn"></block>
-                            </value>
-                            <next>
-                              <block type="variables_set" id="#rZEhIT(h!ixt0TY8k#$">
-                                <field name="VAR">qrCode</field>
-                                <value name="VALUE">
-                                  <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
-                                    <field name="NUM">0</field>
-                                  </shadow>
-                                  <block type="ai_vision_find_qrcode" id="XR1FTyBZ~BfT3B^h?2Xw">
-                                    <field name="varitem">canvas</field>
-                                  </block>
-                                </value>
-                                <next>
-                                  <block type="ai_lcd_draw_rectangle" id="XI5$[-#i^sfT(Anxj[[I">
-                                    <field name="varitem">canvas</field>
-                                    <field name="rect_type">fillrect</field>
-                                    <value name="POSA">
-                                      <block type="lcd_set_position" id="XHp~TJ9.ZOoO3Bp.CRPH">
-                                        <value name="POSX">
-                                          <shadow type="math_number" id="~0P_+`}ChKF6K5#/3_?[">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="POSY">
-                                          <shadow type="math_number" id="8*Fi]9hQE^]ta:+AGSq#">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="POSB">
-                                      <block type="lcd_set_width_height" id="_:HI_$5=X6gCu8zg?]].">
-                                        <value name="WIDTH">
-                                          <shadow type="math_number" id="LxbbW3:5h`0FA=Q+a6,-">
-                                            <field name="NUM">320</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="HEIGHT">
-                                          <shadow type="math_number" id=")Q|6ozkgm|%Oy@(w+njY">
-                                            <field name="NUM">20</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="COLOR">
-                                      <block type="lcd_set_color" id="f]`#WIQ0g.nhp)v_f+ra">
-                                        <field name="COLOR">#000000</field>
-                                      </block>
-                                    </value>
-                                    <next>
-                                      <block type="ai_lcd_textcarvas" id="o?Xee3@7Z7d1shgt=.~!">
-                                        <field name="varitem">canvas</field>
-                                        <value name="POSA">
-                                          <block type="lcd_set_position" id="%*a8qVFhJ[_J};+GRxvP">
-                                            <value name="POSX">
-                                              <shadow type="math_number" id="45#Ks%g9].:V;gyLe@7v">
-                                                <field name="NUM">50</field>
-                                              </shadow>
-                                            </value>
-                                            <value name="POSY">
-                                              <shadow type="math_number" id=";8`kH5D%t*Eoa{SFW-7U">
-                                                <field name="NUM">0</field>
-                                              </shadow>
-                                            </value>
-                                          </block>
-                                        </value>
-                                        <value name="CONTENT">
-                                          <shadow type="text" id="Yx!}/WC#[6zWWcyEp^k4">
-                                            <field name="TEXT">请扫描平台Wi-Fi二维码联网</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="COLOR">
-                                          <block type="lcd_set_color" id="iLjzPIF%lYI;?KBQ#/[$">
-                                            <field name="COLOR">#ffffff</field>
-                                          </block>
-                                        </value>
-                                        <value name="Scale">
-                                          <shadow type="math_number" id="nqzOJydkF/($.[m$H6Pv">
-                                            <field name="NUM">1</field>
-                                          </shadow>
-                                        </value>
-                                        <next>
-                                          <block type="controls_forEach" id="-:L$lT0zA7mfToS/t,.F">
-                                            <field name="VAR">i</field>
-                                            <value name="LIST">
-                                              <block type="variables_get" id="-{c41z,w]Y#[QB8KCcVz">
-                                                <field name="VAR">qrCode</field>
-                                              </block>
-                                            </value>
-                                            <statement name="DO">
-                                              <block type="ai_lcd_textcarvas" id="8a{z9sANpfx,m-E^?[ws">
-                                                <field name="varitem">canvas</field>
-                                                <value name="POSA">
-                                                  <block type="lcd_set_position" id="ioxr$KyBF@y^:cSUW[b)">
-                                                    <value name="POSX">
-                                                      <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="+JV^_A]p9mWwj4XMccW=">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">x</field>
-                                                      </block>
-                                                    </value>
-                                                    <value name="POSY">
-                                                      <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="3@C4V}bZ+$Zq%4rv{VSc">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">y</field>
-                                                      </block>
-                                                    </value>
-                                                  </block>
-                                                </value>
-                                                <value name="CONTENT">
-                                                  <shadow type="text" id="!4*_1/3)tAg3ygOM.|YW">
-                                                    <field name="TEXT"></field>
-                                                  </shadow>
-                                                  <block type="ai_vision_qrcode_get_info" id="u}v%Q4HoI0Jx3=a~f`{8">
-                                                    <field name="varitem">i</field>
-                                                    <field name="get_info">payload</field>
-                                                  </block>
-                                                </value>
-                                                <value name="COLOR">
-                                                  <block type="lcd_set_color" id="0uqSLJgr-ah=.H6F0Zg*">
-                                                    <field name="COLOR">#ff0000</field>
-                                                  </block>
-                                                </value>
-                                                <value name="Scale">
-                                                  <shadow type="math_number" id="$Eq^l2JOL,XJt3X@v/W2">
-                                                    <field name="NUM">1</field>
-                                                  </shadow>
-                                                </value>
-                                                <next>
-                                                  <block type="ai_lcd_draw_rectangle" id="qZ)[-$CRx*WU%R5F-C(b">
-                                                    <field name="varitem">canvas</field>
-                                                    <field name="rect_type">rect</field>
-                                                    <value name="POSA">
-                                                      <block type="lcd_set_position" id="%{ni*3`X:MOwcP+$x]Ce" inline="false">
-                                                        <value name="POSX">
-                                                          <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="d`=/VVl{9bDr(rQsN=X9">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">x</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="POSY">
-                                                          <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="w3FPKp`({0i%TOSAkfx|">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">y</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <value name="POSB">
-                                                      <block type="lcd_set_width_height" id="w_%[j;O|%aA;,b/TN?OG" inline="false">
-                                                        <value name="WIDTH">
-                                                          <shadow type="math_number" id="k(B:~2AOLJV~zLnbe)89">
-                                                            <field name="NUM">320</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id=".|m1N_[}die?dg8`TdGY">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">w1</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="HEIGHT">
-                                                          <shadow type="math_number" id="c)u)Q:9p$d5b5%4Lqa9$">
-                                                            <field name="NUM">240</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="$~EzG-QSb%]fHlU@Z+S2">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">h2</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <value name="COLOR">
-                                                      <block type="lcd_set_color" id="8]sijmt:%XtQlj}tgIas">
-                                                        <field name="COLOR">#ff0000</field>
-                                                      </block>
-                                                    </value>
-                                                    <next>
-                                                      <block type="variables_set" id="KVP}T[SMJJey84#dVw0T">
-                                                        <field name="VAR">识别结果</field>
-                                                        <value name="VALUE">
-                                                          <shadow type="math_number" id="~c`T-qSJp-={%Hp!.bS)">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="text_split_string_by_delimiter" id="LTbE[`1q4E(OeDv;,H=^">
-                                                            <field name="delimiter">;</field>
-                                                            <value name="string_input">
-                                                              <block type="ai_vision_qrcode_get_info" id="t-M^Cy5b#OLC+;)kF^N7">
-                                                                <field name="varitem">i</field>
-                                                                <field name="get_info">payload</field>
-                                                              </block>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </next>
-                                                  </block>
-                                                </next>
-                                              </block>
-                                            </statement>
-                                            <next>
-                                              <block type="ai_lcd_showcarvas_set_display" id="_+g?Q4R`)mrc!;|8w=Y~">
-                                                <field name="varitem">canvas</field>
-                                                <next>
-                                                  <block type="controls_if" id="u4,JM+iCSC81$RBCpu5C">
-                                                    <value name="IF0">
-                                                      <block type="logic_compare" id="Ah]X%z9GHc.{/Wc6W2F#">
-                                                        <field name="OP">NEQ</field>
-                                                        <value name="A">
-                                                          <block type="variables_get" id="Cg#*ndDK+W9_!H,48}zu">
-                                                            <field name="VAR">识别结果</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="B">
-                                                          <block type="text" id="Ztob3cliQa=zb*$!QQsu">
-                                                            <field name="TEXT"></field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <statement name="DO0">
-                                                      <block type="variables_set" id="_(vhjruUh#kTA56w|d3d">
-                                                        <field name="VAR">SSID</field>
-                                                        <value name="VALUE">
-                                                          <shadow type="math_number" id="3K*LFc1ljS];!d#%F-4`">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="text_getSubstring" id="HA}:BUUN/Lh]02:)p?t$">
-                                                            <mutation at1="true" at2="false"></mutation>
-                                                            <field name="WHERE1">FROM_START</field>
-                                                            <field name="WHERE2">LAST</field>
-                                                            <value name="STRING">
-                                                              <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                                <field name="TEXT">abc</field>
-                                                              </shadow>
-                                                              <block type="list_order_item" id="5th9:-d^^}a|jY6xj(wn">
-                                                                <field name="list_order">[</field>
-                                                                <value name="list_name">
-                                                                  <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                    <field name="TEXT"></field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="2!t]1Q6[YvWk.Qxvj#L|">
-                                                                    <field name="VAR">识别结果</field>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="list_order_item">
-                                                                  <shadow type="math_number" id="U-6}MxOaKjYG*H#Oi{q[">
-                                                                    <field name="NUM">0</field>
-                                                                  </shadow>
-                                                                </value>
-                                                              </block>
-                                                            </value>
-                                                            <value name="AT1">
-                                                              <block type="math_number" id="Ay7P[`wsl5wzWu]e7H!k">
-                                                                <field name="NUM">5</field>
-                                                              </block>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                        <next>
-                                                          <block type="variables_set" id="BN[#=^R.N=8{4!T?0#qC">
-                                                            <field name="VAR">PASS</field>
-                                                            <value name="VALUE">
-                                                              <shadow type="math_number" id="TE/Z6~Io-j^00#j83r.6">
-                                                                <field name="NUM">0</field>
-                                                              </shadow>
-                                                              <block type="text_getSubstring" id="UL=9DP#qoN}.QG@*FHU!">
-                                                                <mutation at1="true" at2="false"></mutation>
-                                                                <field name="WHERE1">FROM_START</field>
-                                                                <field name="WHERE2">LAST</field>
-                                                                <value name="STRING">
-                                                                  <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                                    <field name="TEXT">abc</field>
-                                                                  </shadow>
-                                                                  <block type="list_order_item" id="_2**VKdEi@)N9l;p4LM~">
-                                                                    <field name="list_order">[</field>
-                                                                    <value name="list_name">
-                                                                      <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                        <field name="TEXT"></field>
-                                                                      </shadow>
-                                                                      <block type="variables_get" id="~qdfyZP,~jtF#*T1+;sY">
-                                                                        <field name="VAR">识别结果</field>
-                                                                      </block>
-                                                                    </value>
-                                                                    <value name="list_order_item">
-                                                                      <shadow type="math_number" id="U-kC|FfTvDa%2qTHC},N">
-                                                                        <field name="NUM">1</field>
-                                                                      </shadow>
-                                                                    </value>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="AT1">
-                                                                  <block type="math_number" id="cS/pZonr0iyWq3|Wp;#~">
-                                                                    <field name="NUM">5</field>
-                                                                  </block>
-                                                                </value>
-                                                              </block>
-                                                            </value>
-                                                            <next>
-                                                              <block type="esp32_main_controller_wifi_connect_internet" id="=jnPdoUl*ACAi-85g}J{">
-                                                                <value name="ssid">
-                                                                  <shadow type="text" id="([(K4/ZxJESaAK;i9lLA">
-                                                                    <field name="TEXT">ENTER_YOUR_SSID</field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="1LX-)-jH},^9TXj).4c!">
-                                                                    <field name="VAR">SSID</field>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="password">
-                                                                  <shadow type="text" id="[I.[L1]LZv$^U{xAXTxT">
-                                                                    <field name="TEXT">ENTER_YOUR_PASSWORD</field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="xPj$i.?ita46~OsGowZU">
-                                                                    <field name="VAR">PASS</field>
-                                                                  </block>
-                                                                </value>
-                                                                <next>
-                                                                  <block type="controls_if" id="?[+@RI,Y^+j%?Ao;M%B;">
-                                                                    <mutation else="1"></mutation>
-                                                                    <value name="IF0">
-                                                                      <block type="esp32_main_controller_get_wifi_connection_status" id="]c2?qP})|]EfvYFEQROi"></block>
-                                                                    </value>
-                                                                    <statement name="DO0">
-                                                                      <block type="variables_set" id="},Y9asDZyTyB#yB7L+et">
-                                                                        <field name="VAR">state</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="sq7I]qNXrv;Ny}TBNw)V">
-                                                                            <field name="TEXT"></field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </statement>
-                                                                    <statement name="ELSE">
-                                                                      <block type="variables_set" id="~+E/j(}}J52t^zVL+y@2">
-                                                                        <field name="VAR">state</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="zsSG)QM`+IL9a[7${WoB">
-                                                                            <field name="TEXT">扫码联网</field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </statement>
-                                                                    <next>
-                                                                      <block type="variables_set" id="P+,6h[)bpFd;~gF3F*|)">
-                                                                        <field name="VAR">识别结果</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="DD1$OM5bjJtDC6eh2mn5">
-                                                                            <field name="TEXT"></field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </next>
-                                                                  </block>
-                                                                </next>
-                                                              </block>
-                                                            </next>
-                                                          </block>
-                                                        </next>
-                                                      </block>
-                                                    </statement>
-                                                  </block>
-                                                </next>
-                                              </block>
-                                            </next>
-                                          </block>
-                                        </next>
-                                      </block>
-                                    </next>
-                                  </block>
-                                </next>
-                              </block>
-                            </next>
-                          </block>
-                        </statement>
-                        <value name="IF1">
-                          <block type="logic_compare" id="L%xi)sGkTLkoTNk47eJf">
-                            <field name="OP">EQ</field>
-                            <value name="A">
-                              <block type="variables_get" id="3X*+8oW5yb?@1(yc4UHn">
-                                <field name="VAR">state</field>
-                              </block>
-                            </value>
-                            <value name="B">
-                              <block type="text" id="rPI(=(sLw[Bhi/Qv#xnt">
-                                <field name="TEXT"></field>
-                              </block>
-                            </value>
-                          </block>
-                        </value>
-                        <statement name="DO1">
-                          <block type="controls_flow_statements" id="HWi$%Sz4Oq[rHo#*l-KW">
-                            <field name="FLOW">BREAK</field>
-                          </block>
-                        </statement>
-                      </block>
-                    </statement>
-                  </block>
-                </next>
-              </block>
-            </next>
-          </block>
-        </statement>
-      </block>
-    </statement>
-  </block>
-  <block type="procedures_defnoreturn" id="#}0wkI3_;39c`eH7-~ts" x="1762" y="725">
+  <block type="procedures_defnoreturn" id="#}0wkI3_;39c`eH7-~ts" x="160" y="741">
     <field name="NAME">gesture_recognize_success</field>
     <statement name="STACK">
       <block type="ai_lcd_draw_rectangle" id="50fMF8Sg0RRWHhRr~]TF">
-        <field name="varitem">canvas</field>
         <field name="rect_type">fillrect</field>
         <value name="POSA">
           <block type="lcd_set_position" id="66)alW2{8_qfDBoxI,Mf">
@@ -961,7 +451,6 @@
         </value>
         <next>
           <block type="ai_lcd_textcarvas" id="*gfx%rj@XV#LCtZja$NR">
-            <field name="varitem">canvas</field>
             <value name="POSA">
               <block type="lcd_set_position" id="k=2V|l|~aC*{_6RY8^wh">
                 <value name="POSX">
@@ -1018,7 +507,6 @@
     <field name="NAME">gesture_recognize_failure</field>
     <statement name="STACK">
       <block type="ai_lcd_draw_rectangle" id="2r!);7{w}G[IH3s+xVAz">
-        <field name="varitem">canvas</field>
         <field name="rect_type">fillrect</field>
         <value name="POSA">
           <block type="lcd_set_position" id="Z7!wB~gNrCB}?V,?Y0{Z">
@@ -1055,7 +543,6 @@
         </value>
         <next>
           <block type="ai_lcd_textcarvas" id="^UnlEbIuQlp(Z.DK{3)O">
-            <field name="varitem">canvas</field>
             <value name="POSA">
               <block type="lcd_set_position" id="(r`|=DL5ETL-C-SFlY*a">
                 <value name="POSX">

+ 121 - 631
src/python/讯飞/文字识别.xml

@@ -1,183 +1,174 @@
 <xml xmlns="http://www.w3.org/1999/xhtml" type="IoT">
-  <block type="ai_lcd_screeninit" id="2PHESD`!?Rz;,*CXs|@U" x="0" y="144">
-    <field name="isScreen">False</field>
+  <block type="V831_code_scanning_network" id="I^,qM0CTCbK3NY3!,E@D" x="5" y="140">
     <next>
-      <block type="procedures_callnoreturn" id="SLAXL/P~.W~xa2xY{,}3">
-        <mutation name="扫码联网"></mutation>
+      <block type="variables_set" id=";su3LI/ZZns%NLWA*d//">
+        <field name="VAR">img_src</field>
+        <value name="VALUE">
+          <shadow type="math_number" id="!^ZX}~l$sF;f-/DQu-5r">
+            <field name="NUM">0</field>
+          </shadow>
+          <block type="text" id="oT`DE#=w.I#oC9)N1=;l">
+            <field name="TEXT">/root/user/img/img_handwritten_text.jpg</field>
+          </block>
+        </value>
         <next>
-          <block type="variables_set" id=";su3LI/ZZns%NLWA*d//">
-            <field name="VAR">img_src</field>
+          <block type="variables_set" id="V2+_z5Oc#{g^z?)?2rJ)">
+            <field name="VAR">state</field>
             <value name="VALUE">
-              <shadow type="math_number" id="!^ZX}~l$sF;f-/DQu-5r">
+              <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
                 <field name="NUM">0</field>
               </shadow>
-              <block type="text" id="oT`DE#=w.I#oC9)N1=;l">
-                <field name="TEXT">/root/user/img/img_handwritten_text.jpg</field>
+              <block type="text" id="Tf!/$j7D(n#2pDV[_~=C">
+                <field name="TEXT"></field>
               </block>
             </value>
             <next>
-              <block type="variables_set" id="V2+_z5Oc#{g^z?)?2rJ)">
-                <field name="VAR">state</field>
+              <block type="variables_set" id="3._PEwALc@DYzol,7:tf">
+                <field name="VAR">result</field>
                 <value name="VALUE">
                   <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
                     <field name="NUM">0</field>
                   </shadow>
-                  <block type="text" id="Tf!/$j7D(n#2pDV[_~=C">
-                    <field name="TEXT"></field>
+                  <block type="text" id="ft!+xiC,t+/QX.|GP2_Z">
+                    <field name="TEXT">N/A</field>
                   </block>
                 </value>
                 <next>
-                  <block type="variables_set" id="3._PEwALc@DYzol,7:tf">
-                    <field name="VAR">result</field>
-                    <value name="VALUE">
-                      <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
-                        <field name="NUM">0</field>
-                      </shadow>
-                      <block type="text" id="ft!+xiC,t+/QX.|GP2_Z">
-                        <field name="TEXT">N/A</field>
-                      </block>
-                    </value>
-                    <next>
-                      <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
-                        <statement name="DO">
-                          <block type="ai_camera_fit_to_screen_size" id="-x|1rNvFHX+n!n;)PcrF">
-                            <field name="varitem">canvas</field>
-                            <field name="size">320</field>
+                  <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
+                    <statement name="DO">
+                      <block type="ai_camera_fit_to_screen_size" id="-x|1rNvFHX+n!n;)PcrF">
+                        <field name="size">320</field>
+                        <next>
+                          <block type="ai_v831_button_read_released" id="$x~gT)UEvgf1df~{m4l@">
+                            <field name="button_type">C</field>
+                            <statement name="input">
+                              <block type="procedures_callnoreturn" id="is!9:|n|f}8*ZBqLbCdN">
+                                <mutation name="take_picture"></mutation>
+                              </block>
+                            </statement>
                             <next>
-                              <block type="ai_v831_button_read_released" id="$x~gT)UEvgf1df~{m4l@">
-                                <field name="button_type">C</field>
-                                <statement name="input">
-                                  <block type="procedures_callnoreturn" id="is!9:|n|f}8*ZBqLbCdN">
-                                    <mutation name="take_picture"></mutation>
+                              <block type="controls_if" id="}FFONk4`/!#_CKBXv17*">
+                                <mutation elseif="2"></mutation>
+                                <value name="IF0">
+                                  <block type="logic_compare" id="f1xU+2=]=FNGYhieSS*%">
+                                    <field name="OP">EQ</field>
+                                    <value name="A">
+                                      <block type="variables_get" id="Dh{y,K1W4kc5tB0L#1gJ">
+                                        <field name="VAR">state</field>
+                                      </block>
+                                    </value>
+                                    <value name="B">
+                                      <block type="text" id="IJZP|+GVe^;FRk*l2|yU">
+                                        <field name="TEXT">拍照發送</field>
+                                      </block>
+                                    </value>
+                                  </block>
+                                </value>
+                                <statement name="DO0">
+                                  <block type="serial_comm_print" id="NW)3uBxinwj6G~inSC/l">
+                                    <value name="serial_comm_input">
+                                      <shadow type="text" id="+I$Gzw$nc~`e[ST`ryA1">
+                                        <field name="TEXT">Hello World!</field>
+                                      </shadow>
+                                      <block type="variables_get" id="u0N3V.p$Q?VfgJ8jTnv3">
+                                        <field name="VAR">state</field>
+                                      </block>
+                                    </value>
+                                    <next>
+                                      <block type="procedures_callnoreturn" id="AoiAX|3Euo:EE,exw=Ea">
+                                        <mutation name="send_picture"></mutation>
+                                      </block>
+                                    </next>
                                   </block>
                                 </statement>
-                                <next>
-                                  <block type="controls_if" id="}FFONk4`/!#_CKBXv17*">
-                                    <mutation elseif="2"></mutation>
-                                    <value name="IF0">
-                                      <block type="logic_compare" id="f1xU+2=]=FNGYhieSS*%">
+                                <value name="IF1">
+                                  <block type="logic_operation" id="Yg8.n9r$]av:nHp}/ice">
+                                    <field name="OP">OR</field>
+                                    <value name="A">
+                                      <block type="logic_compare" id="0sGhFELIqJHB+.b.DU#Q">
                                         <field name="OP">EQ</field>
                                         <value name="A">
-                                          <block type="variables_get" id="Dh{y,K1W4kc5tB0L#1gJ">
+                                          <block type="variables_get" id="F$^+m*Xi^eH%kvs(u(L*">
                                             <field name="VAR">state</field>
                                           </block>
                                         </value>
                                         <value name="B">
-                                          <block type="text" id="IJZP|+GVe^;FRk*l2|yU">
-                                            <field name="TEXT">拍照發送</field>
+                                          <block type="text" id="`~spWQ_qwGn9frDk^x=X">
+                                            <field name="TEXT">識別超時</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
-                                    <statement name="DO0">
-                                      <block type="serial_comm_print" id="NW)3uBxinwj6G~inSC/l">
-                                        <value name="serial_comm_input">
-                                          <shadow type="text" id="+I$Gzw$nc~`e[ST`ryA1">
-                                            <field name="TEXT">Hello World!</field>
-                                          </shadow>
-                                          <block type="variables_get" id="u0N3V.p$Q?VfgJ8jTnv3">
-                                            <field name="VAR">state</field>
-                                          </block>
-                                        </value>
-                                        <next>
-                                          <block type="procedures_callnoreturn" id="AoiAX|3Euo:EE,exw=Ea">
-                                            <mutation name="send_picture"></mutation>
-                                          </block>
-                                        </next>
-                                      </block>
-                                    </statement>
-                                    <value name="IF1">
-                                      <block type="logic_operation" id="Yg8.n9r$]av:nHp}/ice">
-                                        <field name="OP">OR</field>
+                                    <value name="B">
+                                      <block type="logic_compare" id="^}|d~y?T$/Y$UC~E1jO=">
+                                        <field name="OP">EQ</field>
                                         <value name="A">
-                                          <block type="logic_compare" id="0sGhFELIqJHB+.b.DU#Q">
-                                            <field name="OP">EQ</field>
-                                            <value name="A">
-                                              <block type="variables_get" id="F$^+m*Xi^eH%kvs(u(L*">
-                                                <field name="VAR">state</field>
-                                              </block>
-                                            </value>
-                                            <value name="B">
-                                              <block type="text" id="`~spWQ_qwGn9frDk^x=X">
-                                                <field name="TEXT">識別超時</field>
-                                              </block>
-                                            </value>
+                                          <block type="variables_get" id="[1bh_ZFeb6P^$!8O:RpJ">
+                                            <field name="VAR">state</field>
                                           </block>
                                         </value>
                                         <value name="B">
-                                          <block type="logic_compare" id="^}|d~y?T$/Y$UC~E1jO=">
-                                            <field name="OP">EQ</field>
-                                            <value name="A">
-                                              <block type="variables_get" id="[1bh_ZFeb6P^$!8O:RpJ">
-                                                <field name="VAR">state</field>
-                                              </block>
-                                            </value>
-                                            <value name="B">
-                                              <block type="text" id="JUUM#KbJJMR~Q|D(3/Ix">
-                                                <field name="TEXT">識別失敗</field>
-                                              </block>
-                                            </value>
+                                          <block type="text" id="JUUM#KbJJMR~Q|D(3/Ix">
+                                            <field name="TEXT">識別失敗</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
-                                    <statement name="DO1">
-                                      <block type="serial_comm_print" id="D!zyc?a)]vkL@z+SI|yg">
-                                        <value name="serial_comm_input">
-                                          <shadow type="text" id="+I$Gzw$nc~`e[ST`ryA1">
-                                            <field name="TEXT">Hello World!</field>
-                                          </shadow>
-                                          <block type="variables_get" id="Pe,m`BCkAbL_4[;.4~~x">
-                                            <field name="VAR">state</field>
-                                          </block>
-                                        </value>
-                                        <next>
-                                          <block type="procedures_callnoreturn" id="[tvTTxbRTHlkEf9MD]!|">
-                                            <mutation name="handwritten_text_recognize_failure">
-                                              <arg name="failure_state"></arg>
-                                            </mutation>
-                                            <value name="ARG0">
-                                              <block type="variables_get" id="MJ-J}zM$#Z$P5IxqWT=1">
-                                                <field name="VAR">state</field>
-                                              </block>
-                                            </value>
-                                          </block>
-                                        </next>
+                                  </block>
+                                </value>
+                                <statement name="DO1">
+                                  <block type="serial_comm_print" id="D!zyc?a)]vkL@z+SI|yg">
+                                    <value name="serial_comm_input">
+                                      <shadow type="text" id="+I$Gzw$nc~`e[ST`ryA1">
+                                        <field name="TEXT">Hello World!</field>
+                                      </shadow>
+                                      <block type="variables_get" id="Pe,m`BCkAbL_4[;.4~~x">
+                                        <field name="VAR">state</field>
                                       </block>
-                                    </statement>
-                                    <value name="IF2">
-                                      <block type="logic_compare" id="]RQW=^%Mt(@qq6~HJ:zC">
-                                        <field name="OP">EQ</field>
-                                        <value name="A">
-                                          <block type="variables_get" id="P/i7f%+z1.)zhP/!-2p5">
+                                    </value>
+                                    <next>
+                                      <block type="procedures_callnoreturn" id="[tvTTxbRTHlkEf9MD]!|">
+                                        <mutation name="handwritten_text_recognize_failure">
+                                          <arg name="failure_state"></arg>
+                                        </mutation>
+                                        <value name="ARG0">
+                                          <block type="variables_get" id="MJ-J}zM$#Z$P5IxqWT=1">
                                             <field name="VAR">state</field>
                                           </block>
                                         </value>
-                                        <value name="B">
-                                          <block type="text" id="Ul6xnE,|!`v69G~fH9YH">
-                                            <field name="TEXT">識別成功</field>
-                                          </block>
-                                        </value>
                                       </block>
-                                    </value>
-                                    <statement name="DO2">
-                                      <block type="procedures_callnoreturn" id="GU;8.l4oFq+YV.)`9n7O">
-                                        <mutation name="handwritten_text_recognize_success"></mutation>
+                                    </next>
+                                  </block>
+                                </statement>
+                                <value name="IF2">
+                                  <block type="logic_compare" id="]RQW=^%Mt(@qq6~HJ:zC">
+                                    <field name="OP">EQ</field>
+                                    <value name="A">
+                                      <block type="variables_get" id="P/i7f%+z1.)zhP/!-2p5">
+                                        <field name="VAR">state</field>
                                       </block>
-                                    </statement>
-                                    <next>
-                                      <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_">
-                                        <field name="varitem">canvas</field>
+                                    </value>
+                                    <value name="B">
+                                      <block type="text" id="Ul6xnE,|!`v69G~fH9YH">
+                                        <field name="TEXT">識別成功</field>
                                       </block>
-                                    </next>
+                                    </value>
                                   </block>
+                                </value>
+                                <statement name="DO2">
+                                  <block type="procedures_callnoreturn" id="GU;8.l4oFq+YV.)`9n7O">
+                                    <mutation name="handwritten_text_recognize_success"></mutation>
+                                  </block>
+                                </statement>
+                                <next>
+                                  <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_"></block>
                                 </next>
                               </block>
                             </next>
                           </block>
-                        </statement>
+                        </next>
                       </block>
-                    </next>
+                    </statement>
                   </block>
                 </next>
               </block>
@@ -204,7 +195,6 @@
           <block type="esp32_main_controller_time_timer_init" id="Pb6[;7nEF66EQ9jzE1A#">
             <next>
               <block type="v831_img_save" id="a{o:;wJ7pC7,vDXn$ge8">
-                <field name="varitem">canvas</field>
                 <value name="save_path">
                   <shadow type="text" id="G##RjuKt=HrI`[co?yQr">
                     <field name="TEXT">img_facedetection</field>
@@ -272,7 +262,6 @@
         </statement>
         <next>
           <block type="ai_lcd_draw_rectangle" id="2iehsGO.zwB^c{_{OZ8@">
-            <field name="varitem">canvas</field>
             <field name="rect_type">fillrect</field>
             <value name="POSA">
               <block type="lcd_set_position" id="(+=Ft(vS@v!+,.{AT$pd">
@@ -309,7 +298,6 @@
             </value>
             <next>
               <block type="ai_lcd_textcarvas" id="0d97{]^]T-PT%Yx~t8C)">
-                <field name="varitem">canvas</field>
                 <value name="POSA">
                   <block type="lcd_set_position" id="%i-XLa[0WKY.dSxi#3@$">
                     <value name="POSX">
@@ -440,7 +428,6 @@
     <field name="NAME">handwritten_text_recognize_failure</field>
     <statement name="STACK">
       <block type="ai_lcd_draw_rectangle" id="bsh-elnsC@~M;4T{YjPv">
-        <field name="varitem">canvas</field>
         <field name="rect_type">fillrect</field>
         <value name="POSA">
           <block type="lcd_set_position" id="o*xZGu=G],Rxc`Vm/Ty+">
@@ -477,7 +464,6 @@
         </value>
         <next>
           <block type="ai_lcd_textcarvas" id="qiI?=)eMl]ZX:lt@Yr6:">
-            <field name="varitem">canvas</field>
             <value name="POSA">
               <block type="lcd_set_position" id="@_~a!G]=b!7uh}lH5cAm">
                 <value name="POSX">
@@ -515,505 +501,10 @@
       </block>
     </statement>
   </block>
-  <block type="procedures_defnoreturn" id="MdO0;x:sGHz$S(A{|%pN" x="579" y="1205">
-    <field name="NAME">扫码联网</field>
-    <statement name="STACK">
-      <block type="controls_if" id="QFmk|4Cw6}n21!nrke#y">
-        <mutation else="1"></mutation>
-        <value name="IF0">
-          <block type="esp32_main_controller_get_wifi_connection_status" id="(x)B:OwYh|EpoS,iU~y2"></block>
-        </value>
-        <statement name="DO0">
-          <block type="variables_set" id="oldLjE9h_V);0gwLUqLp">
-            <field name="VAR">state</field>
-            <value name="VALUE">
-              <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                <field name="NUM">0</field>
-              </shadow>
-              <block type="text" id="S~`1o~82TueNdD6TT*fr">
-                <field name="TEXT"></field>
-              </block>
-            </value>
-          </block>
-        </statement>
-        <statement name="ELSE">
-          <block type="variables_set" id="k]EGN;l^*}3jz{T?Ce#F">
-            <field name="VAR">state</field>
-            <value name="VALUE">
-              <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                <field name="NUM">0</field>
-              </shadow>
-              <block type="text" id="8W*i4NJ;Vru3e1[^ou_c">
-                <field name="TEXT">扫码联网</field>
-              </block>
-            </value>
-            <next>
-              <block type="variables_set" id="2GkC(H8?w!`rDB?Bx?J=">
-                <field name="VAR">识别结果</field>
-                <value name="VALUE">
-                  <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
-                    <field name="NUM">0</field>
-                  </shadow>
-                  <block type="text" id="Slp_:m=z,Hklsa)s{@PY">
-                    <field name="TEXT"></field>
-                  </block>
-                </value>
-                <next>
-                  <block type="controls_repeat_forever" id=":LF5=[ApbR;GVmzmh|`~">
-                    <statement name="DO">
-                      <block type="controls_if" id="(%Lc=pe(bSVHpTsYm?/{">
-                        <mutation elseif="1"></mutation>
-                        <value name="IF0">
-                          <block type="logic_compare" id="t`Fs.OucEz)@5eXC$5J*">
-                            <field name="OP">EQ</field>
-                            <value name="A">
-                              <block type="variables_get" id="h/:RncBzY$kT|1p*xpWA">
-                                <field name="VAR">state</field>
-                              </block>
-                            </value>
-                            <value name="B">
-                              <block type="text" id="x#U|#$aY5?0E=pc^Ux[G">
-                                <field name="TEXT">扫码联网</field>
-                              </block>
-                            </value>
-                          </block>
-                        </value>
-                        <statement name="DO0">
-                          <block type="variables_set" id="Cu;$;(2=5xDCN0X_`V)3">
-                            <field name="VAR">canvas</field>
-                            <value name="VALUE">
-                              <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
-                                <field name="NUM">0</field>
-                              </shadow>
-                              <block type="ai_camera_snapshot" id="=1}#3hbmJ?he_09~HeDn"></block>
-                            </value>
-                            <next>
-                              <block type="variables_set" id="#rZEhIT(h!ixt0TY8k#$">
-                                <field name="VAR">qrCode</field>
-                                <value name="VALUE">
-                                  <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
-                                    <field name="NUM">0</field>
-                                  </shadow>
-                                  <block type="ai_vision_find_qrcode" id="XR1FTyBZ~BfT3B^h?2Xw">
-                                    <field name="varitem">canvas</field>
-                                  </block>
-                                </value>
-                                <next>
-                                  <block type="ai_lcd_draw_rectangle" id="XI5$[-#i^sfT(Anxj[[I">
-                                    <field name="varitem">canvas</field>
-                                    <field name="rect_type">fillrect</field>
-                                    <value name="POSA">
-                                      <block type="lcd_set_position" id="XHp~TJ9.ZOoO3Bp.CRPH">
-                                        <value name="POSX">
-                                          <shadow type="math_number" id="~0P_+`}ChKF6K5#/3_?[">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="POSY">
-                                          <shadow type="math_number" id="8*Fi]9hQE^]ta:+AGSq#">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="POSB">
-                                      <block type="lcd_set_width_height" id="_:HI_$5=X6gCu8zg?]].">
-                                        <value name="WIDTH">
-                                          <shadow type="math_number" id="LxbbW3:5h`0FA=Q+a6,-">
-                                            <field name="NUM">320</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="HEIGHT">
-                                          <shadow type="math_number" id=")Q|6ozkgm|%Oy@(w+njY">
-                                            <field name="NUM">20</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="COLOR">
-                                      <block type="lcd_set_color" id="f]`#WIQ0g.nhp)v_f+ra">
-                                        <field name="COLOR">#000000</field>
-                                      </block>
-                                    </value>
-                                    <next>
-                                      <block type="ai_lcd_textcarvas" id="o?Xee3@7Z7d1shgt=.~!">
-                                        <field name="varitem">canvas</field>
-                                        <value name="POSA">
-                                          <block type="lcd_set_position" id="%*a8qVFhJ[_J};+GRxvP">
-                                            <value name="POSX">
-                                              <shadow type="math_number" id="45#Ks%g9].:V;gyLe@7v">
-                                                <field name="NUM">50</field>
-                                              </shadow>
-                                            </value>
-                                            <value name="POSY">
-                                              <shadow type="math_number" id=";8`kH5D%t*Eoa{SFW-7U">
-                                                <field name="NUM">0</field>
-                                              </shadow>
-                                            </value>
-                                          </block>
-                                        </value>
-                                        <value name="CONTENT">
-                                          <shadow type="text" id="Yx!}/WC#[6zWWcyEp^k4">
-                                            <field name="TEXT">请扫描平台Wi-Fi二维码联网</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="COLOR">
-                                          <block type="lcd_set_color" id="iLjzPIF%lYI;?KBQ#/[$">
-                                            <field name="COLOR">#ffffff</field>
-                                          </block>
-                                        </value>
-                                        <value name="Scale">
-                                          <shadow type="math_number" id="nqzOJydkF/($.[m$H6Pv">
-                                            <field name="NUM">1</field>
-                                          </shadow>
-                                        </value>
-                                        <next>
-                                          <block type="controls_forEach" id="-:L$lT0zA7mfToS/t,.F">
-                                            <field name="VAR">i</field>
-                                            <value name="LIST">
-                                              <block type="variables_get" id="-{c41z,w]Y#[QB8KCcVz">
-                                                <field name="VAR">qrCode</field>
-                                              </block>
-                                            </value>
-                                            <statement name="DO">
-                                              <block type="ai_lcd_textcarvas" id="8a{z9sANpfx,m-E^?[ws">
-                                                <field name="varitem">canvas</field>
-                                                <value name="POSA">
-                                                  <block type="lcd_set_position" id="ioxr$KyBF@y^:cSUW[b)">
-                                                    <value name="POSX">
-                                                      <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="+JV^_A]p9mWwj4XMccW=">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">x</field>
-                                                      </block>
-                                                    </value>
-                                                    <value name="POSY">
-                                                      <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="3@C4V}bZ+$Zq%4rv{VSc">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">y</field>
-                                                      </block>
-                                                    </value>
-                                                  </block>
-                                                </value>
-                                                <value name="CONTENT">
-                                                  <shadow type="text" id="!4*_1/3)tAg3ygOM.|YW">
-                                                    <field name="TEXT"></field>
-                                                  </shadow>
-                                                  <block type="ai_vision_qrcode_get_info" id="u}v%Q4HoI0Jx3=a~f`{8">
-                                                    <field name="varitem">i</field>
-                                                    <field name="get_info">payload</field>
-                                                  </block>
-                                                </value>
-                                                <value name="COLOR">
-                                                  <block type="lcd_set_color" id="0uqSLJgr-ah=.H6F0Zg*">
-                                                    <field name="COLOR">#ff0000</field>
-                                                  </block>
-                                                </value>
-                                                <value name="Scale">
-                                                  <shadow type="math_number" id="$Eq^l2JOL,XJt3X@v/W2">
-                                                    <field name="NUM">1</field>
-                                                  </shadow>
-                                                </value>
-                                                <next>
-                                                  <block type="ai_lcd_draw_rectangle" id="qZ)[-$CRx*WU%R5F-C(b">
-                                                    <field name="varitem">canvas</field>
-                                                    <field name="rect_type">rect</field>
-                                                    <value name="POSA">
-                                                      <block type="lcd_set_position" id="%{ni*3`X:MOwcP+$x]Ce" inline="false">
-                                                        <value name="POSX">
-                                                          <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="d`=/VVl{9bDr(rQsN=X9">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">x</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="POSY">
-                                                          <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="w3FPKp`({0i%TOSAkfx|">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">y</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <value name="POSB">
-                                                      <block type="lcd_set_width_height" id="w_%[j;O|%aA;,b/TN?OG" inline="false">
-                                                        <value name="WIDTH">
-                                                          <shadow type="math_number" id="k(B:~2AOLJV~zLnbe)89">
-                                                            <field name="NUM">320</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id=".|m1N_[}die?dg8`TdGY">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">w1</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="HEIGHT">
-                                                          <shadow type="math_number" id="c)u)Q:9p$d5b5%4Lqa9$">
-                                                            <field name="NUM">240</field>
-                                                          </shadow>
-                                                          <block type="ai_vision_qrcode_get_info" id="$~EzG-QSb%]fHlU@Z+S2">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">h2</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <value name="COLOR">
-                                                      <block type="lcd_set_color" id="8]sijmt:%XtQlj}tgIas">
-                                                        <field name="COLOR">#ff0000</field>
-                                                      </block>
-                                                    </value>
-                                                    <next>
-                                                      <block type="variables_set" id="KVP}T[SMJJey84#dVw0T">
-                                                        <field name="VAR">识别结果</field>
-                                                        <value name="VALUE">
-                                                          <shadow type="math_number" id="~c`T-qSJp-={%Hp!.bS)">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="text_split_string_by_delimiter" id="LTbE[`1q4E(OeDv;,H=^">
-                                                            <field name="delimiter">;</field>
-                                                            <value name="string_input">
-                                                              <block type="ai_vision_qrcode_get_info" id="t-M^Cy5b#OLC+;)kF^N7">
-                                                                <field name="varitem">i</field>
-                                                                <field name="get_info">payload</field>
-                                                              </block>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </next>
-                                                  </block>
-                                                </next>
-                                              </block>
-                                            </statement>
-                                            <next>
-                                              <block type="ai_lcd_showcarvas_set_display" id="_+g?Q4R`)mrc!;|8w=Y~">
-                                                <field name="varitem">canvas</field>
-                                                <next>
-                                                  <block type="controls_if" id="u4,JM+iCSC81$RBCpu5C">
-                                                    <value name="IF0">
-                                                      <block type="logic_compare" id="Ah]X%z9GHc.{/Wc6W2F#">
-                                                        <field name="OP">NEQ</field>
-                                                        <value name="A">
-                                                          <block type="variables_get" id="Cg#*ndDK+W9_!H,48}zu">
-                                                            <field name="VAR">识别结果</field>
-                                                          </block>
-                                                        </value>
-                                                        <value name="B">
-                                                          <block type="text" id="Ztob3cliQa=zb*$!QQsu">
-                                                            <field name="TEXT"></field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <statement name="DO0">
-                                                      <block type="variables_set" id="_(vhjruUh#kTA56w|d3d">
-                                                        <field name="VAR">SSID</field>
-                                                        <value name="VALUE">
-                                                          <shadow type="math_number" id="3K*LFc1ljS];!d#%F-4`">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="text_getSubstring" id="HA}:BUUN/Lh]02:)p?t$">
-                                                            <mutation at1="true" at2="false"></mutation>
-                                                            <field name="WHERE1">FROM_START</field>
-                                                            <field name="WHERE2">LAST</field>
-                                                            <value name="STRING">
-                                                              <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                                <field name="TEXT">abc</field>
-                                                              </shadow>
-                                                              <block type="list_order_item" id="5th9:-d^^}a|jY6xj(wn">
-                                                                <field name="list_order">[</field>
-                                                                <value name="list_name">
-                                                                  <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                    <field name="TEXT"></field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="2!t]1Q6[YvWk.Qxvj#L|">
-                                                                    <field name="VAR">识别结果</field>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="list_order_item">
-                                                                  <shadow type="math_number" id="U-6}MxOaKjYG*H#Oi{q[">
-                                                                    <field name="NUM">0</field>
-                                                                  </shadow>
-                                                                </value>
-                                                              </block>
-                                                            </value>
-                                                            <value name="AT1">
-                                                              <block type="math_number" id="Ay7P[`wsl5wzWu]e7H!k">
-                                                                <field name="NUM">5</field>
-                                                              </block>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                        <next>
-                                                          <block type="variables_set" id="BN[#=^R.N=8{4!T?0#qC">
-                                                            <field name="VAR">PASS</field>
-                                                            <value name="VALUE">
-                                                              <shadow type="math_number" id="TE/Z6~Io-j^00#j83r.6">
-                                                                <field name="NUM">0</field>
-                                                              </shadow>
-                                                              <block type="text_getSubstring" id="UL=9DP#qoN}.QG@*FHU!">
-                                                                <mutation at1="true" at2="false"></mutation>
-                                                                <field name="WHERE1">FROM_START</field>
-                                                                <field name="WHERE2">LAST</field>
-                                                                <value name="STRING">
-                                                                  <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                                    <field name="TEXT">abc</field>
-                                                                  </shadow>
-                                                                  <block type="list_order_item" id="_2**VKdEi@)N9l;p4LM~">
-                                                                    <field name="list_order">[</field>
-                                                                    <value name="list_name">
-                                                                      <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                        <field name="TEXT"></field>
-                                                                      </shadow>
-                                                                      <block type="variables_get" id="~qdfyZP,~jtF#*T1+;sY">
-                                                                        <field name="VAR">识别结果</field>
-                                                                      </block>
-                                                                    </value>
-                                                                    <value name="list_order_item">
-                                                                      <shadow type="math_number" id="U-kC|FfTvDa%2qTHC},N">
-                                                                        <field name="NUM">1</field>
-                                                                      </shadow>
-                                                                    </value>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="AT1">
-                                                                  <block type="math_number" id="cS/pZonr0iyWq3|Wp;#~">
-                                                                    <field name="NUM">5</field>
-                                                                  </block>
-                                                                </value>
-                                                              </block>
-                                                            </value>
-                                                            <next>
-                                                              <block type="esp32_main_controller_wifi_connect_internet" id="=jnPdoUl*ACAi-85g}J{">
-                                                                <value name="ssid">
-                                                                  <shadow type="text" id="([(K4/ZxJESaAK;i9lLA">
-                                                                    <field name="TEXT">ENTER_YOUR_SSID</field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="1LX-)-jH},^9TXj).4c!">
-                                                                    <field name="VAR">SSID</field>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="password">
-                                                                  <shadow type="text" id="[I.[L1]LZv$^U{xAXTxT">
-                                                                    <field name="TEXT">ENTER_YOUR_PASSWORD</field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="xPj$i.?ita46~OsGowZU">
-                                                                    <field name="VAR">PASS</field>
-                                                                  </block>
-                                                                </value>
-                                                                <next>
-                                                                  <block type="controls_if" id="?[+@RI,Y^+j%?Ao;M%B;">
-                                                                    <mutation else="1"></mutation>
-                                                                    <value name="IF0">
-                                                                      <block type="esp32_main_controller_get_wifi_connection_status" id="]c2?qP})|]EfvYFEQROi"></block>
-                                                                    </value>
-                                                                    <statement name="DO0">
-                                                                      <block type="variables_set" id="},Y9asDZyTyB#yB7L+et">
-                                                                        <field name="VAR">state</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="sq7I]qNXrv;Ny}TBNw)V">
-                                                                            <field name="TEXT"></field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </statement>
-                                                                    <statement name="ELSE">
-                                                                      <block type="variables_set" id="~+E/j(}}J52t^zVL+y@2">
-                                                                        <field name="VAR">state</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="zsSG)QM`+IL9a[7${WoB">
-                                                                            <field name="TEXT">扫码联网</field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </statement>
-                                                                    <next>
-                                                                      <block type="variables_set" id="P+,6h[)bpFd;~gF3F*|)">
-                                                                        <field name="VAR">识别结果</field>
-                                                                        <value name="VALUE">
-                                                                          <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                            <field name="NUM">0</field>
-                                                                          </shadow>
-                                                                          <block type="text" id="DD1$OM5bjJtDC6eh2mn5">
-                                                                            <field name="TEXT"></field>
-                                                                          </block>
-                                                                        </value>
-                                                                      </block>
-                                                                    </next>
-                                                                  </block>
-                                                                </next>
-                                                              </block>
-                                                            </next>
-                                                          </block>
-                                                        </next>
-                                                      </block>
-                                                    </statement>
-                                                  </block>
-                                                </next>
-                                              </block>
-                                            </next>
-                                          </block>
-                                        </next>
-                                      </block>
-                                    </next>
-                                  </block>
-                                </next>
-                              </block>
-                            </next>
-                          </block>
-                        </statement>
-                        <value name="IF1">
-                          <block type="logic_compare" id="L%xi)sGkTLkoTNk47eJf">
-                            <field name="OP">EQ</field>
-                            <value name="A">
-                              <block type="variables_get" id="3X*+8oW5yb?@1(yc4UHn">
-                                <field name="VAR">state</field>
-                              </block>
-                            </value>
-                            <value name="B">
-                              <block type="text" id="rPI(=(sLw[Bhi/Qv#xnt">
-                                <field name="TEXT"></field>
-                              </block>
-                            </value>
-                          </block>
-                        </value>
-                        <statement name="DO1">
-                          <block type="controls_flow_statements" id="HWi$%Sz4Oq[rHo#*l-KW">
-                            <field name="FLOW">BREAK</field>
-                          </block>
-                        </statement>
-                      </block>
-                    </statement>
-                  </block>
-                </next>
-              </block>
-            </next>
-          </block>
-        </statement>
-      </block>
-    </statement>
-  </block>
   <block type="procedures_defnoreturn" id="7kMECGEs~,|{c}nkthL^" x="-561" y="1298">
     <field name="NAME">handwritten_text_recognize_success</field>
     <statement name="STACK">
       <block type="ai_lcd_draw_rectangle" id="udCc]{v:i^UDsXp2R^Be">
-        <field name="varitem">canvas</field>
         <field name="rect_type">fillrect</field>
         <value name="POSA">
           <block type="lcd_set_position" id=".+^Pef`F{P^,]A+r0YgZ">
@@ -1050,7 +541,6 @@
         </value>
         <next>
           <block type="ai_lcd_textcarvas" id="5t*-K.X+p!=QaRknd26[">
-            <field name="varitem">canvas</field>
             <value name="POSA">
               <block type="lcd_set_position" id="c9~8`HIlb`?X:Wf3}LGR">
                 <value name="POSX">

+ 213 - 657
src/python/讯飞/机器翻译.xml

@@ -1,757 +1,313 @@
 <xml xmlns="http://www.w3.org/1999/xhtml" type="IoT">
-  <block type="ai_lcd_screeninit" id="2PHESD`!?Rz;,*CXs|@U" x="0" y="0">
-    <field name="isScreen">False</field>
+  <block type="V831_code_scanning_network" id="/.:f~PB*uRMs?nbacB3K" x="6" y="4">
     <next>
-      <block type="procedures_callnoreturn" id="SLAXL/P~.W~xa2xY{,}3">
-        <mutation name="扫码联网"></mutation>
+      <block type="variables_set" id="rK:aRbo7,,m}uAsbm^7Z">
+        <field name="VAR">translation_content</field>
+        <value name="VALUE">
+          <shadow type="math_number" id="`fJQtJ{!.X!;rc*|!^}G">
+            <field name="NUM">0</field>
+          </shadow>
+          <block type="text" id="dq~|*_]j2)HbzUaC%N(^">
+            <field name="TEXT">你好世界</field>
+          </block>
+        </value>
         <next>
-          <block type="variables_set" id="rK:aRbo7,,m}uAsbm^7Z">
-            <field name="VAR">translation_content</field>
+          <block type="variables_set" id="aA.f^=u2iKDaavPzBXAO">
+            <field name="VAR">translation_data</field>
             <value name="VALUE">
-              <shadow type="math_number" id="`fJQtJ{!.X!;rc*|!^}G">
+              <shadow type="math_number" id="w?LFeiEPsKZ)*QF_`#z2">
                 <field name="NUM">0</field>
               </shadow>
-              <block type="text" id="dq~|*_]j2)HbzUaC%N(^">
-                <field name="TEXT">你好世界</field>
+              <block type="text" id="^-.}s/gHvIS5+a}nMQ[B">
+                <field name="TEXT"></field>
               </block>
             </value>
             <next>
-              <block type="variables_set" id="aA.f^=u2iKDaavPzBXAO">
-                <field name="VAR">translation_data</field>
-                <value name="VALUE">
-                  <shadow type="math_number" id="w?LFeiEPsKZ)*QF_`#z2">
-                    <field name="NUM">0</field>
-                  </shadow>
-                  <block type="text" id="^-.}s/gHvIS5+a}nMQ[B">
-                    <field name="TEXT"></field>
-                  </block>
-                </value>
+              <block type="esp32_main_controller_time_timer_init" id="S^^9$suC/3:*RC3bkKFB">
                 <next>
-                  <block type="esp32_main_controller_time_timer_init" id="S^^9$suC/3:*RC3bkKFB">
-                    <next>
-                      <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
-                        <statement name="DO">
-                          <block type="ai_lcd_clearcanvas" id="E0bKegK}C-^g9`i!.]4I">
-                            <field name="varitem">canvas</field>
-                            <next>
-                              <block type="controls_if" id="W+3q$x=[J/8cm|;3{!CQ">
-                                <mutation else="1"></mutation>
-                                <value name="IF0">
-                                  <block type="logic_compare" id="ajty0Vmr5%RrUG+=M##]">
-                                    <field name="OP">EQ</field>
-                                    <value name="A">
-                                      <block type="variables_get" id="=dv1(!mB((_@JnCfsIVE">
-                                        <field name="VAR">translation_data</field>
-                                      </block>
-                                    </value>
-                                    <value name="B">
-                                      <block type="text" id="*nexS$bMV2d,i%Ko5{b#">
-                                        <field name="TEXT"></field>
-                                      </block>
-                                    </value>
+                  <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
+                    <statement name="DO">
+                      <block type="ai_lcd_clearcanvas" id="E0bKegK}C-^g9`i!.]4I">
+                        <next>
+                          <block type="controls_if" id="W+3q$x=[J/8cm|;3{!CQ">
+                            <mutation else="1"></mutation>
+                            <value name="IF0">
+                              <block type="logic_compare" id="ajty0Vmr5%RrUG+=M##]">
+                                <field name="OP">EQ</field>
+                                <value name="A">
+                                  <block type="variables_get" id="=dv1(!mB((_@JnCfsIVE">
+                                    <field name="VAR">translation_data</field>
                                   </block>
                                 </value>
-                                <statement name="DO0">
-                                  <block type="ai_lcd_textcarvas" id="s0WC*;qrV]%/%IzSSMZy">
-                                    <field name="varitem">canvas</field>
-                                    <value name="POSA">
-                                      <block type="lcd_set_position" id="6_oRXQrd]$[!.@F]NOra">
-                                        <value name="POSX">
-                                          <shadow type="math_number" id="?N,87|[#?9AhnEg#@;fv">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="POSY">
-                                          <shadow type="math_number" id="JY7h_:M*dGfGmJwtz*~*">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
+                                <value name="B">
+                                  <block type="text" id="*nexS$bMV2d,i%Ko5{b#">
+                                    <field name="TEXT"></field>
+                                  </block>
+                                </value>
+                              </block>
+                            </value>
+                            <statement name="DO0">
+                              <block type="ai_lcd_textcarvas" id="s0WC*;qrV]%/%IzSSMZy">
+                                <value name="POSA">
+                                  <block type="lcd_set_position" id="6_oRXQrd]$[!.@F]NOra">
+                                    <value name="POSX">
+                                      <shadow type="math_number" id="?N,87|[#?9AhnEg#@;fv">
+                                        <field name="NUM">0</field>
+                                      </shadow>
                                     </value>
-                                    <value name="CONTENT">
-                                      <shadow type="text" id="2u!$~}meU;FLd{wJdnkW">
-                                        <field name="TEXT">翻译内容</field>
+                                    <value name="POSY">
+                                      <shadow type="math_number" id="JY7h_:M*dGfGmJwtz*~*">
+                                        <field name="NUM">0</field>
                                       </shadow>
-                                      <block type="text_append_text" id="C/eOh)hqwSwG:_`U=T#v">
-                                        <value name="text_abc">
-                                          <shadow type="text" id="(%plh1}kFY9KxZp#.gXx">
-                                            <field name="TEXT">翻译内容:</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="append_text">
-                                          <shadow type="text" id="2Jk])!V$R$Iks}61kS#j">
-                                            <field name="TEXT">def</field>
-                                          </shadow>
-                                          <block type="variables_get" id="FZhn57]p0TkSa=k~BEy~">
-                                            <field name="VAR">translation_content</field>
-                                          </block>
-                                        </value>
-                                      </block>
                                     </value>
-                                    <value name="COLOR">
-                                      <block type="lcd_set_color" id="VVow(f#Qhubx=bToQk:y">
-                                        <field name="COLOR">#ff0000</field>
-                                      </block>
+                                  </block>
+                                </value>
+                                <value name="CONTENT">
+                                  <shadow type="text" id="2u!$~}meU;FLd{wJdnkW">
+                                    <field name="TEXT">翻译内容</field>
+                                  </shadow>
+                                  <block type="text_append_text" id="C/eOh)hqwSwG:_`U=T#v">
+                                    <value name="text_abc">
+                                      <shadow type="text" id="(%plh1}kFY9KxZp#.gXx">
+                                        <field name="TEXT">翻译内容:</field>
+                                      </shadow>
                                     </value>
-                                    <value name="Scale">
-                                      <shadow type="math_number" id="?$op;}%R4p}Pa$SvfI+V">
-                                        <field name="NUM">1</field>
+                                    <value name="append_text">
+                                      <shadow type="text" id="2Jk])!V$R$Iks}61kS#j">
+                                        <field name="TEXT">def</field>
                                       </shadow>
+                                      <block type="variables_get" id="FZhn57]p0TkSa=k~BEy~">
+                                        <field name="VAR">translation_content</field>
+                                      </block>
                                     </value>
-                                    <next>
-                                      <block type="CocoRobo_try_except" id="d/Q-MBXn(gWqY6MQd.{t">
-                                        <statement name="TRY">
-                                          <block type="time_delayseconds" id="((TSw9+!qg/RWUxu5X,4">
-                                            <value name="DELAY_TIME_MICRO">
-                                              <block type="math_number" id="+q0y]iq39(;Weh$7Bw@I">
-                                                <field name="NUM">1</field>
-                                              </block>
+                                  </block>
+                                </value>
+                                <value name="COLOR">
+                                  <block type="lcd_set_color" id="VVow(f#Qhubx=bToQk:y">
+                                    <field name="COLOR">#ff0000</field>
+                                  </block>
+                                </value>
+                                <value name="Scale">
+                                  <shadow type="math_number" id="?$op;}%R4p}Pa$SvfI+V">
+                                    <field name="NUM">1</field>
+                                  </shadow>
+                                </value>
+                                <next>
+                                  <block type="CocoRobo_try_except" id="d/Q-MBXn(gWqY6MQd.{t">
+                                    <statement name="TRY">
+                                      <block type="time_delayseconds" id="((TSw9+!qg/RWUxu5X,4">
+                                        <value name="DELAY_TIME_MICRO">
+                                          <block type="math_number" id="+q0y]iq39(;Weh$7Bw@I">
+                                            <field name="NUM">1</field>
+                                          </block>
+                                        </value>
+                                        <next>
+                                          <block type="ai_online_machine_translation_loading" id="TP)D@y^55%zo6]_FP;qR">
+                                            <field name="from">cn</field>
+                                            <field name="to">en</field>
+                                            <value name="A">
+                                              <shadow type="text" id="w|.M?(1Dvh`D{YD1wY*0">
+                                                <field name="TEXT">8810558b</field>
+                                              </shadow>
+                                            </value>
+                                            <value name="B">
+                                              <shadow type="text" id="|7~[[.@1k*:!d%i50F.o">
+                                                <field name="TEXT">ZTIzYjM5NmIzMmRiZWNiMzk4MzkzZjk2</field>
+                                              </shadow>
+                                            </value>
+                                            <value name="C">
+                                              <shadow type="text" id="v]$ajYfQca8g;jU7~U`9">
+                                                <field name="TEXT">14975be8b286996b1f9002e81e0a4f3c</field>
+                                              </shadow>
+                                            </value>
+                                            <value name="NAME">
+                                              <shadow type="text" id="X;Y6Y3n;]tmpLN/i;|9m">
+                                                <field name="TEXT">hello world</field>
+                                              </shadow>
                                             </value>
                                             <next>
-                                              <block type="ai_online_machine_translation_loading" id="TP)D@y^55%zo6]_FP;qR">
-                                                <field name="from">cn</field>
-                                                <field name="to">en</field>
-                                                <value name="A">
-                                                  <shadow type="text" id="w|.M?(1Dvh`D{YD1wY*0">
-                                                    <field name="TEXT">8810558b</field>
-                                                  </shadow>
-                                                </value>
-                                                <value name="B">
-                                                  <shadow type="text" id="|7~[[.@1k*:!d%i50F.o">
-                                                    <field name="TEXT">ZTIzYjM5NmIzMmRiZWNiMzk4MzkzZjk2</field>
-                                                  </shadow>
-                                                </value>
-                                                <value name="C">
-                                                  <shadow type="text" id="v]$ajYfQca8g;jU7~U`9">
-                                                    <field name="TEXT">14975be8b286996b1f9002e81e0a4f3c</field>
-                                                  </shadow>
-                                                </value>
-                                                <value name="NAME">
-                                                  <shadow type="text" id="X;Y6Y3n;]tmpLN/i;|9m">
-                                                    <field name="TEXT">hello world</field>
+                                              <block type="variables_set" id="q]VhxRW!1iO`gY[:=[U:">
+                                                <field name="VAR">translation_data</field>
+                                                <value name="VALUE">
+                                                  <shadow type="math_number" id="w?LFeiEPsKZ)*QF_`#z2">
+                                                    <field name="NUM">0</field>
                                                   </shadow>
+                                                  <block type="ai_online_machine_translation_result" id="U$x*d8Y1CquzAcIy2;]p"></block>
                                                 </value>
-                                                <next>
-                                                  <block type="variables_set" id="q]VhxRW!1iO`gY[:=[U:">
-                                                    <field name="VAR">translation_data</field>
-                                                    <value name="VALUE">
-                                                      <shadow type="math_number" id="w?LFeiEPsKZ)*QF_`#z2">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_online_machine_translation_result" id="U$x*d8Y1CquzAcIy2;]p"></block>
-                                                    </value>
-                                                  </block>
-                                                </next>
                                               </block>
                                             </next>
                                           </block>
-                                        </statement>
-                                        <next>
-                                          <block type="controls_if" id="@f0GR$N.Ai*~=r+i{,~_">
-                                            <value name="IF0">
-                                              <block type="logic_operation" id="|FqWFJHSem(n0H_]b9wF">
-                                                <field name="OP">AND</field>
+                                        </next>
+                                      </block>
+                                    </statement>
+                                    <next>
+                                      <block type="controls_if" id="@f0GR$N.Ai*~=r+i{,~_">
+                                        <value name="IF0">
+                                          <block type="logic_operation" id="|FqWFJHSem(n0H_]b9wF">
+                                            <field name="OP">AND</field>
+                                            <value name="A">
+                                              <block type="logic_compare" id="hEAn_N3-UL!$Ko}_](#;">
+                                                <field name="OP">GT</field>
                                                 <value name="A">
-                                                  <block type="logic_compare" id="hEAn_N3-UL!$Ko}_](#;">
-                                                    <field name="OP">GT</field>
-                                                    <value name="A">
-                                                      <block type="esp32_main_controller_time_timer_get_current" id="AIATONNPxv0UCuWa}?|("></block>
-                                                    </value>
-                                                    <value name="B">
-                                                      <block type="math_number" id="jDo0h$;C4e,Fm%5ww#!!">
-                                                        <field name="NUM">20</field>
-                                                      </block>
-                                                    </value>
-                                                  </block>
+                                                  <block type="esp32_main_controller_time_timer_get_current" id="AIATONNPxv0UCuWa}?|("></block>
                                                 </value>
                                                 <value name="B">
-                                                  <block type="logic_compare" id="p`OCpbz?qpo}?%|`Ry0r">
-                                                    <field name="OP">EQ</field>
-                                                    <value name="A">
-                                                      <block type="variables_get" id=".vi^d*q~BQBj.pSyLyED">
-                                                        <field name="VAR">translation_content</field>
-                                                      </block>
-                                                    </value>
-                                                    <value name="B">
-                                                      <block type="text" id="p||0/*BxncQ*e8UsKNd:">
-                                                        <field name="TEXT"></field>
-                                                      </block>
-                                                    </value>
+                                                  <block type="math_number" id="jDo0h$;C4e,Fm%5ww#!!">
+                                                    <field name="NUM">20</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
-                                            <statement name="DO0">
-                                              <block type="esp32_main_controller_time_timer_clear" id="r7L!`,6=cT1uzUx,7S(.">
-                                                <next>
-                                                  <block type="variables_set" id="!eOK8`^|^v%R3q8,9u07">
-                                                    <field name="VAR">translation_data</field>
-                                                    <value name="VALUE">
-                                                      <shadow type="math_number" id="w?LFeiEPsKZ)*QF_`#z2">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="text" id="B}Vm(=D_5Zklel/K`4IJ">
-                                                        <field name="TEXT">识别失败</field>
-                                                      </block>
-                                                    </value>
+                                            <value name="B">
+                                              <block type="logic_compare" id="p`OCpbz?qpo}?%|`Ry0r">
+                                                <field name="OP">EQ</field>
+                                                <value name="A">
+                                                  <block type="variables_get" id=".vi^d*q~BQBj.pSyLyED">
+                                                    <field name="VAR">translation_content</field>
                                                   </block>
-                                                </next>
+                                                </value>
+                                                <value name="B">
+                                                  <block type="text" id="p||0/*BxncQ*e8UsKNd:">
+                                                    <field name="TEXT"></field>
+                                                  </block>
+                                                </value>
                                               </block>
-                                            </statement>
-                                          </block>
-                                        </next>
-                                      </block>
-                                    </next>
-                                  </block>
-                                </statement>
-                                <statement name="ELSE">
-                                  <block type="ai_lcd_textcarvas" id="S]@h:~^LBrb6:]XCUVB?">
-                                    <field name="varitem">canvas</field>
-                                    <value name="POSA">
-                                      <block type="lcd_set_position" id="kiGc2]SF!1#*}!@a2wmi">
-                                        <value name="POSX">
-                                          <shadow type="math_number" id="3JroQ70Tqnu.+WWwzX9q">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="POSY">
-                                          <shadow type="math_number" id="5^}rBOOhByfKAP;40w:U">
-                                            <field name="NUM">0</field>
-                                          </shadow>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="CONTENT">
-                                      <shadow type="text" id="2u!$~}meU;FLd{wJdnkW">
-                                        <field name="TEXT">翻译内容</field>
-                                      </shadow>
-                                      <block type="text_append_text" id="uo{t%2i8K~2=3WU4RSf[">
-                                        <value name="text_abc">
-                                          <shadow type="text" id="?E~?023;xRGLL^!@ew58">
-                                            <field name="TEXT">翻译内容:</field>
-                                          </shadow>
-                                        </value>
-                                        <value name="append_text">
-                                          <shadow type="text" id="2Jk])!V$R$Iks}61kS#j">
-                                            <field name="TEXT">def</field>
-                                          </shadow>
-                                          <block type="variables_get" id="j5z51kPmF_0Bt|H:Q=!T">
-                                            <field name="VAR">translation_content</field>
-                                          </block>
-                                        </value>
-                                      </block>
-                                    </value>
-                                    <value name="COLOR">
-                                      <block type="lcd_set_color" id="Bw]mE|SCf=P{w{.01I}7">
-                                        <field name="COLOR">#ff0000</field>
-                                      </block>
-                                    </value>
-                                    <value name="Scale">
-                                      <shadow type="math_number" id="TN..c_#1)v%oqRXb`qg$">
-                                        <field name="NUM">1</field>
-                                      </shadow>
-                                    </value>
-                                    <next>
-                                      <block type="ai_lcd_textcarvas" id="h=D7SFh?|,Y-LlaYWR$5">
-                                        <field name="varitem">canvas</field>
-                                        <value name="POSA">
-                                          <block type="lcd_set_position" id="tQkwQEVEnq.mCG%K(P;$">
-                                            <value name="POSX">
-                                              <shadow type="math_number" id="!zmZkjWg{oAjK#}Ju^/X">
-                                                <field name="NUM">0</field>
-                                              </shadow>
-                                            </value>
-                                            <value name="POSY">
-                                              <shadow type="math_number" id="@!OgB,-/*%IDBH{]2!-7">
-                                                <field name="NUM">40</field>
-                                              </shadow>
                                             </value>
                                           </block>
                                         </value>
-                                        <value name="CONTENT">
-                                          <shadow type="text" id="2u!$~}meU;FLd{wJdnkW">
-                                            <field name="TEXT">翻译内容</field>
-                                          </shadow>
-                                          <block type="text_append_text" id="bkJa;}oks(p/9GW1^?Wz">
-                                            <value name="text_abc">
-                                              <shadow type="text" id="E6K6g:q2L;-Zw1P)86IA">
-                                                <field name="TEXT">翻译结果:</field>
-                                              </shadow>
-                                            </value>
-                                            <value name="append_text">
-                                              <shadow type="text" id="2Jk])!V$R$Iks}61kS#j">
-                                                <field name="TEXT">def</field>
-                                              </shadow>
-                                              <block type="variables_get" id="K|W+F2$+sI3{HS`Sf@cb">
+                                        <statement name="DO0">
+                                          <block type="esp32_main_controller_time_timer_clear" id="r7L!`,6=cT1uzUx,7S(.">
+                                            <next>
+                                              <block type="variables_set" id="!eOK8`^|^v%R3q8,9u07">
                                                 <field name="VAR">translation_data</field>
+                                                <value name="VALUE">
+                                                  <shadow type="math_number" id="w?LFeiEPsKZ)*QF_`#z2">
+                                                    <field name="NUM">0</field>
+                                                  </shadow>
+                                                  <block type="text" id="B}Vm(=D_5Zklel/K`4IJ">
+                                                    <field name="TEXT">识别失败</field>
+                                                  </block>
+                                                </value>
                                               </block>
-                                            </value>
-                                          </block>
-                                        </value>
-                                        <value name="COLOR">
-                                          <block type="lcd_set_color" id="#al#HsJyq^{)s-.+Nx-h">
-                                            <field name="COLOR">#33cc00</field>
+                                            </next>
                                           </block>
-                                        </value>
-                                        <value name="Scale">
-                                          <shadow type="math_number" id="T#K_;)GQ-mLC}-~V.V%c">
-                                            <field name="NUM">1</field>
-                                          </shadow>
-                                        </value>
+                                        </statement>
                                       </block>
                                     </next>
                                   </block>
-                                </statement>
-                                <next>
-                                  <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_">
-                                    <field name="varitem">canvas</field>
-                                  </block>
                                 </next>
                               </block>
-                            </next>
-                          </block>
-                        </statement>
-                      </block>
-                    </next>
-                  </block>
-                </next>
-              </block>
-            </next>
-          </block>
-        </next>
-      </block>
-    </next>
-  </block>
-  <block type="procedures_defnoreturn" id="MdO0;x:sGHz$S(A{|%pN" x="950" y="579">
-    <field name="NAME">扫码联网</field>
-    <statement name="STACK">
-      <block type="controls_if" id="QFmk|4Cw6}n21!nrke#y">
-        <mutation else="1"></mutation>
-        <value name="IF0">
-          <block type="esp32_main_controller_get_wifi_connection_status" id="(x)B:OwYh|EpoS,iU~y2"></block>
-        </value>
-        <statement name="ELSE">
-          <block type="variables_set" id="2GkC(H8?w!`rDB?Bx?J=">
-            <field name="VAR">识别结果</field>
-            <value name="VALUE">
-              <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
-                <field name="NUM">0</field>
-              </shadow>
-              <block type="text" id="Slp_:m=z,Hklsa)s{@PY">
-                <field name="TEXT"></field>
-              </block>
-            </value>
-            <next>
-              <block type="controls_repeat_forever" id=":LF5=[ApbR;GVmzmh|`~">
-                <statement name="DO">
-                  <block type="controls_if" id="(%Lc=pe(bSVHpTsYm?/{">
-                    <mutation elseif="1"></mutation>
-                    <value name="IF0">
-                      <block type="logic_compare" id="t`Fs.OucEz)@5eXC$5J*">
-                        <field name="OP">EQ</field>
-                        <value name="B">
-                          <block type="text" id="x#U|#$aY5?0E=pc^Ux[G">
-                            <field name="TEXT">扫码联网</field>
-                          </block>
-                        </value>
-                      </block>
-                    </value>
-                    <statement name="DO0">
-                      <block type="variables_set" id="Cu;$;(2=5xDCN0X_`V)3">
-                        <field name="VAR">canvas</field>
-                        <value name="VALUE">
-                          <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
-                            <field name="NUM">0</field>
-                          </shadow>
-                          <block type="ai_camera_snapshot" id="=1}#3hbmJ?he_09~HeDn"></block>
-                        </value>
-                        <next>
-                          <block type="variables_set" id="#rZEhIT(h!ixt0TY8k#$">
-                            <field name="VAR">qrCode</field>
-                            <value name="VALUE">
-                              <shadow type="math_number" id="ymMA[a~?0W9-vqU[`H3_">
-                                <field name="NUM">0</field>
-                              </shadow>
-                              <block type="ai_vision_find_qrcode" id="XR1FTyBZ~BfT3B^h?2Xw">
-                                <field name="varitem">canvas</field>
-                              </block>
-                            </value>
-                            <next>
-                              <block type="ai_lcd_draw_rectangle" id="XI5$[-#i^sfT(Anxj[[I">
-                                <field name="varitem">canvas</field>
-                                <field name="rect_type">fillrect</field>
+                            </statement>
+                            <statement name="ELSE">
+                              <block type="ai_lcd_textcarvas" id="S]@h:~^LBrb6:]XCUVB?">
                                 <value name="POSA">
-                                  <block type="lcd_set_position" id="XHp~TJ9.ZOoO3Bp.CRPH">
+                                  <block type="lcd_set_position" id="kiGc2]SF!1#*}!@a2wmi">
                                     <value name="POSX">
-                                      <shadow type="math_number" id="~0P_+`}ChKF6K5#/3_?[">
+                                      <shadow type="math_number" id="3JroQ70Tqnu.+WWwzX9q">
                                         <field name="NUM">0</field>
                                       </shadow>
                                     </value>
                                     <value name="POSY">
-                                      <shadow type="math_number" id="8*Fi]9hQE^]ta:+AGSq#">
+                                      <shadow type="math_number" id="5^}rBOOhByfKAP;40w:U">
                                         <field name="NUM">0</field>
                                       </shadow>
                                     </value>
                                   </block>
                                 </value>
-                                <value name="POSB">
-                                  <block type="lcd_set_width_height" id="_:HI_$5=X6gCu8zg?]].">
-                                    <value name="WIDTH">
-                                      <shadow type="math_number" id="LxbbW3:5h`0FA=Q+a6,-">
-                                        <field name="NUM">320</field>
+                                <value name="CONTENT">
+                                  <shadow type="text" id="2u!$~}meU;FLd{wJdnkW">
+                                    <field name="TEXT">翻译内容</field>
+                                  </shadow>
+                                  <block type="text_append_text" id="uo{t%2i8K~2=3WU4RSf[">
+                                    <value name="text_abc">
+                                      <shadow type="text" id="?E~?023;xRGLL^!@ew58">
+                                        <field name="TEXT">翻译内容:</field>
                                       </shadow>
                                     </value>
-                                    <value name="HEIGHT">
-                                      <shadow type="math_number" id=")Q|6ozkgm|%Oy@(w+njY">
-                                        <field name="NUM">20</field>
+                                    <value name="append_text">
+                                      <shadow type="text" id="2Jk])!V$R$Iks}61kS#j">
+                                        <field name="TEXT">def</field>
                                       </shadow>
+                                      <block type="variables_get" id="j5z51kPmF_0Bt|H:Q=!T">
+                                        <field name="VAR">translation_content</field>
+                                      </block>
                                     </value>
                                   </block>
                                 </value>
                                 <value name="COLOR">
-                                  <block type="lcd_set_color" id="f]`#WIQ0g.nhp)v_f+ra">
-                                    <field name="COLOR">#000000</field>
+                                  <block type="lcd_set_color" id="Bw]mE|SCf=P{w{.01I}7">
+                                    <field name="COLOR">#ff0000</field>
                                   </block>
                                 </value>
+                                <value name="Scale">
+                                  <shadow type="math_number" id="TN..c_#1)v%oqRXb`qg$">
+                                    <field name="NUM">1</field>
+                                  </shadow>
+                                </value>
                                 <next>
-                                  <block type="ai_lcd_textcarvas" id="o?Xee3@7Z7d1shgt=.~!">
-                                    <field name="varitem">canvas</field>
+                                  <block type="ai_lcd_textcarvas" id="h=D7SFh?|,Y-LlaYWR$5">
                                     <value name="POSA">
-                                      <block type="lcd_set_position" id="%*a8qVFhJ[_J};+GRxvP">
+                                      <block type="lcd_set_position" id="tQkwQEVEnq.mCG%K(P;$">
                                         <value name="POSX">
-                                          <shadow type="math_number" id="45#Ks%g9].:V;gyLe@7v">
-                                            <field name="NUM">50</field>
+                                          <shadow type="math_number" id="!zmZkjWg{oAjK#}Ju^/X">
+                                            <field name="NUM">0</field>
                                           </shadow>
                                         </value>
                                         <value name="POSY">
-                                          <shadow type="math_number" id=";8`kH5D%t*Eoa{SFW-7U">
-                                            <field name="NUM">0</field>
+                                          <shadow type="math_number" id="@!OgB,-/*%IDBH{]2!-7">
+                                            <field name="NUM">40</field>
                                           </shadow>
                                         </value>
                                       </block>
                                     </value>
                                     <value name="CONTENT">
-                                      <shadow type="text" id="Yx!}/WC#[6zWWcyEp^k4">
-                                        <field name="TEXT">请扫描平台Wi-Fi二维码联网</field>
+                                      <shadow type="text" id="2u!$~}meU;FLd{wJdnkW">
+                                        <field name="TEXT">翻译内容</field>
                                       </shadow>
+                                      <block type="text_append_text" id="bkJa;}oks(p/9GW1^?Wz">
+                                        <value name="text_abc">
+                                          <shadow type="text" id="E6K6g:q2L;-Zw1P)86IA">
+                                            <field name="TEXT">翻译结果:</field>
+                                          </shadow>
+                                        </value>
+                                        <value name="append_text">
+                                          <shadow type="text" id="2Jk])!V$R$Iks}61kS#j">
+                                            <field name="TEXT">def</field>
+                                          </shadow>
+                                          <block type="variables_get" id="K|W+F2$+sI3{HS`Sf@cb">
+                                            <field name="VAR">translation_data</field>
+                                          </block>
+                                        </value>
+                                      </block>
                                     </value>
                                     <value name="COLOR">
-                                      <block type="lcd_set_color" id="iLjzPIF%lYI;?KBQ#/[$">
-                                        <field name="COLOR">#ffffff</field>
+                                      <block type="lcd_set_color" id="#al#HsJyq^{)s-.+Nx-h">
+                                        <field name="COLOR">#33cc00</field>
                                       </block>
                                     </value>
                                     <value name="Scale">
-                                      <shadow type="math_number" id="nqzOJydkF/($.[m$H6Pv">
+                                      <shadow type="math_number" id="T#K_;)GQ-mLC}-~V.V%c">
                                         <field name="NUM">1</field>
                                       </shadow>
                                     </value>
-                                    <next>
-                                      <block type="controls_forEach" id="-:L$lT0zA7mfToS/t,.F">
-                                        <field name="VAR">i</field>
-                                        <value name="LIST">
-                                          <block type="variables_get" id="-{c41z,w]Y#[QB8KCcVz">
-                                            <field name="VAR">qrCode</field>
-                                          </block>
-                                        </value>
-                                        <statement name="DO">
-                                          <block type="ai_lcd_textcarvas" id="8a{z9sANpfx,m-E^?[ws">
-                                            <field name="varitem">canvas</field>
-                                            <value name="POSA">
-                                              <block type="lcd_set_position" id="ioxr$KyBF@y^:cSUW[b)">
-                                                <value name="POSX">
-                                                  <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                    <field name="NUM">0</field>
-                                                  </shadow>
-                                                  <block type="ai_vision_qrcode_get_info" id="+JV^_A]p9mWwj4XMccW=">
-                                                    <field name="varitem">i</field>
-                                                    <field name="get_info">x</field>
-                                                  </block>
-                                                </value>
-                                                <value name="POSY">
-                                                  <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                    <field name="NUM">0</field>
-                                                  </shadow>
-                                                  <block type="ai_vision_qrcode_get_info" id="3@C4V}bZ+$Zq%4rv{VSc">
-                                                    <field name="varitem">i</field>
-                                                    <field name="get_info">y</field>
-                                                  </block>
-                                                </value>
-                                              </block>
-                                            </value>
-                                            <value name="CONTENT">
-                                              <shadow type="text" id="!4*_1/3)tAg3ygOM.|YW">
-                                                <field name="TEXT"></field>
-                                              </shadow>
-                                              <block type="ai_vision_qrcode_get_info" id="u}v%Q4HoI0Jx3=a~f`{8">
-                                                <field name="varitem">i</field>
-                                                <field name="get_info">payload</field>
-                                              </block>
-                                            </value>
-                                            <value name="COLOR">
-                                              <block type="lcd_set_color" id="0uqSLJgr-ah=.H6F0Zg*">
-                                                <field name="COLOR">#ff0000</field>
-                                              </block>
-                                            </value>
-                                            <value name="Scale">
-                                              <shadow type="math_number" id="$Eq^l2JOL,XJt3X@v/W2">
-                                                <field name="NUM">1</field>
-                                              </shadow>
-                                            </value>
-                                            <next>
-                                              <block type="ai_lcd_draw_rectangle" id="qZ)[-$CRx*WU%R5F-C(b">
-                                                <field name="varitem">canvas</field>
-                                                <field name="rect_type">rect</field>
-                                                <value name="POSA">
-                                                  <block type="lcd_set_position" id="%{ni*3`X:MOwcP+$x]Ce" inline="false">
-                                                    <value name="POSX">
-                                                      <shadow type="math_number" id=":{s,U4pDy7MmNdkzh[db">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="d`=/VVl{9bDr(rQsN=X9">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">x</field>
-                                                      </block>
-                                                    </value>
-                                                    <value name="POSY">
-                                                      <shadow type="math_number" id="{4h;Hl}{5HM,4vA;q#K#">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="w3FPKp`({0i%TOSAkfx|">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">y</field>
-                                                      </block>
-                                                    </value>
-                                                  </block>
-                                                </value>
-                                                <value name="POSB">
-                                                  <block type="lcd_set_width_height" id="w_%[j;O|%aA;,b/TN?OG" inline="false">
-                                                    <value name="WIDTH">
-                                                      <shadow type="math_number" id="k(B:~2AOLJV~zLnbe)89">
-                                                        <field name="NUM">320</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id=".|m1N_[}die?dg8`TdGY">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">w1</field>
-                                                      </block>
-                                                    </value>
-                                                    <value name="HEIGHT">
-                                                      <shadow type="math_number" id="c)u)Q:9p$d5b5%4Lqa9$">
-                                                        <field name="NUM">240</field>
-                                                      </shadow>
-                                                      <block type="ai_vision_qrcode_get_info" id="$~EzG-QSb%]fHlU@Z+S2">
-                                                        <field name="varitem">i</field>
-                                                        <field name="get_info">h2</field>
-                                                      </block>
-                                                    </value>
-                                                  </block>
-                                                </value>
-                                                <value name="COLOR">
-                                                  <block type="lcd_set_color" id="8]sijmt:%XtQlj}tgIas">
-                                                    <field name="COLOR">#ff0000</field>
-                                                  </block>
-                                                </value>
-                                                <next>
-                                                  <block type="variables_set" id="KVP}T[SMJJey84#dVw0T">
-                                                    <field name="VAR">识别结果</field>
-                                                    <value name="VALUE">
-                                                      <shadow type="math_number" id="~c`T-qSJp-={%Hp!.bS)">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="text_split_string_by_delimiter" id="LTbE[`1q4E(OeDv;,H=^">
-                                                        <field name="delimiter">;</field>
-                                                        <value name="string_input">
-                                                          <block type="ai_vision_qrcode_get_info" id="t-M^Cy5b#OLC+;)kF^N7">
-                                                            <field name="varitem">i</field>
-                                                            <field name="get_info">payload</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                  </block>
-                                                </next>
-                                              </block>
-                                            </next>
-                                          </block>
-                                        </statement>
-                                        <next>
-                                          <block type="ai_lcd_showcarvas_set_display" id="_+g?Q4R`)mrc!;|8w=Y~">
-                                            <field name="varitem">canvas</field>
-                                            <next>
-                                              <block type="controls_if" id="u4,JM+iCSC81$RBCpu5C">
-                                                <value name="IF0">
-                                                  <block type="logic_compare" id="Ah]X%z9GHc.{/Wc6W2F#">
-                                                    <field name="OP">NEQ</field>
-                                                    <value name="A">
-                                                      <block type="variables_get" id="Cg#*ndDK+W9_!H,48}zu">
-                                                        <field name="VAR">识别结果</field>
-                                                      </block>
-                                                    </value>
-                                                    <value name="B">
-                                                      <block type="text" id="Ztob3cliQa=zb*$!QQsu">
-                                                        <field name="TEXT"></field>
-                                                      </block>
-                                                    </value>
-                                                  </block>
-                                                </value>
-                                                <statement name="DO0">
-                                                  <block type="variables_set" id="_(vhjruUh#kTA56w|d3d">
-                                                    <field name="VAR">SSID</field>
-                                                    <value name="VALUE">
-                                                      <shadow type="math_number" id="3K*LFc1ljS];!d#%F-4`">
-                                                        <field name="NUM">0</field>
-                                                      </shadow>
-                                                      <block type="text_getSubstring" id="HA}:BUUN/Lh]02:)p?t$">
-                                                        <mutation at1="true" at2="false"></mutation>
-                                                        <field name="WHERE1">FROM_START</field>
-                                                        <field name="WHERE2">LAST</field>
-                                                        <value name="STRING">
-                                                          <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                            <field name="TEXT">abc</field>
-                                                          </shadow>
-                                                          <block type="list_order_item" id="5th9:-d^^}a|jY6xj(wn">
-                                                            <field name="list_order">[</field>
-                                                            <value name="list_name">
-                                                              <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                <field name="TEXT"></field>
-                                                              </shadow>
-                                                              <block type="variables_get" id="2!t]1Q6[YvWk.Qxvj#L|">
-                                                                <field name="VAR">识别结果</field>
-                                                              </block>
-                                                            </value>
-                                                            <value name="list_order_item">
-                                                              <shadow type="math_number" id="U-6}MxOaKjYG*H#Oi{q[">
-                                                                <field name="NUM">0</field>
-                                                              </shadow>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                        <value name="AT1">
-                                                          <block type="math_number" id="Ay7P[`wsl5wzWu]e7H!k">
-                                                            <field name="NUM">5</field>
-                                                          </block>
-                                                        </value>
-                                                      </block>
-                                                    </value>
-                                                    <next>
-                                                      <block type="variables_set" id="BN[#=^R.N=8{4!T?0#qC">
-                                                        <field name="VAR">PASS</field>
-                                                        <value name="VALUE">
-                                                          <shadow type="math_number" id="TE/Z6~Io-j^00#j83r.6">
-                                                            <field name="NUM">0</field>
-                                                          </shadow>
-                                                          <block type="text_getSubstring" id="UL=9DP#qoN}.QG@*FHU!">
-                                                            <mutation at1="true" at2="false"></mutation>
-                                                            <field name="WHERE1">FROM_START</field>
-                                                            <field name="WHERE2">LAST</field>
-                                                            <value name="STRING">
-                                                              <shadow type="text" id="@E%p@FmN[ioed_)`3-hh">
-                                                                <field name="TEXT">abc</field>
-                                                              </shadow>
-                                                              <block type="list_order_item" id="_2**VKdEi@)N9l;p4LM~">
-                                                                <field name="list_order">[</field>
-                                                                <value name="list_name">
-                                                                  <shadow type="text_list" id=")%{okxbD{Wt^eD@~NxWZ">
-                                                                    <field name="TEXT"></field>
-                                                                  </shadow>
-                                                                  <block type="variables_get" id="~qdfyZP,~jtF#*T1+;sY">
-                                                                    <field name="VAR">识别结果</field>
-                                                                  </block>
-                                                                </value>
-                                                                <value name="list_order_item">
-                                                                  <shadow type="math_number" id="U-kC|FfTvDa%2qTHC},N">
-                                                                    <field name="NUM">1</field>
-                                                                  </shadow>
-                                                                </value>
-                                                              </block>
-                                                            </value>
-                                                            <value name="AT1">
-                                                              <block type="math_number" id="cS/pZonr0iyWq3|Wp;#~">
-                                                                <field name="NUM">5</field>
-                                                              </block>
-                                                            </value>
-                                                          </block>
-                                                        </value>
-                                                        <next>
-                                                          <block type="esp32_main_controller_wifi_connect_internet" id="=jnPdoUl*ACAi-85g}J{">
-                                                            <value name="ssid">
-                                                              <shadow type="text" id="([(K4/ZxJESaAK;i9lLA">
-                                                                <field name="TEXT">ENTER_YOUR_SSID</field>
-                                                              </shadow>
-                                                              <block type="variables_get" id="1LX-)-jH},^9TXj).4c!">
-                                                                <field name="VAR">SSID</field>
-                                                              </block>
-                                                            </value>
-                                                            <value name="password">
-                                                              <shadow type="text" id="[I.[L1]LZv$^U{xAXTxT">
-                                                                <field name="TEXT">ENTER_YOUR_PASSWORD</field>
-                                                              </shadow>
-                                                              <block type="variables_get" id="xPj$i.?ita46~OsGowZU">
-                                                                <field name="VAR">PASS</field>
-                                                              </block>
-                                                            </value>
-                                                            <next>
-                                                              <block type="controls_if" id="?[+@RI,Y^+j%?Ao;M%B;">
-                                                                <mutation else="1"></mutation>
-                                                                <value name="IF0">
-                                                                  <block type="esp32_main_controller_get_wifi_connection_status" id="]c2?qP})|]EfvYFEQROi"></block>
-                                                                </value>
-                                                                <next>
-                                                                  <block type="variables_set" id="P+,6h[)bpFd;~gF3F*|)">
-                                                                    <field name="VAR">识别结果</field>
-                                                                    <value name="VALUE">
-                                                                      <shadow type="math_number" id="+ZY$%3S?9_fayoksWjG:">
-                                                                        <field name="NUM">0</field>
-                                                                      </shadow>
-                                                                      <block type="text" id="DD1$OM5bjJtDC6eh2mn5">
-                                                                        <field name="TEXT"></field>
-                                                                      </block>
-                                                                    </value>
-                                                                  </block>
-                                                                </next>
-                                                              </block>
-                                                            </next>
-                                                          </block>
-                                                        </next>
-                                                      </block>
-                                                    </next>
-                                                  </block>
-                                                </statement>
-                                              </block>
-                                            </next>
-                                          </block>
-                                        </next>
-                                      </block>
-                                    </next>
                                   </block>
                                 </next>
                               </block>
+                            </statement>
+                            <next>
+                              <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_"></block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </statement>
-                    <value name="IF1">
-                      <block type="logic_compare" id="L%xi)sGkTLkoTNk47eJf">
-                        <field name="OP">EQ</field>
-                        <value name="B">
-                          <block type="text" id="rPI(=(sLw[Bhi/Qv#xnt">
-                            <field name="TEXT"></field>
-                          </block>
-                        </value>
-                      </block>
-                    </value>
-                    <statement name="DO1">
-                      <block type="controls_flow_statements" id="HWi$%Sz4Oq[rHo#*l-KW">
-                        <field name="FLOW">BREAK</field>
-                      </block>
-                    </statement>
                   </block>
-                </statement>
+                </next>
               </block>
             </next>
           </block>
-        </statement>
+        </next>
       </block>
-    </statement>
+    </next>
   </block>
 </xml>

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff