情绪识别.xml 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680
  1. <xml xmlns="http://www.w3.org/1999/xhtml" type="IoT">
  2. <block type="V831_code_scanning_network" id="7tc^MDXEMLxjy|^GKvP*" x="14" y="84">
  3. <next>
  4. <block type="variables_set" id=";su3LI/ZZns%NLWA*d//">
  5. <field name="VAR">img_src</field>
  6. <value name="VALUE">
  7. <shadow type="math_number" id="!^ZX}~l$sF;f-/DQu-5r">
  8. <field name="NUM">0</field>
  9. </shadow>
  10. <block type="text" id="oT`DE#=w.I#oC9)N1=;l">
  11. <field name="TEXT">/root/user/img/img_handwritten_text.jpg</field>
  12. </block>
  13. </value>
  14. <next>
  15. <block type="variables_set" id="V2+_z5Oc#{g^z?)?2rJ)">
  16. <field name="VAR">state</field>
  17. <value name="VALUE">
  18. <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
  19. <field name="NUM">0</field>
  20. </shadow>
  21. <block type="text" id="Tf!/$j7D(n#2pDV[_~=C">
  22. <field name="TEXT"></field>
  23. </block>
  24. </value>
  25. <next>
  26. <block type="variables_set" id="3._PEwALc@DYzol,7:tf">
  27. <field name="VAR">result</field>
  28. <value name="VALUE">
  29. <shadow type="math_number" id=";$j$R{vGDSL{@o!SHtdl">
  30. <field name="NUM">0</field>
  31. </shadow>
  32. <block type="text" id="ft!+xiC,t+/QX.|GP2_Z">
  33. <field name="TEXT">N/A</field>
  34. </block>
  35. </value>
  36. <next>
  37. <block type="controls_repeat_forever" id="%^pGg[gavsJ@[AZTJJvC">
  38. <statement name="DO">
  39. <block type="ai_camera_snapshot" id="tW~oxwDyN#kOaZRGQ:kf">
  40. <next>
  41. <block type="ai_v831_button_read_released" id="$x~gT)UEvgf1df~{m4l@">
  42. <field name="button_type">C</field>
  43. <statement name="input">
  44. <block type="procedures_callnoreturn" id="is!9:|n|f}8*ZBqLbCdN">
  45. <mutation name="take_picture"></mutation>
  46. </block>
  47. </statement>
  48. <next>
  49. <block type="controls_if" id="}FFONk4`/!#_CKBXv17*">
  50. <mutation elseif="2"></mutation>
  51. <value name="IF0">
  52. <block type="logic_compare" id="f1xU+2=]=FNGYhieSS*%">
  53. <field name="OP">EQ</field>
  54. <value name="A">
  55. <block type="variables_get" id="Dh{y,K1W4kc5tB0L#1gJ">
  56. <field name="VAR">state</field>
  57. </block>
  58. </value>
  59. <value name="B">
  60. <block type="text" id="IJZP|+GVe^;FRk*l2|yU">
  61. <field name="TEXT">拍照發送</field>
  62. </block>
  63. </value>
  64. </block>
  65. </value>
  66. <statement name="DO0">
  67. <block type="serial_comm_print" id="NW)3uBxinwj6G~inSC/l">
  68. <value name="serial_comm_input">
  69. <shadow type="text" id="+I$Gzw$nc~`e[ST`ryA1">
  70. <field name="TEXT">Hello World!</field>
  71. </shadow>
  72. <block type="variables_get" id="u0N3V.p$Q?VfgJ8jTnv3">
  73. <field name="VAR">state</field>
  74. </block>
  75. </value>
  76. <next>
  77. <block type="procedures_callnoreturn" id="AoiAX|3Euo:EE,exw=Ea">
  78. <mutation name="send_picture"></mutation>
  79. </block>
  80. </next>
  81. </block>
  82. </statement>
  83. <value name="IF1">
  84. <block type="logic_operation" id="Yg8.n9r$]av:nHp}/ice">
  85. <field name="OP">OR</field>
  86. <value name="A">
  87. <block type="logic_compare" id="0sGhFELIqJHB+.b.DU#Q">
  88. <field name="OP">EQ</field>
  89. <value name="A">
  90. <block type="variables_get" id="F$^+m*Xi^eH%kvs(u(L*">
  91. <field name="VAR">state</field>
  92. </block>
  93. </value>
  94. <value name="B">
  95. <block type="text" id="`~spWQ_qwGn9frDk^x=X">
  96. <field name="TEXT">識別超時</field>
  97. </block>
  98. </value>
  99. </block>
  100. </value>
  101. <value name="B">
  102. <block type="logic_compare" id="^}|d~y?T$/Y$UC~E1jO=">
  103. <field name="OP">EQ</field>
  104. <value name="A">
  105. <block type="variables_get" id="[1bh_ZFeb6P^$!8O:RpJ">
  106. <field name="VAR">state</field>
  107. </block>
  108. </value>
  109. <value name="B">
  110. <block type="text" id="JUUM#KbJJMR~Q|D(3/Ix">
  111. <field name="TEXT">識別失敗</field>
  112. </block>
  113. </value>
  114. </block>
  115. </value>
  116. </block>
  117. </value>
  118. <statement name="DO1">
  119. <block type="serial_comm_print" id="D!zyc?a)]vkL@z+SI|yg">
  120. <value name="serial_comm_input">
  121. <shadow type="text" id="+I$Gzw$nc~`e[ST`ryA1">
  122. <field name="TEXT">Hello World!</field>
  123. </shadow>
  124. <block type="variables_get" id="Pe,m`BCkAbL_4[;.4~~x">
  125. <field name="VAR">state</field>
  126. </block>
  127. </value>
  128. <next>
  129. <block type="procedures_callnoreturn" id="F~xW.({WXGu`7pj]?ri2">
  130. <mutation name="emotion_recognize_failure">
  131. <arg name="failure_state"></arg>
  132. </mutation>
  133. <value name="ARG0">
  134. <block type="variables_get" id="rx~,ps}l,v1PS)?s6tl_">
  135. <field name="VAR">state</field>
  136. </block>
  137. </value>
  138. </block>
  139. </next>
  140. </block>
  141. </statement>
  142. <value name="IF2">
  143. <block type="logic_compare" id="]RQW=^%Mt(@qq6~HJ:zC">
  144. <field name="OP">EQ</field>
  145. <value name="A">
  146. <block type="variables_get" id="P/i7f%+z1.)zhP/!-2p5">
  147. <field name="VAR">state</field>
  148. </block>
  149. </value>
  150. <value name="B">
  151. <block type="text" id="Ul6xnE,|!`v69G~fH9YH">
  152. <field name="TEXT">識別成功</field>
  153. </block>
  154. </value>
  155. </block>
  156. </value>
  157. <statement name="DO2">
  158. <block type="procedures_callnoreturn" id="IpVbwYq{wfY^ZIX,Y;aQ">
  159. <mutation name="emotion_recognize_success"></mutation>
  160. </block>
  161. </statement>
  162. <next>
  163. <block type="ai_lcd_showcarvas_set_display" id="bEE9sNGO]JzqRK6*-wD_"></block>
  164. </next>
  165. </block>
  166. </next>
  167. </block>
  168. </next>
  169. </block>
  170. </statement>
  171. </block>
  172. </next>
  173. </block>
  174. </next>
  175. </block>
  176. </next>
  177. </block>
  178. </next>
  179. </block>
  180. <block type="procedures_defnoreturn" id="IlqT_fk%T.:o}RW/b9yE" x="971" y="186">
  181. <field name="NAME">send_picture</field>
  182. <statement name="STACK">
  183. <block type="CocoRobo_try_except" id="jY;5U?!v*e)/HXJV=W5#">
  184. <statement name="TRY">
  185. <block type="ai_online_emotion_loading" id="8uU./2#DV#sM}oL})aoC">
  186. <value name="path">
  187. <shadow type="text" id="n+%*cSKpl/OEXTM@=Nfh">
  188. <field name="TEXT">/root/user/img/img_emotion.jpg</field>
  189. </shadow>
  190. <block type="variables_get" id="NS.I:h_e!M)LiiQ+J[68">
  191. <field name="VAR">img_src</field>
  192. </block>
  193. </value>
  194. <next>
  195. <block type="controls_if" id="iP5qtXJVBij;xXY+B.vA">
  196. <value name="IF0">
  197. <block type="ai_online_emotion_result" id="LbXv|/C6Fws2VzXbE#L:">
  198. <field name="emotion_type">age</field>
  199. </block>
  200. </value>
  201. <statement name="DO0">
  202. <block type="variables_set" id="Jva%R@8SG;8G}iWBi[Qw">
  203. <field name="VAR">state</field>
  204. <value name="VALUE">
  205. <shadow type="math_number" id="b-J8`[*]-j[IE..bth;W">
  206. <field name="NUM">0</field>
  207. </shadow>
  208. <block type="text" id="QCVR/Hb`.Ps:CIH2LdOt">
  209. <field name="TEXT">識別成功</field>
  210. </block>
  211. </value>
  212. </block>
  213. </statement>
  214. </block>
  215. </next>
  216. </block>
  217. </statement>
  218. <statement name="EXCEPT">
  219. <block type="variables_set" id="VYhjWpE:s-WGj;D5kF9i">
  220. <field name="VAR">state</field>
  221. <value name="VALUE">
  222. <shadow type="math_number" id="b-J8`[*]-j[IE..bth;W">
  223. <field name="NUM">0</field>
  224. </shadow>
  225. <block type="text" id="x_JUV=xaoI=*FcSxelbV">
  226. <field name="TEXT">識別成功</field>
  227. </block>
  228. </value>
  229. </block>
  230. </statement>
  231. <next>
  232. <block type="ai_lcd_draw_rectangle" id="2iehsGO.zwB^c{_{OZ8@">
  233. <field name="rect_type">fillrect</field>
  234. <value name="POSA">
  235. <block type="lcd_set_position" id="(+=Ft(vS@v!+,.{AT$pd">
  236. <value name="POSX">
  237. <shadow type="math_number" id="pGyVTGjz)#~Zfu~4zXj.">
  238. <field name="NUM">0</field>
  239. </shadow>
  240. </value>
  241. <value name="POSY">
  242. <shadow type="math_number" id="=Zp,jaqVg9X~$tDQ@Wf`">
  243. <field name="NUM">0</field>
  244. </shadow>
  245. </value>
  246. </block>
  247. </value>
  248. <value name="POSB">
  249. <block type="lcd_set_width_height" id="Rs@=}=tRM-,rTEAf0GmA">
  250. <value name="WIDTH">
  251. <shadow type="math_number" id="I$bI]wo^2UE~e_5/m;{t">
  252. <field name="NUM">320</field>
  253. </shadow>
  254. </value>
  255. <value name="HEIGHT">
  256. <shadow type="math_number" id="i5gR}jKwQ/TM=Z3^k0[6">
  257. <field name="NUM">20</field>
  258. </shadow>
  259. </value>
  260. </block>
  261. </value>
  262. <value name="COLOR">
  263. <block type="lcd_set_color" id="u@4+G=u1u=0aE#~)$LT)">
  264. <field name="COLOR">#000000</field>
  265. </block>
  266. </value>
  267. <next>
  268. <block type="ai_lcd_textcarvas" id="0d97{]^]T-PT%Yx~t8C)">
  269. <value name="POSA">
  270. <block type="lcd_set_position" id="%i-XLa[0WKY.dSxi#3@$">
  271. <value name="POSX">
  272. <shadow type="math_number" id="3N-5`y??B(cm8:OqZlKR">
  273. <field name="NUM">0</field>
  274. </shadow>
  275. </value>
  276. <value name="POSY">
  277. <shadow type="math_number" id="OfZ1;CBE!#`I}m(:HQUi">
  278. <field name="NUM">0</field>
  279. </shadow>
  280. </value>
  281. </block>
  282. </value>
  283. <value name="CONTENT">
  284. <shadow type="text" id="?Rtii;0z:v^aSu-tB9xf">
  285. <field name="TEXT">网络请求中...</field>
  286. </shadow>
  287. </value>
  288. <value name="COLOR">
  289. <block type="lcd_set_color" id="lKZMv=SVn-1]R9O]Cv/;">
  290. <field name="COLOR">#009900</field>
  291. </block>
  292. </value>
  293. <value name="Scale">
  294. <shadow type="math_number" id="k3r).s@[IeB]hV`4xf0#">
  295. <field name="NUM">1</field>
  296. </shadow>
  297. </value>
  298. <next>
  299. <block type="controls_if" id="uzSkHGJX{a$a;aW7y-bW">
  300. <value name="IF0">
  301. <block type="logic_compare" id="2;fr^=!h/khfqB:-S#ap">
  302. <field name="OP">GT</field>
  303. <value name="A">
  304. <block type="esp32_main_controller_time_timer_get_current" id="DLWo03CE(vaBPK1LcIKv"></block>
  305. </value>
  306. <value name="B">
  307. <block type="math_number" id="b!;p):sh+M5kXlM5pn(o">
  308. <field name="NUM">10</field>
  309. </block>
  310. </value>
  311. </block>
  312. </value>
  313. <statement name="DO0">
  314. <block type="variables_set" id="|4PnU*~,Izxnk%RFu{SI">
  315. <field name="VAR">state</field>
  316. <value name="VALUE">
  317. <shadow type="math_number" id=";J7AMsSE/5h)zy=pAV+T">
  318. <field name="NUM">0</field>
  319. </shadow>
  320. <block type="text" id="TA|p}^5{6~^ZaZumT8eP">
  321. <field name="TEXT">識別超時</field>
  322. </block>
  323. </value>
  324. </block>
  325. </statement>
  326. </block>
  327. </next>
  328. </block>
  329. </next>
  330. </block>
  331. </next>
  332. </block>
  333. </statement>
  334. </block>
  335. <block type="procedures_defnoreturn" id="a~Oq0IOnSQSznY2BY[F]" x="-515" y="370">
  336. <field name="NAME">emotion_recognize_success</field>
  337. <statement name="STACK">
  338. <block type="ai_lcd_draw_rectangle" id="50fMF8Sg0RRWHhRr~]TF">
  339. <field name="rect_type">fillrect</field>
  340. <value name="POSA">
  341. <block type="lcd_set_position" id="66)alW2{8_qfDBoxI,Mf">
  342. <value name="POSX">
  343. <shadow type="math_number" id="Vc]4oMC?[oaj:j`SR3%+">
  344. <field name="NUM">0</field>
  345. </shadow>
  346. </value>
  347. <value name="POSY">
  348. <shadow type="math_number" id="i67PKQ3SnFx2I?EaYAHA">
  349. <field name="NUM">0</field>
  350. </shadow>
  351. </value>
  352. </block>
  353. </value>
  354. <value name="POSB">
  355. <block type="lcd_set_width_height" id="t4Kl]5YY2cifbAP:j3M+">
  356. <value name="WIDTH">
  357. <shadow type="math_number" id="(8Pyf93Y2N~wBtRv;gl4">
  358. <field name="NUM">320</field>
  359. </shadow>
  360. </value>
  361. <value name="HEIGHT">
  362. <shadow type="math_number" id="/48bHk9ovOJ^N20^(s((">
  363. <field name="NUM">20</field>
  364. </shadow>
  365. </value>
  366. </block>
  367. </value>
  368. <value name="COLOR">
  369. <block type="lcd_set_color" id="Jss$7f?5uIH}1kdEP]9p">
  370. <field name="COLOR">#000000</field>
  371. </block>
  372. </value>
  373. <next>
  374. <block type="ai_lcd_textcarvas" id="*gfx%rj@XV#LCtZja$NR">
  375. <value name="POSA">
  376. <block type="lcd_set_position" id="k=2V|l|~aC*{_6RY8^wh">
  377. <value name="POSX">
  378. <shadow type="math_number" id="2T.xKL?X/X7Q^GEQp++N">
  379. <field name="NUM">60</field>
  380. </shadow>
  381. </value>
  382. <value name="POSY">
  383. <shadow type="math_number" id="9z5Y8R_!P%1XjM=Nx_]t">
  384. <field name="NUM">200</field>
  385. </shadow>
  386. </value>
  387. </block>
  388. </value>
  389. <value name="CONTENT">
  390. <shadow type="text" id="Wr@V[{Sie^:DxlerAWZ]">
  391. <field name="TEXT">识别到人脸</field>
  392. </shadow>
  393. <block type="text_append_text" id="g:{B{:`LE0IF~cP:8*pk">
  394. <value name="text_abc">
  395. <shadow type="text" id="0[jG,5#nOtJlu3UpE[:[">
  396. <field name="TEXT">年齡:</field>
  397. </shadow>
  398. </value>
  399. <value name="append_text">
  400. <shadow type="text" id=",bv/=_:Vm8A(L$$X*xw%">
  401. <field name="TEXT">def</field>
  402. </shadow>
  403. <block type="ai_online_emotion_result" id="gYT-V=*Pj!|obLlHXE.K">
  404. <field name="emotion_type">age</field>
  405. </block>
  406. </value>
  407. </block>
  408. </value>
  409. <value name="COLOR">
  410. <block type="lcd_set_color" id="9;jn9$XiBLzVw^,udfu0">
  411. <field name="COLOR">#3366ff</field>
  412. </block>
  413. </value>
  414. <value name="Scale">
  415. <shadow type="math_number" id="A,Ix[P+^EM%xpp%#fcvh">
  416. <field name="NUM">1</field>
  417. </shadow>
  418. </value>
  419. <next>
  420. <block type="ai_lcd_textcarvas" id="RogS}SjaN^mRk,=Drx%Y">
  421. <value name="POSA">
  422. <block type="lcd_set_position" id="/R]F|=d.Jovq0#ferlMP">
  423. <value name="POSX">
  424. <shadow type="math_number" id="E2}m)YBF%Khh#w2J1=LV">
  425. <field name="NUM">180</field>
  426. </shadow>
  427. </value>
  428. <value name="POSY">
  429. <shadow type="math_number" id="73:(ra#-e*}Nliq9sS2^">
  430. <field name="NUM">200</field>
  431. </shadow>
  432. </value>
  433. </block>
  434. </value>
  435. <value name="CONTENT">
  436. <shadow type="text" id="Wr@V[{Sie^:DxlerAWZ]">
  437. <field name="TEXT">识别到人脸</field>
  438. </shadow>
  439. <block type="text_append_text" id=":^yrQ#;X^v5HN8#v$6rb">
  440. <value name="text_abc">
  441. <shadow type="text" id="w2IGX,Rm57f~r+CsVSX3">
  442. <field name="TEXT">情緒:</field>
  443. </shadow>
  444. </value>
  445. <value name="append_text">
  446. <shadow type="text" id="gdj8gjx]X~z4#I^kO!1V">
  447. <field name="TEXT">def</field>
  448. </shadow>
  449. <block type="ai_online_emotion_result" id="Y{,0qQj-@:8k?@?h5Tq1">
  450. <field name="emotion_type">emotion</field>
  451. </block>
  452. </value>
  453. </block>
  454. </value>
  455. <value name="COLOR">
  456. <block type="lcd_set_color" id="A|Wn{Jn{45Xuu7H@o66a">
  457. <field name="COLOR">#3366ff</field>
  458. </block>
  459. </value>
  460. <value name="Scale">
  461. <shadow type="math_number" id="Av0Ir.WZ-RFWqppCnv@B">
  462. <field name="NUM">1</field>
  463. </shadow>
  464. </value>
  465. <next>
  466. <block type="ai_lcd_textcarvas" id="p8N=5k{[d[RE{Dnr0Rm-">
  467. <value name="POSA">
  468. <block type="lcd_set_position" id="UO?g@2/{n~4;e.*$lmCn">
  469. <value name="POSX">
  470. <shadow type="math_number" id="qA`TN?_SM^G0_Y*IfX!:">
  471. <field name="NUM">60</field>
  472. </shadow>
  473. </value>
  474. <value name="POSY">
  475. <shadow type="math_number" id="g!Rb9Rh.4BGE5;nZLTn.">
  476. <field name="NUM">220</field>
  477. </shadow>
  478. </value>
  479. </block>
  480. </value>
  481. <value name="CONTENT">
  482. <shadow type="text" id="Wr@V[{Sie^:DxlerAWZ]">
  483. <field name="TEXT">识别到人脸</field>
  484. </shadow>
  485. <block type="text_append_text" id="BPH:1IaqWHZ3u8cAkZ~S">
  486. <value name="text_abc">
  487. <shadow type="text" id="#mSXSC7w0gFEZ?HPDkgj">
  488. <field name="TEXT">性別:</field>
  489. </shadow>
  490. </value>
  491. <value name="append_text">
  492. <shadow type="text" id="gdj8gjx]X~z4#I^kO!1V">
  493. <field name="TEXT">def</field>
  494. </shadow>
  495. <block type="ai_online_emotion_result" id="!`9u57wKG$)20__Yj):3">
  496. <field name="emotion_type">gender</field>
  497. </block>
  498. </value>
  499. </block>
  500. </value>
  501. <value name="COLOR">
  502. <block type="lcd_set_color" id="pgg/)9{Dg6~[O^{u8KWf">
  503. <field name="COLOR">#3366ff</field>
  504. </block>
  505. </value>
  506. <value name="Scale">
  507. <shadow type="math_number" id="d{WaJpv4H~M/@r8)ze:)">
  508. <field name="NUM">1</field>
  509. </shadow>
  510. </value>
  511. <next>
  512. <block type="ai_lcd_textcarvas" id="}$uttSFlS^jK9JFz5)b3">
  513. <value name="POSA">
  514. <block type="lcd_set_position" id="e{nyOvO(SF)$Bf!y4A@J">
  515. <value name="POSX">
  516. <shadow type="math_number" id="SodxMl3QM/eh*{Fb(6EK">
  517. <field name="NUM">180</field>
  518. </shadow>
  519. </value>
  520. <value name="POSY">
  521. <shadow type="math_number" id="bSHPaIgY(e;m#!2e`^RZ">
  522. <field name="NUM">220</field>
  523. </shadow>
  524. </value>
  525. </block>
  526. </value>
  527. <value name="CONTENT">
  528. <shadow type="text" id="Wr@V[{Sie^:DxlerAWZ]">
  529. <field name="TEXT">识别到人脸</field>
  530. </shadow>
  531. <block type="text_append_text" id="~KU1xC6Ssyj+`07p$PiM">
  532. <value name="text_abc">
  533. <shadow type="text" id="EA7Cq|?MLM_J|iyyROcz">
  534. <field name="TEXT">表情:</field>
  535. </shadow>
  536. </value>
  537. <value name="append_text">
  538. <shadow type="text" id="gdj8gjx]X~z4#I^kO!1V">
  539. <field name="TEXT">def</field>
  540. </shadow>
  541. <block type="ai_online_emotion_result" id="J.W5sG^#1?hZ8zr3dlKU">
  542. <field name="emotion_type">expression</field>
  543. </block>
  544. </value>
  545. </block>
  546. </value>
  547. <value name="COLOR">
  548. <block type="lcd_set_color" id="6xJ98@CYEz(8t$n153Wb">
  549. <field name="COLOR">#3366ff</field>
  550. </block>
  551. </value>
  552. <value name="Scale">
  553. <shadow type="math_number" id="W/QIhg=QJj@M2k$l%vZs">
  554. <field name="NUM">1</field>
  555. </shadow>
  556. </value>
  557. </block>
  558. </next>
  559. </block>
  560. </next>
  561. </block>
  562. </next>
  563. </block>
  564. </next>
  565. </block>
  566. </statement>
  567. </block>
  568. <block type="procedures_defnoreturn" id="j_IdegV+)kPg(C3|S.jk" x="1634" y="264">
  569. <field name="NAME">take_picture</field>
  570. <statement name="STACK">
  571. <block type="variables_set" id="1.h}[:z[~hy^=c]UM]%H">
  572. <field name="VAR">state</field>
  573. <value name="VALUE">
  574. <shadow type="math_number" id=";J7AMsSE/5h)zy=pAV+T">
  575. <field name="NUM">0</field>
  576. </shadow>
  577. <block type="text" id="7S_1cV9u$~HVr)Q^ICJ`">
  578. <field name="TEXT">拍照發送</field>
  579. </block>
  580. </value>
  581. <next>
  582. <block type="esp32_main_controller_time_timer_init" id="Pb6[;7nEF66EQ9jzE1A#">
  583. <next>
  584. <block type="v831_img_save" id="a{o:;wJ7pC7,vDXn$ge8">
  585. <value name="save_path">
  586. <shadow type="text" id="G##RjuKt=HrI`[co?yQr">
  587. <field name="TEXT">img_facedetection</field>
  588. </shadow>
  589. <block type="variables_get" id="8y3U!ddM9wxnSs5:r/u+">
  590. <field name="VAR">img_src</field>
  591. </block>
  592. </value>
  593. </block>
  594. </next>
  595. </block>
  596. </next>
  597. </block>
  598. </statement>
  599. </block>
  600. <block type="procedures_defnoreturn" id="x]!H1Z%kgZ(30,w!}KJ!" x="1256" y="832">
  601. <mutation>
  602. <arg name="failure_state"></arg>
  603. </mutation>
  604. <field name="NAME">emotion_recognize_failure</field>
  605. <statement name="STACK">
  606. <block type="ai_lcd_draw_rectangle" id="2r!);7{w}G[IH3s+xVAz">
  607. <field name="rect_type">fillrect</field>
  608. <value name="POSA">
  609. <block type="lcd_set_position" id="Z7!wB~gNrCB}?V,?Y0{Z">
  610. <value name="POSX">
  611. <shadow type="math_number" id="E)N4_vwJPHE_[aZB{W$r">
  612. <field name="NUM">0</field>
  613. </shadow>
  614. </value>
  615. <value name="POSY">
  616. <shadow type="math_number" id="$na$/_#:TASG-rk5~Y(q">
  617. <field name="NUM">0</field>
  618. </shadow>
  619. </value>
  620. </block>
  621. </value>
  622. <value name="POSB">
  623. <block type="lcd_set_width_height" id="]v^LcrHuuC`1V$lcveR)">
  624. <value name="WIDTH">
  625. <shadow type="math_number" id="aCNGpG91:nQU#BT0UkA;">
  626. <field name="NUM">320</field>
  627. </shadow>
  628. </value>
  629. <value name="HEIGHT">
  630. <shadow type="math_number" id="p)W6cN(2FkWIGBlW2pe,">
  631. <field name="NUM">20</field>
  632. </shadow>
  633. </value>
  634. </block>
  635. </value>
  636. <value name="COLOR">
  637. <block type="lcd_set_color" id="h78drx}?R,TkV[lnAUy+">
  638. <field name="COLOR">#000000</field>
  639. </block>
  640. </value>
  641. <next>
  642. <block type="ai_lcd_textcarvas" id="^UnlEbIuQlp(Z.DK{3)O">
  643. <value name="POSA">
  644. <block type="lcd_set_position" id="(r`|=DL5ETL-C-SFlY*a">
  645. <value name="POSX">
  646. <shadow type="math_number" id="Ez6hO2@K}$1TaQ#e9**O">
  647. <field name="NUM">40</field>
  648. </shadow>
  649. </value>
  650. <value name="POSY">
  651. <shadow type="math_number" id="Nt9R~$KC.=7nRJKyzq_r">
  652. <field name="NUM">0</field>
  653. </shadow>
  654. </value>
  655. </block>
  656. </value>
  657. <value name="CONTENT">
  658. <shadow type="text" id="b}mz7[+rfOtw8sM1oz1b">
  659. <field name="TEXT">网络请求中...</field>
  660. </shadow>
  661. <block type="variables_get" id="jsh#5|2yFCEhRa@$@Ilv">
  662. <field name="VAR">failure_state</field>
  663. </block>
  664. </value>
  665. <value name="COLOR">
  666. <block type="lcd_set_color" id="wYaw9_m6buS4o$60O2I|">
  667. <field name="COLOR">#cc0000</field>
  668. </block>
  669. </value>
  670. <value name="Scale">
  671. <shadow type="math_number" id="Go@V1kGF[S/r+oU`Q,lV">
  672. <field name="NUM">1</field>
  673. </shadow>
  674. </value>
  675. </block>
  676. </next>
  677. </block>
  678. </statement>
  679. </block>
  680. </xml>