|
@@ -1,186 +1,174 @@
|
|
<xml xmlns="http://www.w3.org/1999/xhtml" type="IoT">
|
|
<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>
|
|
<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>
|
|
<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">
|
|
<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>
|
|
<field name="NUM">0</field>
|
|
</shadow>
|
|
</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>
|
|
</block>
|
|
</value>
|
|
</value>
|
|
<next>
|
|
<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">
|
|
<value name="VALUE">
|
|
<shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
|
|
<shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
|
|
<field name="NUM">0</field>
|
|
<field name="NUM">0</field>
|
|
</shadow>
|
|
</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>
|
|
</block>
|
|
</value>
|
|
</value>
|
|
<next>
|
|
<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>
|
|
<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>
|
|
</block>
|
|
</statement>
|
|
</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>
|
|
<field name="OP">EQ</field>
|
|
<value name="A">
|
|
<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>
|
|
<field name="VAR">state</field>
|
|
</block>
|
|
</block>
|
|
</value>
|
|
</value>
|
|
<value name="B">
|
|
<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>
|
|
</block>
|
|
</value>
|
|
</value>
|
|
</block>
|
|
</block>
|
|
</value>
|
|
</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">
|
|
<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>
|
|
</block>
|
|
</value>
|
|
</value>
|
|
<value name="B">
|
|
<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>
|
|
</block>
|
|
</value>
|
|
</value>
|
|
</block>
|
|
</block>
|
|
</value>
|
|
</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>
|
|
</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>
|
|
<field name="VAR">state</field>
|
|
</block>
|
|
</block>
|
|
</value>
|
|
</value>
|
|
- <value name="B">
|
|
|
|
- <block type="text" id="Ul6xnE,|!`v69G~fH9YH">
|
|
|
|
- <field name="TEXT">識別成功</field>
|
|
|
|
- </block>
|
|
|
|
- </value>
|
|
|
|
</block>
|
|
</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>
|
|
</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>
|
|
</block>
|
|
- </next>
|
|
|
|
|
|
+ </value>
|
|
</block>
|
|
</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>
|
|
</next>
|
|
</block>
|
|
</block>
|
|
</next>
|
|
</next>
|
|
</block>
|
|
</block>
|
|
- </statement>
|
|
|
|
|
|
+ </next>
|
|
</block>
|
|
</block>
|
|
- </next>
|
|
|
|
|
|
+ </statement>
|
|
</block>
|
|
</block>
|
|
</next>
|
|
</next>
|
|
</block>
|
|
</block>
|
|
@@ -243,7 +231,6 @@
|
|
</statement>
|
|
</statement>
|
|
<next>
|
|
<next>
|
|
<block type="ai_lcd_draw_rectangle" id="2iehsGO.zwB^c{_{OZ8@">
|
|
<block type="ai_lcd_draw_rectangle" id="2iehsGO.zwB^c{_{OZ8@">
|
|
- <field name="varitem">canvas</field>
|
|
|
|
<field name="rect_type">fillrect</field>
|
|
<field name="rect_type">fillrect</field>
|
|
<value name="POSA">
|
|
<value name="POSA">
|
|
<block type="lcd_set_position" id="(+=Ft(vS@v!+,.{AT$pd">
|
|
<block type="lcd_set_position" id="(+=Ft(vS@v!+,.{AT$pd">
|
|
@@ -280,7 +267,6 @@
|
|
</value>
|
|
</value>
|
|
<next>
|
|
<next>
|
|
<block type="ai_lcd_textcarvas" id="0d97{]^]T-PT%Yx~t8C)">
|
|
<block type="ai_lcd_textcarvas" id="0d97{]^]T-PT%Yx~t8C)">
|
|
- <field name="varitem">canvas</field>
|
|
|
|
<value name="POSA">
|
|
<value name="POSA">
|
|
<block type="lcd_set_position" id="%i-XLa[0WKY.dSxi#3@$">
|
|
<block type="lcd_set_position" id="%i-XLa[0WKY.dSxi#3@$">
|
|
<value name="POSX">
|
|
<value name="POSX">
|
|
@@ -347,538 +333,10 @@
|
|
</block>
|
|
</block>
|
|
</statement>
|
|
</statement>
|
|
</block>
|
|
</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">
|
|
<statement name="STACK">
|
|
<block type="ai_lcd_draw_rectangle" id="50fMF8Sg0RRWHhRr~]TF">
|
|
<block type="ai_lcd_draw_rectangle" id="50fMF8Sg0RRWHhRr~]TF">
|
|
- <field name="varitem">canvas</field>
|
|
|
|
<field name="rect_type">fillrect</field>
|
|
<field name="rect_type">fillrect</field>
|
|
<value name="POSA">
|
|
<value name="POSA">
|
|
<block type="lcd_set_position" id="66)alW2{8_qfDBoxI,Mf">
|
|
<block type="lcd_set_position" id="66)alW2{8_qfDBoxI,Mf">
|
|
@@ -915,7 +373,6 @@
|
|
</value>
|
|
</value>
|
|
<next>
|
|
<next>
|
|
<block type="ai_lcd_textcarvas" id="*gfx%rj@XV#LCtZja$NR">
|
|
<block type="ai_lcd_textcarvas" id="*gfx%rj@XV#LCtZja$NR">
|
|
- <field name="varitem">canvas</field>
|
|
|
|
<value name="POSA">
|
|
<value name="POSA">
|
|
<block type="lcd_set_position" id="k=2V|l|~aC*{_6RY8^wh">
|
|
<block type="lcd_set_position" id="k=2V|l|~aC*{_6RY8^wh">
|
|
<value name="POSX">
|
|
<value name="POSX">
|
|
@@ -962,7 +419,6 @@
|
|
</value>
|
|
</value>
|
|
<next>
|
|
<next>
|
|
<block type="ai_lcd_textcarvas" id="RogS}SjaN^mRk,=Drx%Y">
|
|
<block type="ai_lcd_textcarvas" id="RogS}SjaN^mRk,=Drx%Y">
|
|
- <field name="varitem">canvas</field>
|
|
|
|
<value name="POSA">
|
|
<value name="POSA">
|
|
<block type="lcd_set_position" id="/R]F|=d.Jovq0#ferlMP">
|
|
<block type="lcd_set_position" id="/R]F|=d.Jovq0#ferlMP">
|
|
<value name="POSX">
|
|
<value name="POSX">
|
|
@@ -1009,7 +465,6 @@
|
|
</value>
|
|
</value>
|
|
<next>
|
|
<next>
|
|
<block type="ai_lcd_textcarvas" id="p8N=5k{[d[RE{Dnr0Rm-">
|
|
<block type="ai_lcd_textcarvas" id="p8N=5k{[d[RE{Dnr0Rm-">
|
|
- <field name="varitem">canvas</field>
|
|
|
|
<value name="POSA">
|
|
<value name="POSA">
|
|
<block type="lcd_set_position" id="UO?g@2/{n~4;e.*$lmCn">
|
|
<block type="lcd_set_position" id="UO?g@2/{n~4;e.*$lmCn">
|
|
<value name="POSX">
|
|
<value name="POSX">
|
|
@@ -1056,7 +511,6 @@
|
|
</value>
|
|
</value>
|
|
<next>
|
|
<next>
|
|
<block type="ai_lcd_textcarvas" id="}$uttSFlS^jK9JFz5)b3">
|
|
<block type="ai_lcd_textcarvas" id="}$uttSFlS^jK9JFz5)b3">
|
|
- <field name="varitem">canvas</field>
|
|
|
|
<value name="POSA">
|
|
<value name="POSA">
|
|
<block type="lcd_set_position" id="e{nyOvO(SF)$Bf!y4A@J">
|
|
<block type="lcd_set_position" id="e{nyOvO(SF)$Bf!y4A@J">
|
|
<value name="POSX">
|
|
<value name="POSX">
|
|
@@ -1112,6 +566,38 @@
|
|
</block>
|
|
</block>
|
|
</statement>
|
|
</statement>
|
|
</block>
|
|
</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">
|
|
<block type="procedures_defnoreturn" id="x]!H1Z%kgZ(30,w!}KJ!" x="1256" y="832">
|
|
<mutation>
|
|
<mutation>
|
|
<arg name="failure_state"></arg>
|
|
<arg name="failure_state"></arg>
|
|
@@ -1119,7 +605,6 @@
|
|
<field name="NAME">emotion_recognize_failure</field>
|
|
<field name="NAME">emotion_recognize_failure</field>
|
|
<statement name="STACK">
|
|
<statement name="STACK">
|
|
<block type="ai_lcd_draw_rectangle" id="2r!);7{w}G[IH3s+xVAz">
|
|
<block type="ai_lcd_draw_rectangle" id="2r!);7{w}G[IH3s+xVAz">
|
|
- <field name="varitem">canvas</field>
|
|
|
|
<field name="rect_type">fillrect</field>
|
|
<field name="rect_type">fillrect</field>
|
|
<value name="POSA">
|
|
<value name="POSA">
|
|
<block type="lcd_set_position" id="Z7!wB~gNrCB}?V,?Y0{Z">
|
|
<block type="lcd_set_position" id="Z7!wB~gNrCB}?V,?Y0{Z">
|
|
@@ -1156,7 +641,6 @@
|
|
</value>
|
|
</value>
|
|
<next>
|
|
<next>
|
|
<block type="ai_lcd_textcarvas" id="^UnlEbIuQlp(Z.DK{3)O">
|
|
<block type="ai_lcd_textcarvas" id="^UnlEbIuQlp(Z.DK{3)O">
|
|
- <field name="varitem">canvas</field>
|
|
|
|
<value name="POSA">
|
|
<value name="POSA">
|
|
<block type="lcd_set_position" id="(r`|=DL5ETL-C-SFlY*a">
|
|
<block type="lcd_set_position" id="(r`|=DL5ETL-C-SFlY*a">
|
|
<value name="POSX">
|
|
<value name="POSX">
|