index.html 202 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8" />
  5. <!-- <title>CocoBlockly X – CocoRobo AI & IoT Module</title> -->
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <meta http-equiv="Content-Type" content="text/html; scharset=UTF-8">
  8. <meta name="theme-color" content="#2C4FCD">
  9. <link type="text/css" rel="stylesheet" href="libs/materialize.min.css" media="screen,projection">
  10. <link rel="stylesheet" href="libs/codemirror/codemirror.css" />
  11. <link rel="stylesheet" href="libs/font-awesome.min.css" />
  12. <link rel="stylesheet" href="libs/summernote/summernote.css" />
  13. <link rel="stylesheet" href="libs/multi-select.css" />
  14. <link rel="stylesheet" href="src/blockpy.css" />
  15. <link rel="stylesheet" href="index.css" />
  16. <link rel="stylesheet" href="cocoblockly.css" />
  17. <!-- JQuery, D3, Math.js, Bootstrap -->
  18. <!-- <script type="text/javascript" src="libs/jquery.js"></script> -->
  19. <script type="text/javascript" src="uform.js"></script>
  20. <script type="text/javascript" src="js_libs/jquery-2.1.3.min.js"></script>
  21. <script type="text/javascript" src="libs/jquery-ui.min.js"></script>
  22. <script type="text/javascript" src="libs/jquery.hotkeys.js"></script>
  23. <script type="text/javascript" src="libs/jquery.multi-select.js"></script>
  24. <!-- <script type="text/javascript" src="libs/materialize.min.js"></script> -->
  25. <!-- <script src="materialize/js/materialize.js"></script> -->
  26. <script type="text/javascript" src="libs/d3.min.js"></script>
  27. <script type="text/javascript" src="libs/math.0.19.0.min.js"></script>
  28. <!-- <script type="text/javascript" src="libs/bootstrap.min.js"></script>
  29. <script type="text/javascript" src="libs/bootstrap-wysiwyg.js"></script> -->
  30. <script type="text/javascript" src="libs/mindmup-editabletable.js"></script>
  31. <script type="text/javascript" src="libs/codemirror/codemirror.js"></script>
  32. <script type="text/javascript" src="libs/codemirror/python.js"></script>
  33. <script type="text/javascript" src="libs/codemirror/htmlmixed.js"></script>
  34. <script type="text/javascript" src="libs/codemirror/xml.js"></script>
  35. <script type="text/javascript" src="libs/knockout-3.4.0.js"></script>
  36. <script type="text/javascript" src="libs/stringify.js"></script>
  37. <!-- Summernote, a rich text editor -->
  38. <script type="text/javascript" src="libs/summernote/summernote.min.js"></script>
  39. <script type="text/javascript" src="libs/summernote/summernote-ext-hint.js"></script>
  40. <script type="text/javascript" src="libs/summernote/summernote-ext-video.js"></script>
  41. <!-- Blockly -->
  42. <!-- <script type="text/javascript" src="blockly/blockly_uncompressed.js"></script> -->
  43. <!-- <script type="text/javascript" src="blockly/blockly_compressed.js"></script>
  44. <script type="text/javascript" src="src/imported.js"></script>
  45. <script type="text/javascript" src="blockly/blocks_compressed.js"></script>
  46. <script type="text/javascript" src="src/python_to_blockly.js"></script>
  47. <script type="text/javascript" src="blockly/python_compressed.js"></script> -->
  48. <script type="text/javascript" src="blockly/blocks/python/head.js"></script>
  49. <script type="text/javascript" src="blockly/blocks/python/citys.js"></script>
  50. <script type="text/javascript" src="blockly/blocks/python/define_colors.js"></script>
  51. <script type="text/javascript" src="blockly/blocks/python/blockly_compressed.js"></script>
  52. <script type="text/javascript" src="blockly/blocks/python/blocks_compressed.js"></script>
  53. <script type="text/javascript" src="blockly/blocks/python/python_compressed.js"></script>
  54. <script type="text/javascript" src="blockly/blocks/python/blocks_microbit.min.js"></script>
  55. <script type="text/javascript" src="blockly/blocks/python/blocks_mpython.min.js"></script>
  56. <script type="text/javascript" src="blockly/blocks/python/python_microbit.min.js"></script>
  57. <script type="text/javascript" src="blockly/blocks/python/python_mpython.min.js"></script>
  58. <script type="text/javascript" src="src/imported.js"></script>
  59. <script type="text/javascript" src="src/python_to_blockly.js"></script>
  60. <script type="text/javascript" src="blockly/blocks/python/ai.js"></script>
  61. <script type="text/javascript" src="blockly/blocks/python/iot.js"></script>
  62. <script type="text/javascript" src="blockly/blocks/python/esp32.js"></script>
  63. <script type="text/javascript" src="blockly/blocks/python/extension_module.js"></script>
  64. <script type="text/javascript" src="blockly/blocks/python/mainwifi.js"></script>
  65. <script type="text/javascript" src="blockly/blocks/text.js"></script>
  66. <script type="text/javascript" src="blockly/blocks/utility.js"></script>
  67. <!-- <script type="text/javascript" src="blockly/generators/utility.js"></script> -->
  68. <!--
  69. <script type="text/javascript" src="blockly/blocks/math.js"></script>
  70. <script type="text/javascript" src="blockly/generators/python/math.js"></script>-->
  71. <script type="text/javascript" src="blockly/generators/python.js"></script>
  72. <script type="text/javascript" src="blockly/blocks/python/time.js"></script>
  73. <script type="text/javascript" src="blockly/generators/python/time.js"></script>
  74. <script type="text/javascript" src="blockly/blocks/python/mainwifi.js"></script>
  75. <script type="text/javascript" src="blockly/generators/python/mainwifi.js"></script>
  76. <script type="text/javascript" src="blockly/blocks/python/screen.js"></script>
  77. <script type="text/javascript" src="blockly/generators/python/screen.js"></script>
  78. <script type="text/javascript" src="blockly/msg/index.js"></script>
  79. <script type="text/javascript" src="src/blockly/FileSaver.js"></script>
  80. <script type="text/javascript" src="src/blockly/term.js"></script>
  81. <script type="text/javascript" src="src/blockly/web.js"></script>
  82. <script type="text/javascript" src="src/blockly/load.js"></script>
  83. <script type="text/javascript" src="src/blockly/Devices.js"></script>
  84. <!-- Skulpt -->
  85. <script type="text/javascript" src="skulpt/dist/skulpt.min.js"></script>
  86. <script type="text/javascript" src="skulpt/dist/skulpt-stdlib.js"></script>
  87. <!-- Source Code -->
  88. <script type="text/javascript" src="src/utilities.js"></script>
  89. <script type="text/javascript" src="src/python_errors.js"></script>
  90. <script type="text/javascript" src="src/ast_node_visitor.js"></script>
  91. <script type="text/javascript" src="src/abstract_interpreter.js"></script>
  92. <script type="text/javascript" src="src/pytifa.js"></script>
  93. <script type="text/javascript" src="src/abstract_interpreter_definitions.js"></script>
  94. <script type="text/javascript" src="src/dialog.js"></script>
  95. <script type="text/javascript" src="src/storage.js"></script>
  96. <script type="text/javascript" src="src/printer.js"></script>
  97. <script type="text/javascript" src="src/interface.js"></script>
  98. <script type="text/javascript" src="src/server.js"></script>
  99. <script type="text/javascript" src="src/english.js"></script>
  100. <script type="text/javascript" src="src/corgis.js"></script>
  101. <script type="text/javascript" src="src/history.js"></script>
  102. <script type="text/javascript" src="src/presentation.js"></script>
  103. <script type="text/javascript" src="src/editor.js"></script>
  104. <script type="text/javascript" src="src/feedback.js"></script>
  105. <script type="text/javascript" src="src/toolbar.js"></script>
  106. <script type="text/javascript" src="src/sk_mod_instructor_extended.js"></script>
  107. <script type="text/javascript" src="src/sk_mod_instructor.js"></script>
  108. <script type="text/javascript" src="src/engine.js"></script>
  109. <script type="text/javascript" src="src/main.js"></script>
  110. <!-- FileSaver JS -->
  111. <script src="src/js_libs/FileSaver.min.js"></script>
  112. <!-- JS Diff -->
  113. <script src="src/js_libs/diff.js"></script>
  114. <!-- Prettify JS -->
  115. <script src="src/prettify/prettify.js"></script>
  116. <!-- Lazyload JS -->
  117. <script src="src/lazysize/lazysizes.min.js"></script>
  118. <!-- Socket.io -->
  119. <script src="src/socket.io-client/dist/socket.io.js"></script>
  120. <!-- clipboard -->
  121. <script src="src/clipboard/dist/clipboard.js"></script>
  122. <!-- Event Proxy -->
  123. <script type="text/javascript" src="src/blockly/eventproxy.js"></script>
  124. <!-- jQuery and Materialize JS -->
  125. <!-- <script src="js_libs/jquery-2.1.3.min.js"></script> -->
  126. <script src="materialize/js/materialize.js"></script>
  127. <!-- echarts -->
  128. <script src="./js_libs/echarts.min.js"></script>
  129. <!-- platform.js -->
  130. <!-- Desktop version of Ardublockly JS, needs to be loaded first. -->
  131. <!-- <script src="ardublockly_desktop.js"></script> -->
  132. <script type="text/javascript" src="src/webcam.min.js"></script>
  133. <script src="src/platformjs/platform.js"></script>
  134. <script src="ardublockly_lang.js"></script>
  135. <script src="ardublockly_toolbox.js"></script>
  136. <!-- <script src="ardublockly_blockly.js"></script> -->
  137. <script src="ardublocklyserver_ajax.js"></script>
  138. <script type="text/javascript" src="src/blockly/ardublockly_desktop.js"></script>
  139. <script type="text/javascript" src="src/blockly/ardublockly_design.js"></script>
  140. <script type="text/javascript" src="src/blockly/ardublockly_blockly.js"></script>
  141. <script type="text/javascript" src="src/blockly/ardublockly.js"></script>
  142. <script type="text/javascript" src="src/blockly/cocoblockly.js"></script>
  143. <script src="src/blockly/account.js"></script>
  144. <script src="src/blockly/socket.js"></script>
  145. <script src="src/blockly/machine.js"></script>
  146. <script type="text/javascript" src="./libs/clipboard.min.js"></script>
  147. <script type="text/javascript" src="./index.js"></script>
  148. </head>
  149. <body>
  150. <div id="white-box">
  151. <div id="preloader">
  152. <img src="./images/preloader.gif">
  153. <h4 style="margin:0;">Loading...</h4>
  154. </div>
  155. </div>
  156. <!-- modal -->
  157. <!-- <div class="modals">
  158. <span></span>
  159. </div> -->
  160. <div id="container">
  161. <!-- Horizontal Navigation bar -->
  162. <nav id="nav_" class="nav-fixed arduino_teal" style="overflow:hidden;background-color: #3454D2;">
  163. <div id="nav_shadow" class="shadowbox" style="display:none;"></div>
  164. <div class="nav-wrapper"
  165. style="min-width: 1200px; padding:0px 10px;display: flex;justify-content: space-between;position:static;">
  166. <a id="logo-container" class="brand-logo" style="display: none;">
  167. <span style="font-size:28px;font-family:'GT Walsheim Pro Trial Bold';"
  168. class="app_title translatable_title">CocoBlockly X</span>
  169. <!-- Sketch name editable text field -->
  170. <span class="sketch_name_wrapper" style="position:relative">
  171. <!-- <a id="button_delete" class="lang_resize" style="position:relative">
  172. <img style="height:28px;margin-top:20px" src="./icons/trash.png"> -->
  173. </a>
  174. <ul id="nav-mobile" class="hide-on-med-and-down" style="display: inline-block;">
  175. <!-- <li>
  176. <img style="height: 40px;margin-top: 10px;" class="left nav-icon" src="./icons/logo.png">
  177. </li> -->
  178. <li style="display: block;">
  179. <a id="nav_language" class='dropdown-button lang_resize' data-activates='languages'
  180. style="position:relative;padding: 0 25px;">
  181. <span class="translatable_language" style="display: none;">Language</span>
  182. <img class="left nav-icon" src="./images/language.png" style="width: 30px;height: 50px;">
  183. <i class="down" style="position: relative;top: 30px;left: 2px;float: right;"></i>
  184. </a>
  185. <ul id='languages' class='dropdown-content active'>
  186. <li id="EN" onclick="changeLanguage('en')">
  187. <span>English</span>
  188. </li>
  189. <li id="TC" onclick="changeLanguage('zh-hant')">
  190. <span>繁体中文</span>
  191. </li>
  192. <li id="CN" onclick="changeLanguage('zh-hans')">
  193. <span>简体中文</span>
  194. </li>
  195. </ul>
  196. </li>
  197. <!-- <li>
  198. <span class="vertical-separator"></span>
  199. </li> -->
  200. <li style="display: block;">
  201. <a id="local_storage" class='dropdown-button lang_resize' data-activates='local_saveOrOpen'
  202. style="position:relative;padding: 0 25px;">
  203. <span class="translatable_files">文件</span>
  204. <!-- <img class="left nav-icon" src="./icons/local_storage.png"> -->
  205. </a>
  206. <ul id='local_saveOrOpen' class='dropdown-content' style="top:62px">
  207. <li id="button_load">
  208. <span class="translatable_import_local_file">导入本地文件</span>
  209. </li>
  210. <li id="button_import_cloud" class='modal-trigger' onclick='openUrl("//demo-lecode.smartedu.lenovo.com/zhangyu/store#/_st=blockpy")'>
  211. <span class="translatable_import_cloud_file">导入云端文件</span>
  212. </li>
  213. <li id="button_save">
  214. <span class="translatable_export_local_file">保存到本地</span>
  215. </li>
  216. <li id="button_save_cloud" class='modal-trigger' href="#cloud_storage_name_modal">
  217. <span class="translatable_export_cloud_file">保存到云端</span>
  218. </li>
  219. </ul>
  220. <div id="fileImport" class="btn" style="display:none;">
  221. <input type="file" accept=".py">
  222. </div>
  223. <div id="xmlFileImport" class="btn" style="display:none;">
  224. <input type="file" accept=".xml">
  225. </div>
  226. <div id="pyFileImport" class="btn" style="display:none;">
  227. <input type="file" accept=".py">
  228. </div>
  229. </li>
  230. <li style="display: block;">
  231. <a id="local_connect" class='dropdown-button lang_resize' data-activates='local_connect_select'
  232. style="position:relative;padding: 0 25px;">
  233. <span class="translatable_connect">连接</span>
  234. </a>
  235. <ul id='local_connect_select' class='dropdown-content' style="top:62px;overflow: visible;">
  236. <li id="plugin_download" href="javaScript:(0)">
  237. <span class="translatable_download_uploader">下载安装程序</span>
  238. <ul id="plugin_mac_or_windows" class='dropdown-content'
  239. style="display:none; position: absolute; left:139px; top: 0px;">
  240. <li id="Mac" onclick="openUrl('./LenovoBlockpy.pkg')">
  241. <span><img src="./icons/mac-icon.png">Mac</span>
  242. </li>
  243. <li id="Windows" onclick="openUrl('./LenovoBlockpy.exe')">
  244. <span><img src="./icons/windows-icon.png">Windows</span>
  245. </li>
  246. </ul>
  247. </li>
  248. <li id="button_upgrade_firmware" class="modal-trigger" href = "#firmware_upgrade_modal">
  249. <span class="translatable_upgrade_firmware">固件升级</span>
  250. </li>
  251. <li id="button_connection_type" style="display: none;">
  252. <span class="translatable_connect_method">连接方式</span>
  253. <ul id="connect_method" class='dropdown-content'
  254. style="display:none; position: absolute; left: 139px; top: 100px;">
  255. <li id="select_connecteds" style="text-align: center;"
  256. onclick="selectConnectMethods(0)">
  257. <span id="Wired" class="translatable_select_connecteds">有线上传</span>
  258. </li>
  259. <li id="no_select_connecteds" style="text-align: center;"
  260. onclick="selectConnectMethods(1)">
  261. <span id="Wireless" class="translatable_no_select_connecteds">无线上传</span>
  262. </li>
  263. </ul>
  264. </li>
  265. </ul>
  266. </li>
  267. <li style="display: block;">
  268. <a id="help" class='dropdown-button lang_resize' data-activates='local_help'
  269. style="position:relative;padding: 0 25px;">
  270. <span class="translatable_help_board">帮助</span>
  271. </a>
  272. <ul id='local_help' class='dropdown-content' style="top:62px; overflow: visible;">
  273. <li id="local_help_ai">
  274. <span class="translatable_ai_kit">AI Kit</span>
  275. <ul id="local_help_ai_kit" class='dropdown-content'
  276. style="display:none; position: absolute; left: 139px; top: 0px;overflow: hidden;white-space: nowrap;text-overflow:ellipsis;">
  277. <li id="ai_kit_0" onclick="openUrl('./hans/#/aikit/AI_1')">
  278. <span class="translatable_ai_kit_0">Mac</span>
  279. </li>
  280. <li id="ai_kit_1" onclick="openUrl('./hans/#/aikit/AI_2')">
  281. <span class="translatable_ai_kit_1">Windows</span>
  282. </li>
  283. <li id="ai_kit_2" onclick="openUrl('./hans/#/aikit/AI_3')">
  284. <span class="translatable_ai_kit_2">Windows</span>
  285. </li>
  286. <li id="ai_kit_3" onclick="openUrl('./hans/#/aikit/AI_4')">
  287. <span class="translatable_ai_kit_3">Windows</span>
  288. </li>
  289. </ul>
  290. </li>
  291. <li id="local_help_extends">
  292. <span class="translatable_extends">拓展转接模组</span>
  293. <ul id="help_extends" class='dropdown-content'
  294. style="display:none; position:absolute; left: 139px; top: 50px;">
  295. <li id="extends_0" onclick="openUrl('./hans/#/extension/EX_01')">
  296. <span class="translatable_extends_0">Mac</span>
  297. </li>
  298. <li id="extends_1" onclick="openUrl('./hans/#/extension/EX_02')">
  299. <span class="translatable_extends_1">Windows</span>
  300. </li>
  301. <li id="extends_2" onclick="openUrl('./hans/#/extension/EX_03')">
  302. <span class="translatable_extends_2">Windows</span>
  303. </li>
  304. </ul>
  305. </li>
  306. <li id="local_help_error" onclick="openUrl('./hans/#/aikit/A0')">
  307. <span class="translatable_error">常见错误处理</span>
  308. </li>
  309. </ul>
  310. </li>
  311. <li>
  312. <div style="margin: 0px 20px 0px 0px;">
  313. <input type="text" value="A.I. Module" id="iot_modules" readonly
  314. class="selectMode_input browser-default"
  315. style="font-size: 0.9rem;border: none;width: 120px;">
  316. <i id="down" class="down"
  317. style="position: relative;top: -20px;float: right;right: 9px;"></i>
  318. <div class="downbox MouduleBox" id="downboxModule" style="top: 64px;">
  319. <div style="border: none;"><a href="javaScript:(0)"
  320. class="translatable_ai_module">A.I. Module</a></div>
  321. <div style="border: none;"><a href="javaScript:(0)"
  322. class="translatable_iot_module">IoT Module
  323. Mode</a></div>
  324. <div style="border: none;"><a id="python_full_screen"
  325. class="translatable_python_full_screen_mode">Cloud
  326. Mode</a></div>
  327. </div>
  328. </div>
  329. </li>
  330. <li class="Mode_select_box">
  331. <div class="ModeSelectBox">
  332. <div class="ModeSelect">
  333. <div style="font-size: 0.9rem;">样例 </div>
  334. <i class="down" style="position: relative;top: -34px;left: 20px;float: right;"></i>
  335. <div class="downbox ModeBox downbox-style">
  336. <div style="display: block;">
  337. <div>人工智能教材程序</div>
  338. <i class="downboxdown"></i>
  339. <div class="Hardware2 HarxA" style="height:auto;top:-35px">
  340. <div class="Hardware9">
  341. <div>三年级</div>
  342. <i class="downboxdown"></i>
  343. <ul class="Hardware4 HarxA">
  344. <li>录制语音指令</li>
  345. <li>语音识别台灯</li>
  346. <!-- <li>人脸识别防盗门</li> -->
  347. </ul>
  348. </div>
  349. <div class="Hardware5">
  350. <div>五年级</div>
  351. <i class="downboxdown"></i>
  352. <ul class="Hardware4 HarxA">
  353. <li>录制语音指令</li>
  354. <li>智能窗帘</li>
  355. <li>水果采摘机器人</li>
  356. <!-- <li>智能质检机器人</li> -->
  357. </ul>
  358. </div>
  359. <div class="Hardware6">
  360. <div>六年级</div>
  361. <i class="downboxdown"></i>
  362. <ul class="Hardware4 HarxA">
  363. <!-- <li>无人驾驶循环小车</li> -->
  364. <li>智能交通信号灯</li>
  365. <li>导盲项链</li>
  366. <!-- <li>二维码包裹分拣机器人</li> -->
  367. </ul>
  368. </div>
  369. <div class="Hardware7">
  370. <div>七年级</div>
  371. <i class="downboxdown"></i>
  372. <ul class="Hardware4 HarxA">
  373. <li>人脸辨识电子警察</li>
  374. </ul>
  375. </div>
  376. <div class="Hardware8">
  377. <div>八年级</div>
  378. <i class="downboxdown"></i>
  379. <ul class="Hardware4 HarxA">
  380. <li>支付台</li>
  381. </ul>
  382. </div>
  383. </div>
  384. </div>
  385. <div style="display: none;">
  386. <div>IoT 模块基础案例</div>
  387. <i class="downboxdown"></i>
  388. <ul class="Hardware2 HarxA">
  389. <li>侧边按键控制蜂鸣器</li>
  390. <li> 侧边按键控制开关 LED</li>
  391. <li> 触摸区域控制 LED</li>
  392. <li> 蜂鸣器警报</li>
  393. <li> 黑暗环境感应光照灯</li>
  394. <li> 倾斜方向感应 LED</li>
  395. <li> 湿度报警器</li>
  396. <li> 摇晃感应 LED</li>
  397. <li> LED 显示光线强度值</li>
  398. </ul>
  399. </div>
  400. <div style="display: none;">
  401. <div>IoT 模块扩展功能案例</div>
  402. <i class="downboxdown"></i>
  403. <ul class="Hardware2 HarxA">
  404. <li>使用 LED 灯屏</li>
  405. <li>使用电机驱动模块</li>
  406. <li>使用游戏手柄 + LED 灯屏</li>
  407. <li>使用游戏手柄 + 屏幕模块</li>
  408. <li>在扩展模块上控制舵机</li>
  409. <li>屏幕显示Hello World</li>
  410. <li>屏幕绘制线条动画</li>
  411. <li>按键控制屏幕直线转动</li>
  412. <li>按键控制颜色切换</li>
  413. <li>计步器</li>
  414. </ul>
  415. </div>
  416. <div style="display: none;">
  417. <div>IoT 模块联网案例</div>
  418. <i class="downboxdown"></i>
  419. <ul class="Hardware2 HarxA">
  420. <li>按键发送光照数据至 CocoCloud</li>
  421. <li>按键发送环境数据至 IFTTT</li>
  422. <li>按键获取光照数据并根据条件亮灯</li>
  423. <li>定时发送环境数据至 CocoCloud</li>
  424. <li>定时接收环境数据并根据条件亮灯</li>
  425. <li>建立 WiFi 热点并显示连接设备数量</li>
  426. <li>局域网环境数据存储 - 服务器端</li>
  427. <li>局域网环境数据获取 - 客户端</li>
  428. <li>连接 WiFi 网络</li>
  429. <li>模块间按钮状态存储 - 服务端</li>
  430. <li>模块间按钮状态接收 - 客户端</li>
  431. <li>模块间进行 WebSocket 实时通信 - 发送端</li>
  432. <li>模块间进行 WebSocket 实时通信 - 接收端</li>
  433. <li>同步网络时间</li>
  434. <li>数字手表显示实时时间</li>
  435. </ul>
  436. </div>
  437. <div style="display: none;">
  438. <div>IoT工作坊上</div>
  439. <i class="downboxdown"></i>
  440. <ul class="Hardware2 HarxA">
  441. <li>01 点亮正中间的LED灯</li>
  442. <li>02 点亮所有LED灯</li>
  443. <li>03 流水灯</li>
  444. <li>04 蜂鸣器警报</li>
  445. <li>05 8-bit音乐</li>
  446. <li>06 串口通讯:按钮开关</li>
  447. <li>07 串口通讯:触摸开关</li>
  448. <li>08 按钮开关蜂鸣器</li>
  449. <li>09 触摸开关灯</li>
  450. <li>10 补光装置</li>
  451. <li>11 湿度报警器</li>
  452. </ul>
  453. </div>
  454. <div style="display: none;">
  455. <div>IoT工作坊下</div>
  456. <i class="downboxdown"></i>
  457. <ul class="Hardware2 HarxA">
  458. <li>12 晃晃灯</li>
  459. <!-- <li>13 连接Wi-Fi</li> -->
  460. <li>14 连接Wi-Fi并显示连接状态</li>
  461. <li>15 建立热点并显示已连接的设备数</li>
  462. <li>16 亮度数据上传与下载</li>
  463. <li>17 舵机来回摆动</li>
  464. <li>19 舵机定时摆动</li>
  465. <li>20 按键控制舵机</li>
  466. <li>18 门(人脸识别)</li>
  467. <li>体验 iot-机械车(语音控制)</li>
  468. <li>体验 iot-机械人(陀螺仪)</li>
  469. <li>体验 iot-机械人(姿态识别)</li>
  470. <li>体验 iot-台灯(语音控制)</li>
  471. </ul>
  472. </div>
  473. <div style="display: block;">
  474. <div>AI 模块机器学习案例</div>
  475. <i class="downboxdown"></i>
  476. <ul class="Hardware2 HarxA">
  477. <li>垃圾分类识别(香港版)</li>
  478. <li>人脸检测</li>
  479. <li>物体识别</li>
  480. <li>人脸检测</li>
  481. <li>物体识别</li>
  482. <li>语音录制</li>
  483. <li>语音识别</li>
  484. <li>MNIST 手写数字识别</li>
  485. </ul>
  486. </div>
  487. <div style="display: block;">
  488. <div>AI 模块基础案例</div>
  489. <i class="downboxdown"></i>
  490. <ul class="Hardware2 HarxA">
  491. <li>按键控制屏幕时针转动</li>
  492. <li style="display:none">按键控制图片改变颜色制式</li>
  493. <li style="display:none">按键控制图片进行反色变化</li>
  494. <li>按键控制颜色切换</li>
  495. <li>迷你相机</li>
  496. <li>屏幕方向旋转</li>
  497. <li>屏幕绘制线条动画</li>
  498. </ul>
  499. </div>
  500. <div style="display: block;">
  501. <div>AI 模块扩展功能案例</div>
  502. <i class="downboxdown"></i>
  503. <ul class="Hardware2 HarxA">
  504. <li>使用 LED 灯屏</li>
  505. <li>使用电机驱动模块</li>
  506. <li>使用游戏手柄 + 屏幕模块</li>
  507. <li>在扩展模块上控制舵机</li>
  508. <li>贪吃蛇</li>
  509. </ul>
  510. </div>
  511. <div style="display: block;">
  512. <div>AI AI 模块视觉案例</div>
  513. <i class="downboxdown"></i>
  514. <ul class="Hardware2 HarxA">
  515. <li>按键改变相机图像的亮度</li>
  516. <li>区域颜色分析</li>
  517. <li>识别 QR 二维码</li>
  518. <li>寻线(黑线)</li>
  519. <li>寻找绿色的圆形</li>
  520. <li>寻找绿色区域并进行追踪</li>
  521. </ul>
  522. </div>
  523. <div style="display: block;">
  524. <div>AI AI 模块影音案例</div>
  525. <i class="downboxdown"></i>
  526. <ul class="Hardware2 HarxA">
  527. <li style="display:none">播放录制的视频档案</li>
  528. <li>播放音乐</li>
  529. <li style="display:none">录制摄像头画面并保存</li>
  530. <li>麦克风声音频谱分析</li>
  531. </ul>
  532. </div>
  533. <div style="display: block;">
  534. <div>AI基础篇案例上</div>
  535. <i class="downboxdown"></i>
  536. <ul class="Hardware2 HarxA">
  537. <li>Hello World</li>
  538. <li>螢幕顯示 Hello World</li>
  539. <li>畫布應用</li>
  540. <li>迷你相機</li>
  541. <li>簡易物體識別</li>
  542. </ul>
  543. </div>
  544. <div style="display: block;">
  545. <div>AI 基础篇案例下</div>
  546. <i class="downboxdown"></i>
  547. <ul class="Hardware2 HarxA">
  548. <li>物體識別進階</li>
  549. <li>人臉檢測</li>
  550. <li>顏色識別</li>
  551. <li>形狀識別(圓形)</li>
  552. <li>形狀識別(矩形)</li>
  553. <li>音頻分析</li>
  554. </ul>
  555. </div>
  556. <div style="display: block;">
  557. <div>AI 扩展使用案例</div>
  558. <i class="downboxdown"></i>
  559. <ul class="Hardware2 HarxA">
  560. <li>私服马达</li>
  561. <li>超声波感测器</li>
  562. <!-- <li>测距仪</li> -->
  563. <li>灯带</li>
  564. <li id="AI_Workshop_III_ex5_Microbit">Microbit</li>
  565. <li id="AI_Workshop_III_ex6_MicrobitFace">人脸检测</li>
  566. <li>电动门</li>
  567. </ul>
  568. </div>
  569. <div style="display: block;">
  570. <div>AI 垃圾分类</div>
  571. <i class="downboxdown"></i>
  572. <ul class="Hardware2 HarxA">
  573. <li>私服马达</li>
  574. <li>超声波感测器</li>
  575. <li>电动门</li>
  576. </ul>
  577. </div>
  578. <div style="display: block;">
  579. <div>AI 自动驾驶</div>
  580. <i class="downboxdown"></i>
  581. <ul class="Hardware2 HarxA">
  582. <li>第一場-路標識別(香港標識)</li>
  583. <li>第二場-巡線(雙線)</li>
  584. <li>第二場-巡線(單線-靠左行駛))</li>
  585. <li>第一場-路標識別(香港標識)</li>
  586. </ul>
  587. </div>
  588. </div>
  589. </div>
  590. </div>
  591. </li>
  592. <!-- help button -->
  593. <!-- <li id="cloudBtn-shares">
  594. <i class="material-icons" style="margin-left:5px;cursor: pointer;">share</i>
  595. </li>
  596. <i id="workspace_screenshot" class="material-icons sketch_name_icon right"
  597. style="margin-left:5px;cursor: pointer;">photo_camera</i>
  598. <i id="button_delete" class="material-icons sketch_name_icon right"
  599. style="margin-left:5px;cursor: pointer;">delete</i> -->
  600. </ul>
  601. <!-- <i id="workspace_screenshot" class="material-icons sketch_name_icon right"
  602. style="margin-left:5px;cursor: pointer;">photo_camera</i> -->
  603. <!-- <i class="material-icons sketch_name_icon right">create</i> -->
  604. <!-- <input id="sketch_name" class="sketch_name" type="text"> -->
  605. <input id="sketch_name_w" class="sketch_name" type="text" name="wifi" style="display:none">
  606. </span>
  607. <!-- </a> -->
  608. <!-- Horizontal Navbar links only shown on large resolutions -->
  609. <ul id="nav-mobile" class="right hide-on-med-and-down nav-mobile-right" style="display: flex;">
  610. <!-- AI Demo -->
  611. <!-- <li>
  612. <a id="AI_experience" class='dropdown-button lang_resize' data-activates='AI_experience_dropdown' style="position:relative">
  613. <span class="translatable_AI_experience">AI</span>
  614. <img class="left nav-icon" src="./icons/nav-ai-experience.png">
  615. </a>
  616. <ul id='AI_experience_dropdown' class='dropdown-content' style="top:62px">
  617. <li id="webcam" class='modal-trigger' href="#webcam_capture_modal">
  618. <span class="translatable_AI_emotion">Emotion Recognotion</span>
  619. </li>
  620. <li class="divider"></li>
  621. <li id="voice-input" class='modal-trigger' href="#voice_input_modal">
  622. <span class="translatable_AI_speech">Speech Recognotion</span>
  623. </li>
  624. </ul>
  625. </li> -->
  626. <!-- help button -->
  627. <li style="display: none;">
  628. <a id="help" style="display:none" class='dropdown-button lang_resize'
  629. data-activates="help_board" style="position:relative">
  630. <!-- <i class="material-icons left" style="margin-right: 5px;font-size: 34px;">help_outline</i> -->
  631. <span class="translatable_help_board">Help</span>
  632. <img class="left nav-icon" src="./icons/nav_help.png">
  633. </a>
  634. <ul id='help_board' class='dropdown-content' style="top:62px">
  635. <li id="">
  636. <a href="http://help.cocorobo.cn/" target="_blank">
  637. <span class="translatable_tutorial">Tutorial</span>
  638. </a>
  639. </li>
  640. <!-- <li class="divider"></li>
  641. <li>
  642. <a href="#tourmode" class="modal-trigger">
  643. <span class="translatable_tour">Start Tour</span>
  644. </a>
  645. </li> -->
  646. <li class="divider"></li>
  647. <!-- <li>
  648. <a href="#env_detect" class="modal-trigger">
  649. <span class="translatable_env_detect">Environment Detect</span>
  650. </a>
  651. </li> -->
  652. <li class="divider"></li>
  653. <li>
  654. <a href="http://help.cocorobo.cn/#/changelog" target="_blank">
  655. <span class="translatable_changelog">Change Log</span>
  656. </a>
  657. </li>
  658. </ul>
  659. </li>
  660. <li style="display:none;">
  661. <select onchange="selectmode(this)" id="mode"
  662. style="outline:0;position:relative;color: #fff;font-weight: 500;width: 175px;height: 35px;border-radius: 30px;background: #fff0;border: 2px solid #fff;margin: 15px 35px 0px 0px;display: block;">
  663. <option value="" style="color: #000;">AI Mode</option>
  664. <option value="" style="color: #000;">Main Mode</option>
  665. </select>
  666. </li>
  667. <li id="cloudBtn-shares">
  668. <i class="material-icons" style="margin-left:5px;cursor: pointer;display: none;">share</i>
  669. </li>
  670. <i id="workspace_screenshot"
  671. style="margin-left:5px;cursor: pointer;position: absolute;right: 350px;">
  672. <img src="./images/screenshot.png" style="width: 40px;height: 35px;margin:15px 0 0 0;" />
  673. </i>
  674. <i id="button_delete" class="material-icons sketch_name_icon right"
  675. style="margin-left:5px;cursor: pointer;display: none;">delete</i>
  676. <li id="sketch_name-li" style="position: absolute;right: 135px;">
  677. <input id="sketch_name" placeholder="请输入作品名称" class="sketch_name"
  678. style="background: #fff;padding: 4px 10px 4px 7px;color:#222222;width:200px;font-style: initial;line-height: 30px; font-size: 15px;"
  679. type="text">
  680. </li>
  681. <li id="downloadbutton-li" style="position: absolute;right: 68px;">
  682. <button id="downloadbutton" class="translatable_sketch_save"
  683. style="color: #fff;font-weight: 700;background: #4A6AFF;border: none;font-size: 14px;padding:13px 20px 9px 20px;cursor: pointer;">保存</button>
  684. </li>
  685. <!-- App Center demo -->
  686. <!-- <li>
  687. <a id="app_center_title" href="#app_center_modal" class="modal-trigger lang_resize"
  688. style="position:relative">
  689. <span id="app_center_title_demo">
  690. <span class="translatable_labscenter">Labs</span>
  691. <img class="left nav-icon" src="./icons/cocoblockly-navbar_labs-icon.png">
  692. </span>
  693. </a>
  694. </li> -->
  695. <!-- <li>
  696. <a id="nav_learn" class='dropdown-button lang_resize' data-activates="learn_board"
  697. style="position:relative">
  698. <i class="material-icons left" style="margin-right: 5px;font-size: 34px;">help_outline</i>
  699. <span class="translatable_learn_board">Files</span>
  700. <img class="left nav-icon" src="./icons/learn_nav_icon.png">
  701. </a>
  702. <ul id='learn_board' class='dropdown-content'>
  703. <li>
  704. <a href="//edu.cocorobo.cn/" target="_blank">
  705. <span class="translatable_cocoedu">Education Platform</span>
  706. </a>
  707. </li>
  708. <li class="divider"></li>
  709. <li>
  710. <a href="//aihub.cocorobo.cn" target="_blank">
  711. <span class="translatable_learn_principle">Learn AI: Theory</span>
  712. </a>
  713. </li>
  714. <li class="divider"></li>
  715. <li>
  716. <a href="//aihub.cocorobo.cn/vision" target="_blank">
  717. <span class="translatable_learn_vision">Learn AI: Vision</span>
  718. </a>
  719. </li>
  720. <li class="divider"></li>
  721. <li>
  722. <a href="//aihub.cocorobo.cn/speech" target="_blank">
  723. <span class="translatable_learn_speech">Learn AI: Speech</span>
  724. </a>
  725. </li>
  726. <li class="divider"></li>
  727. <li>
  728. <a href="//aihub.cocorobo.cn/text" target="_blank">
  729. <span class="translatable_learn_text">Learn AI: Text</span>
  730. </a>
  731. </li>
  732. <li class="divider"></li>
  733. <li>
  734. <a href="//beta.aihub.cocorobo.cn/art" target="_blank">
  735. <span class="translatable_learn_art">Learn AI: Art</span>
  736. </a>
  737. </li>
  738. </ul>
  739. </li> -->
  740. <!-- <li>
  741. target="_blank"
  742. <a id="help" style="display: none;" class='dropdown-button lang_resize'
  743. href="//x.help.cocorobo.cn" style="position:relative">
  744. <i class="material-icons left" style="margin-right: 5px;font-size: 34px;">help_outline</i>
  745. <span class="translatable_help_board">Help</span>
  746. <img class="left nav-icon" src="./icons/nav_help.png">
  747. </a>
  748. </li> -->
  749. <!-- <li>
  750. <a target="_blank" id="nav_journal" class='dropdown-button lang_resize' href="/md.html"
  751. style="position:relative">
  752. <span class="translatable_journal">日志</span>
  753. <img class="left nav-icon" src="./icons/news.png">
  754. </a>
  755. </li> -->
  756. <!-- <li>
  757. <a id="help" class='dropdown-button lang_resize' target="_blank" href="//x-help.cocorobo.cn"
  758. style="position:relative">
  759. <i class="material-icons left" style="margin-right: 5px;font-size: 34px;">help_outline</i>
  760. <span class="translatable_help_board">Help</span>
  761. <img class="left nav-icon" src="./icons/nav_help.png">
  762. </a>
  763. <a id="nav_devices" class='dropdown-button lang_resize' style="position:relative">
  764. <span class="translatable_devices">Devices</span>
  765. <img class="left nav-icon" src="./icons/Devices.png">
  766. </a>
  767. </li> -->
  768. <!-- <li style="display: block;">
  769. <a id="local_storage" class='dropdown-button lang_resize' data-activates='local_saveOrOpen'
  770. style="position:relative">
  771. <span class="translatable_storage">Files</span>
  772. <img class="left nav-icon" src="./icons/local_storage.png">
  773. </a>
  774. <ul id='local_saveOrOpen' class='dropdown-content' style="top:62px">
  775. <li id="button_cloud" class='modal-trigger' href="#cloud_storage_modal">
  776. <span class="translatable_cloud_storage">Cloud</span>
  777. </li>
  778. <li class="divider"></li>
  779. <li id="button_load">
  780. <span class="translatable_import">Import</span>
  781. </li>
  782. <li class="divider"></li>
  783. <li id="button_save">
  784. <span class="translatable_export">Export</span>
  785. </li>
  786. </ul>
  787. <div id="fileImport" class="btn" style="display:none;">
  788. <input type="file" accept=".py">
  789. </div>
  790. <div id="xmlFileImport" class="btn" style="display:none;">
  791. <input type="file" accept=".xml">
  792. </div>
  793. <div id="pyFileImport" class="btn" style="display:none;">
  794. <input type="file" accept=".py">
  795. </div>
  796. </li> -->
  797. <!-- <li>
  798. <a id="nav_language" class='dropdown-button lang_resize' data-activates='languages'
  799. style="position:relative">
  800. <span class="translatable_language">Language</span>
  801. <img class="left nav-icon" src="./icons/language2.png">
  802. </a>
  803. <ul id='languages' class='dropdown-content active'>
  804. <li onclick="changeLanguage('en')">
  805. <a>English</a>
  806. </li>
  807. <li class="divider"></li>
  808. <li onclick="changeLanguage('zh-hant')">
  809. <a>繁体中文</a>
  810. </li>
  811. <li class="divider"></li>
  812. <li onclick="changeLanguage('zh-hans')">
  813. <a>简体中文</a>
  814. </li>
  815. </ul>
  816. </li> -->
  817. <!-- <li>
  818. <span class="vertical-separator"></span>
  819. </li> -->
  820. <!-- <li>
  821. <a id="nav_account" href="#login_modal" class="modal-trigger lang_resize"
  822. style="position:relative"
  823. onclick="$('#api-key').html(''); $('#api-key').html($('#cloud_events').val()); document.getElementById('api-key').value = $('#cloud_events').val();">
  824. <span id="account_alias"></span>
  825. <button id="account_loginTitle" class="translatable_login_title"
  826. style="color: #fff;font-weight: 500;width: 80px;height: 35px;border-radius: 30px;background: #fff0;border: 2px solid #fff;margin: 0 0 0 15px;">Login</button>
  827. <span id="account_loginTitle" class="translatable_login_title">Login</span>
  828. <img class="nav-icon2 left" src="./icons/user.png">
  829. </a>
  830. </li> -->
  831. <!--<li>
  832. <a id="back_home" class="lang_resize" target="_blank" href="//cocorobo.cn/online/"
  833. style="position:relative">
  834. <img class="nav-icon2" src="./icons/home_icon.png">
  835. </a>
  836. </li> -->
  837. </ul>
  838. </div>
  839. </nav>
  840. <!-- shadow -->
  841. <div id="main_shadow" class="shadowbox" style="display:none;">
  842. <div id="shadow_content" class="shadow_container">
  843. <div class="shadow_top">
  844. <img src="./images/drag_import.png" style="width:200px">
  845. <p class="translatable_drag_import">Drag and drop your file to here</p>
  846. </div>
  847. </div>
  848. </div>
  849. <!-- Content -->
  850. <div id="main_content" style=" width:100%;">
  851. <div id="term" style=" width:100%; height:70%;display:none">
  852. </div>
  853. <div style="height:100%;" id="blockpy-div">
  854. <div>
  855. <div id='blockpy-content'>
  856. <div class="blockpy-editor">
  857. <div class="white blockpy-blocks blockpy-editor-menu"> <img id="fullscreenIcon"
  858. class="fullscreenIcon" src="./images/icon-fullscreen.svg"> <img
  859. id="fullscreenExitIcon" class="fullscreenIcon hidden"
  860. src="./images/icon-fullscreen-exit.svg">
  861. <div class='blockly-div' style="width:100%;height:100%;"></div>
  862. </div>
  863. </div>
  864. <div id='sss' style='display:block;overflow: auto;'>
  865. <div id="py-editor" class="blockpy-editor card-panel"
  866. style='height:calc(100% - 243px);display:block;overflow:auto'>
  867. <div class="card-header"
  868. style='position:relative;height: 45px;line-height: 45px;background: #E6F1FF;border-bottom: unset;'>
  869. <span id="python_SourceCode" class="header-text translate-code
  870. translatable_pythonSourceCode switch_box switch_select"
  871. style='margin-left: 0px;'>Python
  872. Source Code</span>
  873. <span id="Serial_Interaction"
  874. class="header-text translatable_serial_plotter switch_box1">串口数据显示</span>
  875. <span id="Serial_Display"
  876. class="header-text translatable_serial_visualization switch_box2">串口数据可视化</span>
  877. </div>
  878. <div style="position: relative;">
  879. <a class="blockpy-toolbar-edit" style="position:absolute;top: 5px;right:
  880. 130px;"> <img id="edit-off" src="./images/icon-edit.svg"
  881. style="margin-top: 7px;display: block;">
  882. <img id="edit-on" src="./images/icon-edit-on.svg"
  883. style="margin-top: 7px;display: none;">
  884. </a>
  885. <a class="copy_code" style="position:absolute;top: 5px;right: 95px;"
  886. data-clipboard-action="copy">
  887. <img id="copy_code_view" src="./images/icon-view.svg" style="margin-top:7px;">
  888. </a>
  889. <a class="blockpy-toolbar-download" style="position:absolute;top: 5px;right:
  890. 59px;"> <img id="blockpy-toolbar-download" src="./images/icon-download.svg"
  891. style="margin-top: 7px;">
  892. </a>
  893. <a class="blockpy-toolbar-upload modal-trigger" style="position:absolute;top: 5px;right: 25px;" href="#cloud_storage_name_modal">
  894. <img id="blockpy-toolbar-upload" src="./images/icon-upload.svg"
  895. style="margin-top: 7px;"> </a>
  896. <img class="fullscreenIcon hidden" src="./images/icon-fullscreen.svg">
  897. <img class="fullscreenIcon hidden" src="./images/icon-fullscreen-exit.svg">
  898. <i id="repl_delete" class="material-icons sketch_name_icon right"
  899. style="margin-left: 20px;cursor: pointer;position: absolute;top: 12px;right: 0px;display:none;">delete</i>
  900. </div>
  901. <div class="card-content"
  902. style="position:relative;height: calc(100% - 90px);overflow:auto;margin-top: 45px;"
  903. id="python_box">
  904. <div class="editDiv" id="editDiv" style="top: 0;width: 100%;left: 0;padding: 0;z-index: 0;
  905. right: 0;">
  906. <!-- <span class="translatable_editing">Enable Editing</span>
  907. <span style="display: none;" class="translatable_close_editing">Close
  908. Editing</span> -->
  909. <input type="checkbox" id="toggle-button" style="display: none;">
  910. <!--label中的for跟input的id绑定。作用是在点击label时选中input或者取消选中input-->
  911. <label for="toggle-button" class="button-label" style="display: none;">
  912. <span class="circle"></span>
  913. <span class="text on"></span>
  914. <span class="text off"></span>
  915. </label>
  916. </div>
  917. <div class="blockpy-toolbar" style="position: absolute;top: 0;width: 100%;">
  918. <div class='blockpy-text blockpy-editor-menu'>
  919. <div class='blockpy-text-sidebar'></div>
  920. <textarea readonly class='codemirror-div language-python'></textarea>
  921. </div>
  922. <div class="edit" id="edit"></div>
  923. <!-- <a class="copy_code" style="position:fixed;top:112px;right:25px;z-index:999;cursor:pointer;" data-clipboard-action="copy"> <img src="./images/icon-copy.svg" width="24px"> </a> <div class="blockpy-toolbar-download" style="position:fixed;top:113px;right:55px;z-index:999;cursor:pointer;"> <img src="./images/icon-downward.svg" width="24px"> </div>-->
  924. </div>
  925. </div>
  926. <div class="card-content hidden"
  927. style="position:relative;height: calc(100% - 90px);overflow:auto;padding:5px 10px;background-color: #fff; color: #000;margin-top: 45px;"
  928. id="repl_box">
  929. <div class="editDiv" id="editDiv" style="width: 100%;left: -10px;padding: 0;">
  930. <span class="translatable_serial_plotter serial-active" id="switchSerial1"
  931. onclick="switchSerial('1')" style="display: none;">The
  932. data to print</span>
  933. <span class="translatable_serial_visualization" id="switchSerial2"
  934. onclick="switchSerial('2')" style="display: none;">Visual
  935. display</span>
  936. </div>
  937. <div class="blockpy-toolbar" id="repl_box_content"
  938. style="display:block;padding-top:35px;">
  939. </div>
  940. <div style="width: 100%;height: calc(100% - 50px);display: none;margin: 35px 0 10px 0;position: relative;"
  941. id="echartsShow">
  942. <div id="echartsMain" class="echartsMain"></div>
  943. <div id="echartsMains" style="display: none;">
  944. <span id="echartsMainSpan"></span>
  945. </div>
  946. </div>
  947. </div>
  948. <!-- <a class="copy_code" style="position:absolute;top:160px;right:70px;z-index:999;cursor:pointer;" data-clipboard-action="copy"> <img src="./images/icon-copy.svg" width="24px"> </a> <div class="blockpy-toolbar-download" style="position:absolute;top:160px;right:95px;z-index:999;cursor:pointer;"> <img src="./images/icon-downward.svg" width="24px"> </div> -->
  949. </div>
  950. <div class='blockpy-content-left card-panel card'
  951. style='display: block;background: #f8f8f8;min-height: 243px;position:relative;'>
  952. <div class="card-header"
  953. style='height: 60px;line-height: 60px;background: #E6F1FF;text-align: center;'>
  954. <!-- http://help.cocorobo.cn/#/getting-started/info target="_blank"-->
  955. <div style='float:right;display: none;'>
  956. <a class="header-link upload_instruction" style="display: none;" href="#"
  957. data-tooltip-id="61c522fa-be27-2a3e-1f2d-cde212348740">
  958. <img src="./icons/instruction.png">
  959. </a>
  960. <a id="plugin_download" class="header-link" href="javaScript:(0)"
  961. data-tooltip-id="9e546554-688a-01c7-cde3-faaff99b557d"> <img
  962. src="./icons/plugin_download.png">
  963. <img style="position:absolute;height:10px;right:45px;bottom:32px; display:none; "
  964. src="./icons/icon_new.png">
  965. </a>
  966. <a href="#iframe" class="modal-trigger header-link" id="showIframe">
  967. <img src="./icons/firmware.png">
  968. </a>
  969. <!-- <a href="#updatePy" class="modal-trigger header-link">
  970. <img src="./icons/加载.png">
  971. </a> -->
  972. <label class="hidden"><input type="checkbox" class="filled-in" />
  973. <span class="translatable_Adapter_fill_connected filled-in_nocheked"
  974. style="color: #26a69a;font-size: 17px;font-weight: 600;">Adapter is
  975. disconnected</span>
  976. </label>
  977. </div>
  978. <!--<span class="header-icon"><img style="width: 30px;margin: 8px 8px 8px 20px;" src="./images/zhixing.png"> </span>-->
  979. <span class="header-text translate-code translatable_title_device"
  980. style='font-weight: 800;font-size: 20px;margin-left: 25px;display: none;'>Device</span>
  981. <div style="display: none;margin-left: 20px;"><select class="select-connected "
  982. id="select-connected">
  983. <option class="select-connected translatable_select_connecteds"
  984. style="color: #000;">The
  985. cable to upload</option>
  986. <option style="color: #000;" class="translatable_no_select_connecteds">
  987. Wireless cable
  988. upload</option>
  989. </select></div>
  990. <!-- <div id="discnt_icon" style="float: left;">
  991. <a href="#env_detect" class="modal-trigger"><img
  992. style="height:17px;margin-left:8px;transform:translateY(2px);"
  993. src="./icons/uploader_disconnect.png"></a>
  994. </div>
  995. <div id="cnt_icon" style="display:none;float: left;"><img
  996. style="height:17px;margin-left:8px;transform:translateY(2px);"
  997. src="./icons/uploader_connect.png"></div> -->
  998. <span id="device_connect_status" class="translatable_device_no_connect"
  999. style="color: #2D2F33;font-size: 16px;font-weight: bold;">硬件(未连接)</span>
  1000. <a id="send_string" onclick="sendstring('machine.reset()')" class="waves-effect
  1001. waves-light blue disabled"
  1002. style="margin-right:0.5rem;background-color: #E6F1FF !important;float: right;margin-top: 10px;">
  1003. <!-- <span id="resetDevice">Reset Device</span> -->
  1004. <!-- <img id="refresh-disabled" src="./images/icon-refresh-disabled.svg"
  1005. style="margin-top: 7px;display: block;"> -->
  1006. <img id="refresh" src="./images/icon-refresh.svg"
  1007. style="margin-top: 7px;display: block;">
  1008. <img id="refresh-press" src="./images/icon-refresh-press.svg"
  1009. style="margin-top: 7px;display: none;">
  1010. </a>
  1011. </div>
  1012. <!--<div class="card-header"> <span class="header-icon" style="line-height:40px;"><img style="height:30px;vertical-align:middle;" src="./images/icon-aspect.svg"></span> <span class="header-text translate-output">Output Area</span> <img class="fullscreenIcon" src="./images/icon-fullscreen.svg"> <img class="fullscreenIcon hidden" src="./images/icon-fullscreen-exit.svg"> </div>-->
  1013. <!--<div class="card-content" style="display:block;grid-template-rows:1fr 50px;"> <div style="border-bottom:1px solid #ddd;padding:8px;overflow:hidden;"> <div style="height:100%;overflow:hidden;"> <div class='blockpy-printer blockpy-printer-default' style="resize:none;height:98%;width:100%;border:1px solid #818181;"> </div> </div> </div>-->
  1014. <div class="card-content"
  1015. style="padding:0 10px;width:100%;height: 183px;background: #FFFFFF;">
  1016. <div class="row" id="status" style="display: none;">
  1017. <div class="col s12"><img id="error-btn" class="activator"
  1018. src="./icons/error.png">
  1019. <span id="status_bar" class="translatable_statusbar">直接将代码上传到电子模块中。</span>
  1020. </div>
  1021. </div>
  1022. <div class="row" style="width: 100%;margin: 0;margin-top: 20px;">
  1023. <div id="uploader-btns" class="col s7">
  1024. <a onclick='sendfile();' id="send_file" class="waves-effect
  1025. waves-light btn blue disabled" style="padding:0 0.5rem;border-radius: 3px;
  1026. width: 88px;height: 36px;">
  1027. <!-- <i style="cursor: pointer;" class="fa fa-play-circle"
  1028. aria-hidden="true"></i> -->
  1029. <img src="./images/run.png"
  1030. style="vertical-align: middle;cursor: pointer;margin-right: 5px;">
  1031. <span id="runCode"
  1032. style="font-size: 14px;color: #FFFFFF;letter-spacing: 0;"></span>
  1033. </a>
  1034. <a onclick="uploadpyfile()" id="uploadpy" class="waves-effect
  1035. waves-light btn blue disabled" style="padding:0 0.5rem;border-radius: 3px;
  1036. width: 88px;height: 36px;">
  1037. <!-- <i style="cursor: pointer;" class="fa fa-upload" aria-hidden="true"></i> -->
  1038. <img src="./images/uploadCode.png"
  1039. style="vertical-align: middle;cursor: pointer;margin-right: 5px;">
  1040. <span id="uploadFiles"
  1041. style="font-size: 14px;color: #FFFFFF;letter-spacing: 0;"></span>
  1042. </a>
  1043. <div style="float: right;">
  1044. <li style="display: none;">
  1045. <ul id="localsssssaveOrOpen" class="dropdown-content active">
  1046. <li style="padding: 14px 16px;" onclick="uploadfile(true)">
  1047. <a>开机启动可视化菜单界面</a></li>
  1048. <li style="padding: 14px 16px;" onclick="uploadfile(false)">
  1049. <a>开机运行上次的程序</a></li>
  1050. </ul>
  1051. <a id="qiehuanbtn"
  1052. class="qiehuanbtn btn dropdown-trigger blue lang_resize dropdown-button disabled"
  1053. data-activates="localsssssaveOrOpen"><span
  1054. id="runCuploadFilesode">更换启动模式</span><i
  1055. class="material-icons right"
  1056. style="margin-left: 0;">arrow_drop_down</i></a>
  1057. </li>
  1058. <!-- <a id="send_string" onclick="sendstring('machine.reset()')" class="waves-effect
  1059. waves-light btn blue disabled" style="margin-right:0.5rem;"><span
  1060. id="resetDevice">Reset Device</span></a> -->
  1061. </div>
  1062. </div>
  1063. <a onclick="getmcnty()" class="waves-effect waves-light btn blue"
  1064. style="display:none"><span id="gettype">Upload
  1065. files</span></a>
  1066. <div class="col s5 btn-network" style="padding-right:1px;">
  1067. <div class="select-wrapper initialized">
  1068. <!-- <span class="caret">▼</span> -->
  1069. <i class="down"></i>
  1070. <input type="text" class="select-dropdown" id="select_dropdown"
  1071. readonly="true"
  1072. data-activates="select-options-eca84f35-6884-7dc4-9d8b-c14115abe698"
  1073. value="">
  1074. <ul id="select-options-eca84f35-6884-7dc4-9d8b-c14115abe698" class="dropdown-content
  1075. select-dropdown ">
  1076. <li class="disabled "><span></span></li>
  1077. </ul><select id="ports"
  1078. data-select-id="eca84f35-6884-7dc4-9d8b-c14115abe698"
  1079. class="initialized">
  1080. <option value="null" disabled=""></option>
  1081. </select>
  1082. </div>
  1083. </div>
  1084. <div class="col s5 btn-network hidden" style="padding-right:1px;width: 50%;">
  1085. <div class="select-wrapper initialized" style='width: 61%;float: left;'>
  1086. <input type="text" class="select-dropdown" data-activates=""
  1087. id='ipAddress' placeholder="请输入ip地址">
  1088. </div>
  1089. <div style='display:inline-block'><a onclick='button_click();' class="waves-effect waves-light
  1090. btn blue" style="margin-left: 0.5rem;margin-top: 4px;"><span
  1091. id="ConnectBtn">Connect
  1092. </spanbutton_click></a></div>
  1093. </div>
  1094. </div>
  1095. <!-- <div class="row btn-network">
  1096. <div class="col s6" style="padding-right:1px;">
  1097. <div class="select-wrapper initialized"><span class="caret">▼</span><input
  1098. type="text" class="select-dropdown" id="select_dropdown"
  1099. readonly="true"
  1100. data-activates="select-options-eca84f35-6884-7dc4-9d8b-c14115abe698"
  1101. value="检测不到连接端口">
  1102. <ul id="select-options-eca84f35-6884-7dc4-9d8b-c14115abe698" class="dropdown-content
  1103. select-dropdown ">
  1104. <li class="disabled "><span>检测不到连接端口</span></li>
  1105. </ul><select id="ports"
  1106. data-select-id="eca84f35-6884-7dc4-9d8b-c14115abe698"
  1107. class="initialized">
  1108. <option value="null" disabled="">检测不到连接端口</option>
  1109. </select>
  1110. </div>
  1111. </div>
  1112. </div> -->
  1113. <!-- <div class="row btn-network hidden">
  1114. <div id="uploader-btns" class="col s6">
  1115. <a onclick='sendfile();' id="send_file" class="waves-effect
  1116. waves-light btn blue disabled"
  1117. style="margin-right:0.5rem;padding:0 0.5rem;">
  1118. <i style="cursor: pointer;" class="fa fa-play-circle"
  1119. aria-hidden="true"></i>
  1120. <span id="runCode"></span>
  1121. </a>
  1122. <a onclick="uploadpyfile()" id="uploadpy" class="waves-effect
  1123. waves-light btn blue disabled" style="padding:0 0.5rem;">
  1124. <i style="cursor: pointer;" class="fa fa-upload" aria-hidden="true"></i>
  1125. <span id="uploadFiles"></span>
  1126. </a>
  1127. <div style="float: right;">
  1128. <li style="display: none;">
  1129. <ul id="localsssssaveOrOpen" class="dropdown-content active">
  1130. <li style="padding: 14px 16px;" onclick="uploadfile(true)">
  1131. <a>开机启动可视化菜单界面</a></li>
  1132. <li style="padding: 14px 16px;" onclick="uploadfile(false)">
  1133. <a>开机运行上次的程序</a></li>
  1134. </ul>
  1135. <a id="qiehuanbtn"
  1136. class="qiehuanbtn btn dropdown-trigger blue lang_resize dropdown-button disabled"
  1137. data-activates="localsssssaveOrOpen"><span
  1138. id="runCuploadFilesode">更换启动模式</span><i
  1139. class="material-icons right"
  1140. style="margin-left: 0;">arrow_drop_down</i></a>
  1141. </li>
  1142. <a id="send_string" onclick="sendstring('machine.reset()')" class="waves-effect
  1143. waves-light btn blue disabled" style="margin-right:0.5rem;"><span
  1144. id="resetDevice">Reset Device</span></a>
  1145. </div>
  1146. </div>
  1147. <a onclick="getmcnty()" class="waves-effect waves-light btn blue"
  1148. style="display:none"><span id="gettype">Upload
  1149. files</span></a>
  1150. </div> -->
  1151. <div class="row" id="uploader_connect_status"
  1152. style="margin-top: 16px;display: block;">
  1153. <div class="col s12">
  1154. <div style="margin:7px 0;">
  1155. <span class="translatable_uploader_connect_status"
  1156. style="font-size: 16px;color: #3D3D3D;letter-spacing: 0;">请到"连接"下载安装程序并连接硬件。</span>
  1157. </div>
  1158. </div>
  1159. </div>
  1160. <div class="row" id="progress" style="margin-top: 16px;display: none;">
  1161. <div class="col s12">
  1162. <div class="progress" style="margin:7px 0;">
  1163. <div class="determinate green" style="width:0%;"></div>
  1164. </div>
  1165. </div>
  1166. </div>
  1167. <div class="row">
  1168. <div class="col s6" style="float: right;">
  1169. <div style="float: right;margin-top: 15px;">
  1170. <div style="display: inline-block;vertical-align: middle;">
  1171. <img id="runSuccess" src="./images/success.png"
  1172. style="display: none;" />
  1173. <img id="runFail" src="./images/fail.png" style="display: none;" />
  1174. </div>
  1175. <div style="display: inline-block;">
  1176. <span id="statusMsg" style="display: none;"></span>
  1177. </div>
  1178. </div>
  1179. </div>
  1180. </div>
  1181. </div>
  1182. <div class="blockpy-toolbar btn-toolbar hidden" style="align-self:center;margin: 20px 8px 0;text-align:
  1183. center;">
  1184. <div class="btn-toolbar-title">直接将代码上传到电子模块中<div></div>
  1185. </div>
  1186. <div class="btn-toolbar-inputbox"><input type="text" name="webrepl_url" id="url"
  1187. placeholder="Select a device"><input type="submit" id='button'
  1188. value='Connect' onclick='button_click(); return false'></div>
  1189. <div class="btn-toolbar-btnbox"></div>
  1190. <!--<button onclick='sendfile();' style='width: 80%;background: #6e83cc !important;margin-top: 15px;font-size: 16px;height:45px' class='waves-effect waves-light btn blue blockpy-run translate-execute'>上傳</button>-->
  1191. <!--<button class='waves-effect waves-light btn blue blockpy-run translate-execute'>UPLOAD</button>-->
  1192. <!-- <button href="#aiymodal" class='waves-effect waves-light btn blue modal-trigger'>run on aiy</button> -->
  1193. <!--<button id="resetAll" class='waves-effect waves-light btn blue translate-reset' style="float:right;">reset</button> <button id="clearOutput" class='waves-effect waves-light btn blue translate-clear' style="float:right;margin-right:5px;">clear</button>-->
  1194. </div>
  1195. <div class="blockpy-toolbar btn-toolbar hidden" style="align-self:center;margin: 20px 8px 0;text-align:
  1196. center;">
  1197. <div class="btn-toolbar-title2">直接将代码上传到电子模块中 <div></div>
  1198. </div>
  1199. <div class="btn-toolbar-inputbox2"><select>
  1200. <option></option>
  1201. </select></div>
  1202. </div>
  1203. <div class="card-reveal grey darken-3 white-text" style="padding:8px 13px;">
  1204. <div class="card-title" style="height:18%;margin-bottom:2px;">
  1205. <span class="translatable_errmsg" style="font-weight:normal;">Error
  1206. Message</span>
  1207. <a id="err-copy" style="display:inline-block;margin-left:26px;"
  1208. data-clipboard-action="copy" data-clipboard-target="#err-msg">
  1209. <i class="material-icons right"
  1210. style="color:#fff;font-size:18px;cursor:pointer;">content_copy</i>
  1211. </a>
  1212. <i class="material-icons right" style="cursor:pointer;">close</i>
  1213. </div>
  1214. <div style="width:100%;height:78%;">
  1215. <textarea readonly id="err-msg"
  1216. style="color:#fff;overflow:visible;font-size:14px;height:100%;resize:none;border:none;"></textarea>
  1217. </div>
  1218. </div>
  1219. </div>
  1220. <!-- <div class="card plugin_options options_hide">
  1221. <div class="card-content">
  1222. <div>
  1223. <span id="downloadver" style="display:none">1.0.6</span>
  1224. <a download=""
  1225. href="//cocorobo.cn/downloads/CocoBlocklyXUploaderInstallerv1.0.10.pkg"
  1226. target="_black"><img src="./icons/mac-icon.png">Mac </a>
  1227. <a download=""
  1228. href="//cocorobo.cn/downloads/CocoBlocklyXUploaderInstallerv1.0.11.exe"
  1229. target="_black"><img src="./icons/windows-icon.png">Windows </a> </div>
  1230. </div>
  1231. </div> -->
  1232. </div>
  1233. </div>
  1234. </div>
  1235. <div class='modal blockpy-popup'>
  1236. <div class='modal-content' id='modal-message'>
  1237. <div class='modal-header'>
  1238. <h4 class='modal-title'>Dynamic Content</h4>
  1239. </div>
  1240. <hr style="border-top: 1px solid #ddd;margin:20px 0 10px 0;">
  1241. <div class='modal-body' style='width:100%;min-height:200px;'> </div>
  1242. </div>
  1243. <div class='modal-footer'> <button
  1244. class='waves-effect waves-light btn blue modal-close translate-close'>close</button>
  1245. </div>
  1246. </div>
  1247. <div id="aiymodal" class="modal">
  1248. <div class="modal-content" height="50%">
  1249. <h4>Run on AIY</h4>
  1250. <p>This feature gives you the ability to run your AIY python code directly to the AIY Vision Kit
  1251. or Voice Kit, follow the instruction below:</p>
  1252. <div style="margin-top:30px;"> <b
  1253. style="background-color:#fff; border-radius:25px;padding:
  1254. 10px 20px; box-shadow: 1px 5px 23px -10px rgba(0,0,0,0.59);">Step 1</b> </div>
  1255. <div style="margin-top:30px;"> Run the <b data-position="bottom" data-tooltip="I am a
  1256. tooltip" class="tooltipped">AIY Helper</b>, <a id="AIYdownload"
  1257. style="cursor:pointer;">Download</a> the python code to local, <br />make sure you are
  1258. in the same network with the Google AIY Vision Kit. </div>
  1259. <div style="margin-top:30px;"> <b
  1260. style="background-color:#fff; border-radius:25px;padding:
  1261. 10px 20px; box-shadow: 1px 5px 23px -10px rgba(0,0,0,0.59);">Step 2</b> </div>
  1262. <div class="input-field col s9" style="margin-top:0px;"> Enter the IP Address of your Google
  1263. AIY Kit: <div class="input-field inline"> <input id="aiyip_input" class="validate">
  1264. </div> <a id="aiyModalRun" onclick="functionSSH();" style="margin-left:10px;"
  1265. class="waves-effect blue waves-light btn">Run</a> <a id="aiyModalStop"
  1266. onclick="functionSSHstop();" style="margin-left:10px;" class="waves-effect blue
  1267. waves-light btn">Stop</a>
  1268. <!-- <a id="aiyModalRun" style="margin-left:10px;" class="waves-effect blue waves-light btn">Run</a> -->
  1269. <!-- <a id="aiyModalStop" style="margin-left:10px;" class="waves-effect blue waves-light btn">Stop</a> -->
  1270. </div>
  1271. <div id="modal_preload" style="display:none">
  1272. <div style="position:relative;top:50%;transform:translateY(-50%);height:128px;width:128px;margin:0
  1273. auto;">
  1274. <div class="preloader-wrapper big active" style="top:0;left:0">
  1275. <div class="spinner-layer spinner-blue-only">
  1276. <div class="circle-clipper left">
  1277. <div class="circle"></div>
  1278. </div>
  1279. <div class="gap-patch">
  1280. <div class="circle"></div>
  1281. </div>
  1282. <div class="circle-clipper right">
  1283. <div class="circle" style="border-width: 8px;"></div>
  1284. </div>
  1285. </div>
  1286. </div>
  1287. </div>
  1288. </div>
  1289. </div>
  1290. <div class="modal-footer" style="margin-top:-20px;"> <a href="#!" class="modal-close
  1291. waves-effect waves-green btn-flat">Close</a> </div>
  1292. </div>
  1293. </div>
  1294. <!-- <ul id="icon-tool">
  1295. <li class="card-icon active" onclick="">
  1296. <i class="material-icons media">build</i>
  1297. </li>
  1298. <li id="file-tool" class="card-icon">
  1299. <i class="material-icons media">folder</i>
  1300. </li>
  1301. <li id="lang-tool" class="card-icon">
  1302. <i class="material-icons media">translate</i>
  1303. </li>
  1304. </ul> -->
  1305. <ul id="icon-tool" class="card-icon-area" style="display: none;">
  1306. <li class="card-icon active hidden" onclick="changeSideCard('code')">
  1307. <i class="material-icons media">build</i>
  1308. </li>
  1309. <li class="card-icon hidden" onclick="changeSideCard('monitor')">
  1310. <i class="material-icons ">search</i>
  1311. </li>
  1312. <!-- <li class="card-icon" onclick="changeSideCard('fullmode')">
  1313. <i class="material-icons ">crop_free</i>
  1314. </li> -->
  1315. <li id="bar_python" class="card-icon">
  1316. <a href="/python" target="_blank">
  1317. <img class="bar-icon" src="./icons/python_icon.png" style="height: 30px;">
  1318. </a>
  1319. </li>
  1320. <li id="lang-tool" class="card-icon">
  1321. <i class="material-icons">translate</i>
  1322. </li>
  1323. <li id="apps_center" class="card-icon modal-trigger" href="#app_center_modal" style="display:none;">
  1324. <img class="bar-icon Img-filter" src="./icons/cocoblockly-navbar_labs-icon.png">
  1325. </li>
  1326. <li id="bar_storage" class="card-icon">
  1327. <img class="bar-icon" src="./icons/storage_icon-blockly-widget.png">
  1328. </li>
  1329. <!-- http://help.cocorobo.cn/ target="_blank"-->
  1330. <li id="bar_help" class="card-icon">
  1331. <a href="//x-help.cocorobo.cn" target="_blank">
  1332. <img class="bar-icon" src="./icons/help_icon-blockly-widget.png">
  1333. </a>
  1334. </li>
  1335. <li id="bar_ai" class="card-icon" onclick="$('.MouduleBox')[1].style.display = 'block';">
  1336. <a href="#">
  1337. <img class="bar-icon" src="./icons/AIicon.png">
  1338. </a>
  1339. </li>
  1340. <li id="bar_t" class="card-icon modal-trigger" onclick="$('#ai_tt')[0].style.display = 'block';">
  1341. <a href="#">
  1342. <img class="bar-icon" src="./icons/l.png">
  1343. </a>
  1344. </li>
  1345. </ul>
  1346. <a id='side-lang-trigger' class='dropdown-button' data-activates='side-lang'></a>
  1347. <!-- <div id='side-lang-trigger'>
  1348. <a class='dropdown-trigger' data-target='side-lang'></a>
  1349. </div> -->
  1350. <ul id="side-lang" class='dropdown-content'>
  1351. <li onclick="changeLanguage('en')">
  1352. <a>English</a>
  1353. </li>
  1354. <li class="divider"></li>
  1355. <li onclick="changeLanguage('zh-hant')">
  1356. <a>繁体中文</a>
  1357. </li>
  1358. <li class="divider"></li>
  1359. <li onclick="changeLanguage('zh-hans')">
  1360. <a>简体中文</a>
  1361. </li>
  1362. </ul>
  1363. <a id='side-storage-trigger' class='dropdown-button' data-activates='side-storage'></a>
  1364. <ul id='side-storage' class='dropdown-content'>
  1365. <li class='modal-trigger' style="display:none;">
  1366. <span class="translatable_cloud_storage">Cloud</span>
  1367. </li>
  1368. <li class="divider"></li>
  1369. <li class='modal-trigger' href="#Storage_import_modal">
  1370. <span class="translatable_localimport">Import</span>
  1371. </li>
  1372. <li class="divider"></li>
  1373. <li class='modal-trigger' href="#Storage_export_modal">
  1374. <span class="translatable_localexport">Export</span>
  1375. </li>
  1376. </ul>
  1377. <div id='side-file-trigger'>
  1378. <a class='dropdown-trigger' data-target="side-file"></a>
  1379. </div>
  1380. <ul id='side-file' class='dropdown-content blockpy-toolbar'>
  1381. <li id="side_button_load">
  1382. <span class="translate_import">Import</span>
  1383. </li>
  1384. <li class="divider"></li>
  1385. <li id="side_button_save">
  1386. <span class="translate_export">Export</span>
  1387. </li>
  1388. </ul>
  1389. </div>
  1390. <footer id="footer" style="display:none">
  1391. <div style="padding:0 1.5rem">
  1392. <div><span class="translatable_copyright" style="color:#fff;">CocoRobo LTD © 2020 Copyright</span></div>
  1393. <div><span>CocoBlockly X</span></div>
  1394. </div>
  1395. </footer>
  1396. <!-- app center modal -->
  1397. <div id="app_center_modal" class="modal modal_closes">
  1398. <span class="modal_close" style="padding: 15px;position: absolute;right: 0;cursor: pointer;"><i
  1399. class="small material-icons" style="font-size: 1.5rem;">close</i></span>
  1400. <div id="TM_login"></div>
  1401. <div class="modal-content" style="padding: 20px;">
  1402. <span class="modal_close" style="padding: 15px;">
  1403. <i class="small material-icons" style="font-size: 1.5rem;">close</i>
  1404. </span>
  1405. <h4 class="translatable_labs_center_modal_title">CocoBlockly X Labs</h4>
  1406. <hr style="border-top: 1px solid #ddd;margin:20px 0 10px 0;" />
  1407. <div class="row" style="text-align:left;">
  1408. <div style="float:center;" class="col s3">
  1409. <p class="translatable_app_center_all_categories" style="padding-bottom:0px;font-weight: bold">
  1410. All
  1411. Categories:</p>
  1412. <div id="center_categories" class="collection ">
  1413. <a name="center_ai"
  1414. class="collection-item grey-text text-darken-4 active translatable_app_center_ai"
  1415. onclick="ACCategorySelect(1)">Artificial Intelligence</a>
  1416. <a name="center_iot"
  1417. class="collection-item grey-text text-darken-4 translatable_app_center_iot"
  1418. onclick="ACCategorySelect(2)">Internet of Things</a>
  1419. <a name="center_robot"
  1420. class="collection-item grey-text text-darken-4 translatable_app_center_robot"
  1421. onclick="ACCategorySelect(3)">Robot Controller</a>
  1422. <a name="center_science"
  1423. class="collection-item grey-text text-darken-4 translatable_app_center_science"
  1424. onclick="ACCategorySelect(4)">Science Experiements</a>
  1425. <a name="center_game"
  1426. class="collection-item grey-text text-darken-4 translatable_app_center_games"
  1427. onclick="ACCategorySelect(5)">Games</a>
  1428. <a name="center_arvr"
  1429. class="collection-item grey-text text-darken-4 translatable_app_center_arvr"
  1430. onclick="ACCategorySelect(6)">AR/VR</a>
  1431. </div>
  1432. </div>
  1433. <div style="float:center;padding-top:5px; overflow-y:auto;max-height:400px" class="col s9">
  1434. <div id="center_ai" class=" col s12">
  1435. <h5 class="translatable_app_center_ai">Artificial Intelligence</h5>
  1436. <ul class="tabs">
  1437. <li class="tab col s2"><a href="#center_ai_vision"
  1438. class="translatable_app_center_tab_vision active">Vision</a></li>
  1439. <li class="tab col s2"><a href="#center_ai_speech"
  1440. class="translatable_app_center_tab_speech">Speech</a></li>
  1441. <li class="tab col s2"><a href="#center_ai_text"
  1442. class="translatable_app_center_tab_text">Text</a></li>
  1443. </ul>
  1444. <div id="center_ai_vision" class="col s12">
  1445. <div class="row">
  1446. <div style="float:left;" class="col s6">
  1447. <div class="card">
  1448. <div class="card-image waves-effect waves-block waves-light">
  1449. <img class="" src="icons/AppCenter_ai_teachableMachine.jpg"
  1450. style="border: solid 1.2px lightgray;">
  1451. </div>
  1452. <div class="card-content">
  1453. <!-- <span class="AI_card_content">COCOCLOUD APP</span> -->
  1454. <span id="ac-card-title"
  1455. class="ac-card-title card-title activator grey-text text-darken-4 translatable_app_center_Teachabel_Machine">Teachable
  1456. Machine</span>
  1457. <p class="">
  1458. <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button modal-trigger"
  1459. href="#setting_teacher">Enter</a>
  1460. </p>
  1461. </div>
  1462. </div>
  1463. </div>
  1464. <div style="float:left;" class="col s6">
  1465. <div class="card">
  1466. <div class="card-image waves-effect waves-block waves-light">
  1467. <!-- <img class="activator" src="icons/app-center_ai_emotion.jpg"> -->
  1468. <img class="" src="icons/AppCenter_ai_emotion.jpg">
  1469. </div>
  1470. <div class="card-content">
  1471. <!-- <span class="AI_card_content">COCOCLOUD APP</span> -->
  1472. <span id="ac-card-title emotion_recognition_enter_button"
  1473. class="ac-card-title card-title activator grey-text text-darken-4 translatable_app_center_emotion_recognition">Emotion
  1474. Recognition</span>
  1475. <p class="">
  1476. <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button modal-trigger"
  1477. href="#setting_webcam_capture_modal">Enter</a>
  1478. </p>
  1479. </div>
  1480. </div>
  1481. </div>
  1482. </div>
  1483. <div class="row">
  1484. <div style="float:left;" class="col s6">
  1485. <div class="card">
  1486. <div class="card-image waves-effect waves-block waves-light">
  1487. <!-- <img class="activator" src="icons/app-center_ai_emotion.jpg"> -->
  1488. <img class="" src="icons/AppCenter_ai_gesture_recognition.jpg">
  1489. </div>
  1490. <div class="card-content">
  1491. <!-- <span class="AI_card_content">COCOCLOUD APP</span> -->
  1492. <span id="ac-card-title emotion_recognition_enter_button"
  1493. class="ac-card-title card-title activator grey-text text-darken-4 translatable_app_center_gesture_recognition translatable_gesturesTitle">Gesture
  1494. Recognition</span>
  1495. <p class="">
  1496. <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button modal-trigger"
  1497. href="#setting_gesture_recog_modal">Enter</a>
  1498. </p>
  1499. </div>
  1500. </div>
  1501. </div>
  1502. <div style="float:left;" class="col s6">
  1503. <div class="card">
  1504. <div class="card-image waves-effect waves-block waves-light">
  1505. <!-- <img class="activator" src="icons/app-center_ai_emotion.jpg"> -->
  1506. <img class="" src="icons/object_recognition_header.jpg">
  1507. </div>
  1508. <div class="card-content">
  1509. <!-- <span class="AI_card_content">COCOCLOUD APP</span> -->
  1510. <span id="ac-card-title emotion_recognition_enter_button"
  1511. class="ac-card-title card-title activator grey-text text-darken-4 translatable_app_center_object_recognition translatable_objectRecognition">Object
  1512. Recognition</span>
  1513. <p class="">
  1514. <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button modal-trigger"
  1515. href="#setting_objectRecog">Enter</a>
  1516. </p>
  1517. </div>
  1518. </div>
  1519. </div>
  1520. <div style="float:left;" class="col s6">
  1521. <div class="card">
  1522. <div class="card-image waves-effect waves-block waves-light">
  1523. <!-- <img class="activator" src="icons/app-center_ai_emotion.jpg"> -->
  1524. <img class="" src="icons/posenet_recogition.png">
  1525. </div>
  1526. <div class="card-content">
  1527. <!-- <span class="AI_card_content">COCOCLOUD APP</span> -->
  1528. <span id="ac-card-title emotion_recognition_enter_button"
  1529. class="ac-card-title card-title activator grey-text text-darken-4 translatable_app_center_object_recognition translatable_posenetRecognition">Posenet
  1530. Recognition</span>
  1531. <p class="">
  1532. <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button modal-trigger"
  1533. href="#setting_posenetRecog">Enter</a>
  1534. </p>
  1535. </div>
  1536. </div>
  1537. </div>
  1538. <div style="float:left;" class="col s6">
  1539. <div class="card">
  1540. <div class="card-image waves-effect waves-block waves-light">
  1541. <img class="" src="images/tm_with_pose.jpg"
  1542. style="border: solid 1.2px lightgray;">
  1543. </div>
  1544. <div class="card-content">
  1545. <!-- <span class="AI_card_content">COCOCLOUD APP</span> -->
  1546. <span id="ac-card-title"
  1547. class="ac-card-title card-title activator grey-text text-darken-4 translatable_app_center_Teachabel_Machine_posenet">Teachable
  1548. Machine (with Pose Recognition)</span>
  1549. <p class="">
  1550. <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button modal-trigger"
  1551. href="#setting_teacher_ponsenet">Enter</a>
  1552. </p>
  1553. </div>
  1554. </div>
  1555. </div>
  1556. </div>
  1557. </div>
  1558. <div id="center_ai_speech" class="col s12">
  1559. <div style="float:center;" class="col s6">
  1560. <div class="card">
  1561. <div class="card-image waves-effect waves-block waves-light">
  1562. <img class="" src="icons/AppCenter_ai_speech.jpg">
  1563. </div>
  1564. <div class="card-content">
  1565. <!-- <span class="AI_card_content">COCOCLOUD APP</span> -->
  1566. <span id="ac-card-title"
  1567. class="ac-card-title card-title activator grey-text text-darken-4 translatable_app_center_speech_recognition">Speech
  1568. Recognition</span>
  1569. <p class="">
  1570. <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button modal-trigger"
  1571. href="#voice_input_modal">Enter</a>
  1572. </p>
  1573. </div>
  1574. </div>
  1575. </div>
  1576. </div>
  1577. <div id="center_ai_text" class="col s12">
  1578. <div style="float:center;" class="col s6">
  1579. <div class="card">
  1580. <div class="card-image waves-effect waves-block waves-light">
  1581. <img class="" src="./icons/AppCenter_comingSoon.jpg">
  1582. </div>
  1583. <div class="card-content">
  1584. <span id="ac-card-title"
  1585. class="ac-card-title card-title activator grey-text text-darken-4 translatable_app_center_wait_to_come">Comming
  1586. soon</span>
  1587. <p class="">
  1588. <!-- <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button disabled" href="#">Enter</a> -->
  1589. </p>
  1590. </div>
  1591. </div>
  1592. </div>
  1593. </div>
  1594. </div>
  1595. <div id="center_iot" class=" col s12" style="display:none">
  1596. <h5 class="translatable_app_center_iot">Internet of Things</h5>
  1597. <div style="float:center;" class="col s6">
  1598. <div class="card">
  1599. <div class="card-image waves-effect waves-block waves-light">
  1600. <img class="" src="icons/AppCenter_iot_thingspeak.jpg">
  1601. </div>
  1602. <div class="card-content">
  1603. <!-- <span class="AI_card_content">3RD-PARTY APP</span> -->
  1604. <span id="ac-card-title"
  1605. class="ac-card-title card-title activator grey-text text-darken-4 ">ThingSpeak</span>
  1606. <p class="">
  1607. <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button modal-trigger"
  1608. href="https://thingspeak.com" target="_blank">Enter</a>
  1609. </p>
  1610. </div>
  1611. </div>
  1612. </div>
  1613. <div style="float:center;" class="col s6">
  1614. <div class="card">
  1615. <div class="card-image waves-effect waves-block waves-light">
  1616. <img class="" src="icons/AppCenter_iot_ifttt.jpg">
  1617. </div>
  1618. <div class="card-content">
  1619. <!-- <span class="AI_card_content">3RD-PARTY APP</span> -->
  1620. <span id="ac-card-title"
  1621. class="ac-card-title card-title activator grey-text text-darken-4 ">IFTTT</span>
  1622. <p class="">
  1623. <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button modal-trigger"
  1624. href="https://ifttt.com/maker_webhooks" target="_blank">Enter</a>
  1625. </p>
  1626. </div>
  1627. </div>
  1628. </div>
  1629. </div>
  1630. <div id="center_robot" class=" col s12" style="display:none">
  1631. <h5 class="translatable_app_center_robot">Robot Controller</h5>
  1632. <div style="float:center;" class="col s6">
  1633. <div class="card">
  1634. <div class="card-image waves-effect waves-block waves-light">
  1635. <img class="" src="./icons/AppCenter_comingSoon.jpg">
  1636. </div>
  1637. <div class="card-content">
  1638. <span id="ac-card-title"
  1639. class="ac-card-title card-title activator grey-text text-darken-4 translatable_app_center_wait_to_come">Comming
  1640. soon</span>
  1641. <p class="">
  1642. <!-- <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button disabled" href="#">Enter</a> -->
  1643. </p>
  1644. </div>
  1645. </div>
  1646. </div>
  1647. </div>
  1648. <div id="center_science" class="col s12" style="display:none">
  1649. <h5 class="translatable_app_center_science">Science Experiements</h5>
  1650. <div style="float:center;" class="col s6">
  1651. <div class="card">
  1652. <div class="card-image waves-effect waves-block waves-light">
  1653. <img class="" src="./icons/AppCenter_comingSoon.jpg">
  1654. </div>
  1655. <div class="card-content">
  1656. <span id="ac-card-title"
  1657. class="ac-card-title card-title activator grey-text text-darken-4 translatable_app_center_wait_to_come">Comming
  1658. soon</span>
  1659. <p class="">
  1660. <!-- <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button disabled" href="#">Enter</a> -->
  1661. </p>
  1662. </div>
  1663. </div>
  1664. </div>
  1665. </div>
  1666. <div id="center_game" class=" col s12" style="display:none">
  1667. <h5 class="translatable_app_center_games">Interactive Games</h5>
  1668. <div style="float:center;" class="col s6">
  1669. <div class="card">
  1670. <div class="card-image waves-effect waves-block waves-light">
  1671. <img class="" src="./icons/AppCenter_game_floppy-bird.jpg">
  1672. </div>
  1673. <div class="card-content">
  1674. <!-- <span class="AI_card_content">3RD-PARTY APP</span> -->
  1675. <span id="ac-card-title"
  1676. class="ac-card-title card-title activator grey-text text-darken-4 translatable_app_center_game_flappy">Floppy
  1677. bird</span>
  1678. <p class="">
  1679. <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button "
  1680. href="https://cocorobo.cn/demo/floppybird/" target="_blank">Enter</a>
  1681. </p>
  1682. </div>
  1683. </div>
  1684. </div>
  1685. <div style="float:center;" class="col s6">
  1686. <div class="card">
  1687. <div class="card-image waves-effect waves-block waves-light">
  1688. <img class="" src="icons/AppCenter_game_space_lamb.jpg">
  1689. </div>
  1690. <div class="card-content">
  1691. <!-- <span class="AI_card_content">3RD-PARTY APP</span> -->
  1692. <span id="ac-card-title"
  1693. class="ac-card-title card-title activator grey-text text-darken-4 translatable_app_center_game_space_lamb">Space
  1694. Lamb</span>
  1695. <p class="">
  1696. <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button "
  1697. href="https://spacelamb.12wave.com" target="_blank">Enter</a>
  1698. </p>
  1699. </div>
  1700. </div>
  1701. </div>
  1702. </div>
  1703. <div id="center_arvr" class=" col s12" style="display:none">
  1704. <h5 class="translatable_app_center_arvr">AR/VR</h5>
  1705. <div style="float:center;" class="col s6">
  1706. <div class="card">
  1707. <div class="card-image waves-effect waves-block waves-light">
  1708. <!-- <img class="activator" src="icons/app-center_ai_speech.jpg"> -->
  1709. <img class="" src="icons/AppCenter_comingSoon.jpg">
  1710. </div>
  1711. <div class="card-content">
  1712. <span id="ac-card-title"
  1713. class="ac-card-title card-title activator grey-text text-darken-4 translatable_app_center_wait_to_come">Comming
  1714. soon</span>
  1715. <p class="">
  1716. <!-- <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button disabled" href="#">Enter</a> -->
  1717. </p>
  1718. </div>
  1719. </div>
  1720. </div>
  1721. </div>
  1722. </div>
  1723. </div>
  1724. </div>
  1725. </div>
  1726. <!-- 显示Teachable Machine modal配置弹框 -->
  1727. <div id="setting_teacher" class="modal modal_closes">
  1728. <span class="modal_close" style="padding: 15px;position: absolute;right: 0;cursor: pointer;"><i
  1729. class="small material-icons" style="font-size: 1.5rem;">close</i></span>
  1730. <div class="modal-content" style="padding: 20px;">
  1731. <span class="modal_close" style="padding: 15px;">
  1732. <i class="small material-icons" style="font-size: 1.5rem;">close</i>
  1733. </span>
  1734. <h4 class="translatable_labs_center_modal_title">CocoBlockly Labs</h4>
  1735. <hr style="border-top: 1px solid #ddd;margin:20px 0 10px 0;" />
  1736. <div style="display:flex;justify-content:space-around;">
  1737. <div class="modal_setting_teacher_left setting_left_all">
  1738. <div class="card-image waves-effect waves-block waves-light">
  1739. <img class="" src="icons/AppCenter_ai_teachableMachine.jpg"
  1740. style="border: solid 1.2px lightgray;width: 100%;">
  1741. </div>
  1742. <div>
  1743. <span id="ac-card-title"
  1744. class="ac-card-title card-title activator grey-text text-darken-4 translatable_app_center_Teachabel_Machine"
  1745. style="font-size: 30px;">Teachable
  1746. Machine</span>
  1747. <p class="translatable_Teachabel_Machin_content">The trend of robot development is
  1748. artificial
  1749. intelligence. Deep learning is the frontier technology of intelligent robot and a new
  1750. topic
  1751. in the field of machine learning.Deep learning technology is widely used in agriculture,
  1752. industry, military, aviation and other fields, and the organic combination with machines
  1753. can
  1754. design intelligent robots with high working efficiency, high real-time and high
  1755. accuracy.
  1756. </p>
  1757. </div>
  1758. </div>
  1759. <div class="modal_setting_teacher_right setting_right_all">
  1760. <div class="translatable_computer_configuration"
  1761. style="background: rgb(33, 150, 243);padding: 5px 10px;color: #fff;border-top-left-radius: 5px;border-top-right-radius: 5px;">
  1762. <span>Computer Configuration Requirements</span>
  1763. </div>
  1764. <div class="setting_border">
  1765. <p><span class="translatable_the_operating_system">Minimum Opearting System
  1766. version</span>:Windows (>Windows7), macOS (>10.11)</p>
  1767. <p><span class="translatable_resolution_of_the">Suggested Resolution
  1768. Supported</span>:1440*768
  1769. </p>
  1770. <p><span class="translatable_memory_capacity">Memory Capacity</span>:8GB-16GB</p>
  1771. <p><span class="translatable_the_hard_disk">The Hard Disk</span>:256GB-512Gb</p>
  1772. <p><span class="translatable_the_graphics_card">The Graphics Card</span>:650M</p>
  1773. <p><span class="translatable_is_need_camera">Do you need a camera</span>:<span
  1774. class="translatable_need">OK</span></p>
  1775. <p><span class="translatable_is_need_microphone">Do you need a microphone</span>:<span
  1776. class="translatable_no_need">NO</span></p>
  1777. </div>
  1778. <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button modal-trigger"
  1779. href="#Teachable_Machine" style="width: 94%;position: absolute;bottom: 5px;">Enter</a>
  1780. </div>
  1781. </div>
  1782. </div>
  1783. </div>
  1784. <!--Teachable Machine modal-->
  1785. <div id="Teachable_Machine" class="modal TM_class modal_closes">
  1786. <span class="modal_close" style="padding: 15px;position: absolute;right: 0;cursor: pointer;"><i
  1787. class="small material-icons" style="font-size: 1.5rem;">close</i></span>
  1788. <div id="TM_login" style="margin-top:10px;top:10%;position:relative"></div>
  1789. <div id="TM_iframe" style="height:100%; width:100%; display:none"></div>
  1790. <div id="teachable_modal" class="object_modal">
  1791. <img src="./gif/loading.gif"
  1792. style="position: absolute;top: calc(50% - 140px);width: 500px;left: calc(50% - 250px);" />
  1793. </div>
  1794. </div>
  1795. <!-- 显示Teachable Machine modal配置弹框 -->
  1796. <div id="setting_teacher_ponsenet" class="modal modal_closes">
  1797. <span class="modal_close" style="padding: 15px;position: absolute;right: 0;cursor: pointer;"><i
  1798. class="small material-icons" style="font-size: 1.5rem;">close</i></span>
  1799. <div class="modal-content" style="padding: 20px;">
  1800. <h4 class="translatable_labs_center_modal_title">CocoBlockly Labs</h4>
  1801. <hr style="border-top: 1px solid #ddd;margin:20px 0 10px 0;" />
  1802. <div style="display:flex;justify-content:space-around;">
  1803. <div class="modal_setting_teacher_left setting_left_all">
  1804. <div class="card-image waves-effect waves-block waves-light">
  1805. <img class="" src="images/tm_with_pose.jpg"
  1806. style="border: solid 1.2px lightgray;width: 100%;">
  1807. </div>
  1808. <div>
  1809. <span id="ac-card-title"
  1810. class="ac-card-title card-title activator grey-text text-darken-4 translatable_app_center_Teachabel_Machine_posenet"
  1811. style="font-size: 30px;">Teachable
  1812. Machine</span>
  1813. <p class="translatable_Teachabel_Machin_content">The trend of robot development is
  1814. artificial
  1815. intelligence. Deep learning is the frontier technology of intelligent robot and a new
  1816. topic
  1817. in the field of machine learning.Deep learning technology is widely used in agriculture,
  1818. industry, military, aviation and other fields, and the organic combination with machines
  1819. can
  1820. design intelligent robots with high working efficiency, high real-time and high
  1821. accuracy.
  1822. </p>
  1823. </div>
  1824. </div>
  1825. <div class="modal_setting_teacher_right setting_right_all">
  1826. <div class="translatable_computer_configuration"
  1827. style="background: rgb(33, 150, 243);padding: 5px 10px;color: #fff;border-top-left-radius: 5px;border-top-right-radius: 5px;">
  1828. <span>Computer Configuration Requirements</span>
  1829. </div>
  1830. <div class="setting_border">
  1831. <p><span class="translatable_the_operating_system">Minimum Opearting System
  1832. version</span>:Windows (>Windows7), macOS (>10.11)</p>
  1833. <p><span class="translatable_resolution_of_the">Suggested Resolution
  1834. Supported</span>:1440*768
  1835. </p>
  1836. <p><span class="translatable_memory_capacity">Memory Capacity</span>:8GB-16GB</p>
  1837. <p><span class="translatable_the_hard_disk">The Hard Disk</span>:256GB-512Gb</p>
  1838. <p><span class="translatable_the_graphics_card">The Graphics Card</span>:650M</p>
  1839. <p><span class="translatable_is_need_camera">Do you need a camera</span>:<span
  1840. class="translatable_need">OK</span></p>
  1841. <p><span class="translatable_is_need_microphone">Do you need a microphone</span>:<span
  1842. class="translatable_no_need">NO</span></p>
  1843. </div>
  1844. <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button modal-trigger"
  1845. href="#Teachable_Machine_ponsenet"
  1846. style="width: 94%;position: absolute;bottom: 5px;">Enter</a>
  1847. </div>
  1848. </div>
  1849. </div>
  1850. </div>
  1851. <!--Teachable Machine modal-->
  1852. <div id="Teachable_Machine_ponsenet" class="modal TM_class modal_closes" style="position:relative">
  1853. <span class="modal_close" style="padding: 15px;position: absolute;right: 0;cursor: pointer;"><i
  1854. class="small material-icons" style="font-size: 1.5rem;">close</i></span>
  1855. <div id="TM_posenet_login" style="margin-top:10px;top:10%;position:relative"></div>
  1856. <div id="TM_posenet_iframe" style="height:100%; width:100%;"></div>
  1857. <div id="teachable_posenet_modal" class="object_modal">
  1858. <img src="./gif/loading.gif"
  1859. style="position: absolute;top: calc(50% - 140px);width: 500px;left: calc(50% - 250px);" />
  1860. </div>
  1861. </div>
  1862. <!-- 显示Object Recog_modal modal配置弹框-->
  1863. <div id="setting_objectRecog" class="modal modal_closes">
  1864. <span class="modal_close" style="padding: 15px;position: absolute;right: 0;cursor: pointer;"><i
  1865. class="small material-icons" style="font-size: 1.5rem;">close</i></span>
  1866. <div class="modal-content" style="padding: 20px;">
  1867. <span class="modal_close" style="padding: 15px;">
  1868. <i class="small material-icons" style="font-size: 1.5rem;">close</i>
  1869. </span>
  1870. <h4 class="translatable_labs_center_modal_title">CocoBlockly Labs</h4>
  1871. <hr style="border-top: 1px solid #ddd;margin:20px 0 10px 0;" />
  1872. <div style="display: flex;justify-content:space-around;">
  1873. <div class="modal_setting_objectRecog_left setting_left_all">
  1874. <div class="card-image waves-effect waves-block waves-light">
  1875. <img class="" src="icons/object_recognition_header.jpg"
  1876. style="border: solid 1.2px lightgray;width: 100%;">
  1877. </div>
  1878. <div>
  1879. <span id="ac-card-title emotion_recognition_enter_button" class="ac-card-title card-title activator grey-text text-darken-4
  1880. translatable_app_center_object_recognition translatable_objectRecognition"
  1881. style="font-size: 30px;">Object
  1882. Recognition</span>
  1883. <p class="translatable_objectRecognition_content">The development trend of object
  1884. recognition is
  1885. artificial intelligence. Object recognition is the frontier technology of intelligent
  1886. recognition and a new subject in the field of recognition.Object recognition technology
  1887. is
  1888. widely used in agriculture, industry, military, aviation and other fields.
  1889. </p>
  1890. </div>
  1891. </div>
  1892. <div class="modal_setting_objectRecog_right setting_right_all" style="width: 48%;">
  1893. <div class="translatable_computer_configuration"
  1894. style="background: rgb(33, 150, 243);padding: 5px 10px;color: #fff;border-top-left-radius: 5px;border-top-right-radius: 5px;">
  1895. <span>Computer Configuration Requirements</span>
  1896. </div>
  1897. <div class="setting_border">
  1898. <p><span class="translatable_the_operating_system">Minimum Opearting System
  1899. version</span>:Windows (>Windows7), macOS (>10.11)</p>
  1900. <p><span class="translatable_resolution_of_the">Suggested Resolution
  1901. Supported</span>:1440*768
  1902. </p>
  1903. <p><span class="translatable_memory_capacity">Memory Capacity</span>:8GB-16GB</p>
  1904. <p><span class="translatable_the_hard_disk">The Hard Disk</span>:256GB-512Gb</p>
  1905. <p><span class="translatable_the_graphics_card">The Graphics Card</span>:650M</p>
  1906. <p><span class="translatable_is_need_camera">Do you need a camera</span>:<span
  1907. class="translatable_need">OK</span></p>
  1908. <p><span class="translatable_is_need_microphone">Do you need a microphone</span>:<span
  1909. class="translatable_no_need">NO</span></p>
  1910. </div>
  1911. <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button modal-trigger"
  1912. href="#Object_recog_modal" style="width: 94%;position: absolute;bottom: 5px;">Enter</a>
  1913. </div>
  1914. </div>
  1915. </div>
  1916. </div>
  1917. <!--Object Recog_modal modal-->
  1918. <div id="Object_recog_modal" class="modal TM_class modal_closes" style="position:relative">
  1919. <span class="modal_close" style="padding: 15px;position: absolute;right: 0;cursor: pointer;"><i
  1920. class="small material-icons" style="font-size: 1.5rem;">close</i></span>
  1921. <div id="TM_login_object" style="margin-top:10px;top:10%;position:relative"></div>
  1922. <div id="TM_iframe_object" style="height:100%; width:100%; display:none"></div>
  1923. <div id="object_modal" class="object_modal">
  1924. <img src="./gif/loading.gif"
  1925. style="position: absolute;top: calc(50% - 140px);width: 500px;left: calc(50% - 250px);" />
  1926. </div>
  1927. </div>
  1928. <!-- 显示posenet Recog_modal modal配置弹框 -->
  1929. <div id="setting_posenetRecog" class="modal modal_closes">
  1930. <span class="modal_close" style="padding: 15px;position: absolute;right: 0;cursor: pointer;"><i
  1931. class="small material-icons" style="font-size: 1.5rem;">close</i></span>
  1932. <div class="modal-content" style="padding: 20px;">
  1933. <span class="modal_close" style="padding: 15px;">
  1934. <i class="small material-icons" style="font-size: 1.5rem;">close</i>
  1935. </span>
  1936. <h4 class="translatable_labs_center_modal_title">CocoBlockly Labs</h4>
  1937. <hr style="border-top: 1px solid #ddd;margin:20px 0 10px 0;" />
  1938. <div style="display: flex;justify-content:space-around;">
  1939. <div class="modal_setting_objectRecog_left setting_left_all">
  1940. <div class="card-image waves-effect waves-block waves-light">
  1941. <img class="" src="icons/posenet_recogition.png"
  1942. style="border: solid 1.2px lightgray;width: 100%;">
  1943. </div>
  1944. <div>
  1945. <span id="ac-card-title emotion_recognition_enter_button" class="ac-card-title card-title activator grey-text text-darken-4
  1946. translatable_app_center_object_recognition translatable_posenetRecognition"
  1947. style="font-size: 30px;">Posenet
  1948. Recognition</span>
  1949. <p class="translatable_posenetRecognition_content">The development trend of object
  1950. recognition
  1951. is
  1952. artificial intelligence. Object recognition is the frontier technology of intelligent
  1953. recognition and a new subject in the field of recognition.Object recognition technology
  1954. is
  1955. widely used in agriculture, industry, military, aviation and other fields.
  1956. </p>
  1957. </div>
  1958. </div>
  1959. <div class="modal_setting_objectRecog_right setting_right_all" style="width: 48%;">
  1960. <div class="translatable_computer_configuration"
  1961. style="background: rgb(33, 150, 243);padding: 5px 10px;color: #fff;border-top-left-radius: 5px;border-top-right-radius: 5px;">
  1962. <span>Computer Configuration Requirements</span>
  1963. </div>
  1964. <div class="setting_border">
  1965. <p><span class="translatable_the_operating_system">Minimum Opearting System
  1966. version</span>:Windows (>Windows7), macOS (>10.11)</p>
  1967. <p><span class="translatable_resolution_of_the">Suggested Resolution
  1968. Supported</span>:1440*768
  1969. </p>
  1970. <p><span class="translatable_memory_capacity">Memory Capacity</span>:8GB-16GB</p>
  1971. <p><span class="translatable_the_hard_disk">The Hard Disk</span>:256GB-512Gb</p>
  1972. <p><span class="translatable_the_graphics_card">The Graphics Card</span>:650M</p>
  1973. <p><span class="translatable_is_need_camera">Do you need a camera</span>:<span
  1974. class="translatable_need">OK</span></p>
  1975. <p><span class="translatable_is_need_microphone">Do you need a microphone</span>:<span
  1976. class="translatable_no_need">NO</span></p>
  1977. </div>
  1978. <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button modal-trigger"
  1979. href="#Posent_recog_modal" style="width: 94%;position: absolute;bottom: 5px;">Enter</a>
  1980. </div>
  1981. </div>
  1982. </div>
  1983. </div>
  1984. <!--Object Recog_modal modal-->
  1985. <div id="Posent_recog_modal" class="modal TM_class modal_closes" style="position:relative">
  1986. <span class="modal_close" style="padding: 15px;position: absolute;right: 0;cursor: pointer;"><i
  1987. class="small material-icons" style="font-size: 1.5rem;">close</i></span>
  1988. <div id="TM_login_posenet" style="margin-top:10px;top:10%;position:relative"></div>
  1989. <div id="TM_iframe_posenet" style="height:100%; width:100%; display:none"></div>
  1990. <div id="posenet_modal" class="object_modal">
  1991. <img src="./gif/loading.gif"
  1992. style="position: absolute;top: calc(50% - 140px);width: 500px;left: calc(50% - 250px);" />
  1993. </div>
  1994. </div>
  1995. <!-- 显示webcam input modal配置弹框 -->
  1996. <div id="setting_webcam_capture_modal" class="modal modal_closes">
  1997. <span class="modal_close" style="padding: 15px;position: absolute;right: 0;cursor: pointer;"><i
  1998. class="small material-icons" style="font-size: 1.5rem;">close</i></span>
  1999. <div class="modal-content" style="padding: 20px;">
  2000. <span class="modal_close" style="padding: 15px;">
  2001. <i class="small material-icons" style="font-size: 1.5rem;">close</i>
  2002. </span>
  2003. <h4 class="translatable_labs_center_modal_title">CocoBlockly Labs</h4>
  2004. <hr style="border-top: 1px solid #ddd;margin:20px 0 10px 0;" />
  2005. <div style="display:flex;justify-content:space-around;">
  2006. <div class="modal_setting_teacher_left setting_left_all">
  2007. <div class="card-image waves-effect waves-block waves-light">
  2008. <img class="" src="icons/AppCenter_ai_emotion.jpg"
  2009. style="border: solid 1.2px lightgray;width: 100%;">
  2010. </div>
  2011. <div>
  2012. <span id="ac-card-title emotion_recognition_enter_button"
  2013. class="ac-card-title card-title activator grey-text text-darken-4 translatable_app_center_emotion_recognition"
  2014. style="font-size: 30px;">Emotion
  2015. Recognition</span>
  2016. <p class="translatable_webcam_capture_content">The trend of robot development is artificial
  2017. intelligence. Deep learning is the frontier technology of intelligent robot and a new
  2018. topic
  2019. in the field of machine learning.Deep learning technology is widely used in agriculture,
  2020. industry, military, aviation and other fields, and the organic combination with machines
  2021. can
  2022. design intelligent robots with high working efficiency, high real-time and high
  2023. accuracy.
  2024. </p>
  2025. </div>
  2026. </div>
  2027. <div class="modal_setting_teacher_right setting_right_all">
  2028. <div class="translatable_computer_configuration"
  2029. style="background: rgb(33, 150, 243);padding: 5px 10px;color: #fff;border-top-left-radius: 5px;border-top-right-radius: 5px;">
  2030. <span>Computer Configuration Requirements</span>
  2031. </div>
  2032. <div class="setting_border">
  2033. <p><span class="translatable_the_operating_system">Minimum Opearting System
  2034. version</span>:Windows (>Windows7), macOS (>10.11)</p>
  2035. <p><span class="translatable_resolution_of_the">Suggested Resolution
  2036. Supported</span>:1440*768
  2037. </p>
  2038. <p><span class="translatable_memory_capacity">Memory Capacity</span>:8GB-16GB</p>
  2039. <p><span class="translatable_the_hard_disk">The Hard Disk</span>:256GB-512Gb</p>
  2040. <p><span class="translatable_the_graphics_card">The Graphics Card</span>:650M</p>
  2041. <p><span class="translatable_is_need_camera">Do you need a camera</span>:<span
  2042. class="translatable_need">Ok</span></p>
  2043. <p><span class="translatable_is_need_microphone">Do you need a microphone</span>:<span
  2044. class="translatable_no_need">NO</span></p>
  2045. </div>
  2046. <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button modal-trigger"
  2047. href="#webcam_capture_modal" style="width: 94%;position: absolute;bottom: 5px;">Enter</a>
  2048. </div>
  2049. </div>
  2050. </div>
  2051. </div>
  2052. <!-- webcam input modal -->
  2053. <div id="webcam_capture_modal" class="modal">
  2054. <div id="emotionRecognitionTitle" class="modal-content">
  2055. <div style="margin-bottom:-10px;margin-top:10px;" class="row">
  2056. <div class="col s8">
  2057. <h4 class="translatable_webcamDemoTitle">Emotion Recognition</h4>
  2058. </div>
  2059. <div style="text-align:right;" class="col s4">
  2060. <a style="cursor: pointer;text-decoration:none; color:rgba(0,0,0.9);"
  2061. id="emotion_recognition_close" class="modal-action modal-close">
  2062. <h4><i class="small material-icons">close</i></h4>
  2063. </a>
  2064. </div>
  2065. </div>
  2066. <!--<div> <span class="translatable_cloudFileTooltip" sytle="margin-left:10px">Type project's name and click save</span></div>-->
  2067. <div class="row">
  2068. <div class="col s12">
  2069. <div class="switch" style="margin-bottom:20px;">
  2070. <label>
  2071. <span class="translatable_emotion_camera_off">Camera Off</span>
  2072. <input id="camera_switch" type="checkbox" onclick="cameraSwitch()">
  2073. <span class="lever "></span><span class="translatable_emotion_camera_on">On</span>
  2074. </label>
  2075. </div>
  2076. </div>
  2077. </div>
  2078. <div class="row" style="text-align:left;">
  2079. <div style="float:center;" class="col s6">
  2080. <p class="translatable_face_webcam" style="margin-top:-20px;">Webcam:</p>
  2081. <div id="webCamera"></div>
  2082. <div class="translatable_emotion_camera_turnon_text" id="webCamPlaceholder">Turn on the Camera
  2083. first
  2084. </div>
  2085. </div>
  2086. <div style="float:center;" class="col s6">
  2087. <p class="translatable_face_latest_snapshot" style="margin-top:-20px;">Last snapshot:</p>
  2088. <div id="emotionResults"></div>
  2089. <div class="translatable_emotion_snapshot_text" id="SnapshotPlaceholder">Your snapshot will be
  2090. here
  2091. </div>
  2092. </div>
  2093. </div>
  2094. <div class="row">
  2095. <div class="col s12">
  2096. <a id="emotionRequestStatus"
  2097. class="disabled waves-effect waves-light btn blue translatable_face_analyze"
  2098. onclick="processImage()">Analyze</a>
  2099. <span id="azureRequestStatusText" style="padding-left:20px;"> </span>
  2100. </div>
  2101. </div>
  2102. <div class="row" style="text-align:left;">
  2103. <div id="emotionResultsAll" class="col s12">
  2104. <span class="translatable_emotion_result_title" id="facialanalysistitle"
  2105. style="font-weight:200;">Facial Analysis:</span>
  2106. <div style="display: flex;flex-wrap: wrap;margin-top: 10px;">
  2107. <p id="emotionResultsAll_property" style="width: 50%;">
  2108. <b class="translatable_emotion_result_age_title">Age:</b>
  2109. <span id="emotionResults_age"
  2110. class="emotionResultsAll_single translatable_emotion_result_default">Nothing
  2111. detected.</span>
  2112. </p>
  2113. <p id="emotionResultsAll_property" style="width: 50%;">
  2114. <b class="translatable_emotion_result_emotion_title">Emotion:</b>
  2115. <span id="emotionResults_emotion"
  2116. class="emotionResultsAll_single translatable_emotion_result_default">Nothing
  2117. detected.</span>
  2118. </p>
  2119. <p id="emotionResultsAll_property" style="width: 50%;">
  2120. <b class="translatable_emotion_result_gender_title">Gender:</b>
  2121. <span id="emotionResults_gender"
  2122. class="emotionResultsAll_single translatable_emotion_result_default">Nothing
  2123. detected.</span>
  2124. </p>
  2125. <p id="emotionResultsAll_property" style="width: 50%;">
  2126. <b class="translatable_emotion_result_glasses_title">Glasses:</b>
  2127. <span id="emotionResults_glasses"
  2128. class="emotionResultsAll_single translatable_emotion_result_default">Nothing
  2129. detected.</span>
  2130. </p>
  2131. <!-- <p id="emotionResultsAll_property" style="width: 50%;">
  2132. <b class="translatable_emotion_result_appearance_title">Appearance:</b>
  2133. <span id="emotionResults_appearance"
  2134. class="emotionResultsAll_single translatable_emotion_result_default">Nothing
  2135. detected.</span>
  2136. </p> -->
  2137. <p id="emotionResultsAll_property" style="width: 50%;">
  2138. <b class="translatable_emotion_result_expression_title">Expression:</b>
  2139. <span id="emotionResults_expression" class="emotionResultsAll_single">Nothing
  2140. detected.</span>
  2141. </p>
  2142. <p id="emotionResultsAll_property"
  2143. style="width: 100%;border-top: 1px solid #ccc;margin-top: 10px;padding-top: 10px;">
  2144. <b class="translatable_emotion_result_expression_title">Emotion:</b>
  2145. <span class="emotionResultsAll_single">smile、laugh、none</span>
  2146. </p>
  2147. <p id="emotionResultsAll_property" style="width: 100%;">
  2148. <b class="translatable_emotion_result_emotion_title">Expression:</b>
  2149. <span
  2150. class="emotionResultsAll_single">angry、disgust、fear、happy、sad、surprise、neutral、pouty、grimace</span>
  2151. </p>
  2152. </div>
  2153. </div>
  2154. <div class="col s12 select_send_way" style="position: relative; margin:12px 0;padding: 0;">
  2155. <span class="select_send_way_color translatable_send_cloud">Send Cloud</span>
  2156. <!-- <span class="translatable_send_module">Send Module</span> -->
  2157. </div>
  2158. </div>
  2159. <div class="row">
  2160. <div class="col s12 send_cloud" style="position: relative">
  2161. <div id="cloudRequestStatus" class="col s12">
  2162. </div>
  2163. <div class="translatable_selectEvent">Choose a CocoCloud event here, the analyzed result will
  2164. directly send to there</div>
  2165. <div style="width:100%;margin-top: 15px;">
  2166. <select class="browser-default" id="AI_webcam_events">
  2167. <option class="translatable_noEvent" value=null disabled>No event here. Login first
  2168. </option>
  2169. </select>
  2170. </div>
  2171. <span style="float:right;top: -45px;position: relative;margin-top: -38px;">
  2172. <i id="update_Coevent_web" class="material-icons">autorenew</i>
  2173. </span>
  2174. </div>
  2175. <div class="col s12 send_module" style="position: relative;display: none;height: 100px;">
  2176. <div class="translatable_send_module">Send Module</div>
  2177. <div class="col s6" style="margin-top:2px;padding: 0;">
  2178. <span class="translatable_send_result">Send Result:</span>
  2179. <select class="browser-default" id="select_send_capture"
  2180. style="width: 120px;display: inline-block;height: 35px;">
  2181. <option value="emotionResults_age" class="translatable_emotion_result_age_title">Age
  2182. </option>
  2183. <option value="emotionResults_emotion"
  2184. class="translatable_emotion_result_emotion_title">
  2185. Emotion</option>
  2186. <option value="emotionResults_gender" class="translatable_emotion_result_gender_title">
  2187. Sex
  2188. </option>
  2189. <option value="emotionResults_glasses"
  2190. class="translatable_emotion_result_glasses_title">
  2191. Glasses</option>
  2192. <option value="emotionResults_expression"
  2193. class="translatable_emotion_result_expression_title">Expression</option>
  2194. </select>
  2195. <span class="translatable_port">Port:</span>
  2196. <span class="port" style="padding-left:10px;"></span>
  2197. </div>
  2198. <div class="col s6" style="margin-top:2px;">
  2199. <a class="waves-effect waves-light blue lighten-2 btn translatable_connectBtn translatable_connectBtns disabled"
  2200. style="float:right;margin-right:5px">connect</a>
  2201. <a class="waves-effect waves-light blue lighten-2 btn translatable_disconnectBtn translatable_disconnectBtns "
  2202. style="float:right;margin-right:5px;display:none">disconnect</a>
  2203. </div>
  2204. </div>
  2205. </div>
  2206. </div>
  2207. </div>
  2208. <!-- 显示gesture recognition modal配置弹框 -->
  2209. <div id="setting_gesture_recog_modal" class="modal modal_closes">
  2210. <span class="modal_close" style="padding: 15px;position: absolute;right: 0;cursor: pointer;"><i
  2211. class="small material-icons" style="font-size: 1.5rem;">close</i></span>
  2212. <div class="modal-content" style="padding: 20px;">
  2213. <span class="modal_close" style="padding: 15px;">
  2214. <i class="small material-icons" style="font-size: 1.5rem;">close</i>
  2215. </span>
  2216. <h4 class="translatable_labs_center_modal_title">CocoBlockly Labs</h4>
  2217. <hr style="border-top: 1px solid #ddd;margin:20px 0 10px 0;" />
  2218. <div style="display:flex;justify-content:space-around;">
  2219. <div class="modal_setting_teacher_left setting_left_all">
  2220. <div class="card-image waves-effect waves-block waves-light">
  2221. <img class="" src="icons/AppCenter_ai_gesture_recognition.jpg"
  2222. style="border: solid 1.2px lightgray;width: 100%;">
  2223. </div>
  2224. <div>
  2225. <span id="ac-card-title emotion_recognition_enter_button"
  2226. class="ac-card-title card-title activator grey-text text-darken-4 translatable_app_center_gesture_recognition translatable_gesturesTitle"
  2227. style="font-size: 30px;">Gesture
  2228. Recognition</span>
  2229. <p class="translatable_gesture_recog_content">The trend of robot development is artificial
  2230. intelligence. Deep learning is the frontier technology of intelligent robot and a new
  2231. topic
  2232. in the field of machine learning.Deep learning technology is widely used in agriculture,
  2233. industry, military, aviation and other fields, and the organic combination with machines
  2234. can
  2235. design intelligent robots with high working efficiency, high real-time and high
  2236. accuracy.
  2237. </p>
  2238. </div>
  2239. </div>
  2240. <div class="modal_setting_teacher_right setting_right_all">
  2241. <div class="translatable_computer_configuration"
  2242. style="background: rgb(33, 150, 243);padding: 5px 10px;color: #fff;border-top-left-radius: 5px;border-top-right-radius: 5px;">
  2243. <span>Computer Configuration Requirements</span>
  2244. </div>
  2245. <div class="setting_border">
  2246. <p><span class="translatable_the_operating_system">Minimum Opearting System
  2247. version</span>:Windows (>Windows7), macOS (>10.11)</p>
  2248. <p><span class="translatable_resolution_of_the">Suggested Resolution
  2249. Supported</span>:1440*768
  2250. </p>
  2251. <p><span class="translatable_memory_capacity">Memory Capacity</span>:8GB-16GB</p>
  2252. <p><span class="translatable_the_hard_disk">The Hard Disk</span>:256GB-512Gb</p>
  2253. <p><span class="translatable_the_graphics_card">The Graphics Card</span>:650M</p>
  2254. <p><span class="translatable_is_need_camera">Do you need a camera</span>:<span
  2255. class="translatable_need">Ok</span></p>
  2256. <p><span class="translatable_is_need_microphone">Do you need a microphone</span>:<span
  2257. class="translatable_no_need">NO</span></p>
  2258. </div>
  2259. <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button modal-trigger"
  2260. href="#gesture_recog_modal" style="width: 94%;position: absolute;bottom: 5px;">Enter</a>
  2261. </div>
  2262. </div>
  2263. </div>
  2264. </div>
  2265. <!-- gesture recognition modal -->
  2266. <div id="gesture_recog_modal" class="modal">
  2267. <div id="gestureRecognitionTitle" class="modal-content">
  2268. <div style="margin-bottom:-10px;margin-top:10px;" class="row">
  2269. <div class="col s10">
  2270. <h4 class="translatable_gesturesTitle">Gesture Recognition</h4>
  2271. </div>
  2272. <div style="text-align:right;" class="col s2">
  2273. <a style="cursor: pointer;text-decoration:none; color:rgba(0,0,0.9);"
  2274. id="gesture_recognition_close" class="modal-action modal-close">
  2275. <h4><i class="small material-icons">close</i></h4>
  2276. </a>
  2277. </div>
  2278. </div>
  2279. <div class="row">
  2280. <div class="col s12">
  2281. <div class="switch" style="margin-bottom:20px;">
  2282. <label>
  2283. <span class="translatable_emotion_camera_off">Camera Off</span>
  2284. <input id="camera_switch_gesture" type="checkbox" onclick="cameraSwitchGesture();">
  2285. <span class="lever "></span><span class="translatable_emotion_camera_on">On</span>
  2286. </label>
  2287. </div>
  2288. </div>
  2289. </div>
  2290. <div style="margin-bottom:10px;" class="row">
  2291. <div style="float:center;" class="col s5">
  2292. <p class="translatable_gesture_webcam" style="margin-top:-20px;">Webcam:</p>
  2293. <div id="webCameraGestureFrame">
  2294. <div id="webCameraGesture"></div>
  2295. </div>
  2296. <div class="translatable_emotion_camera_turnon_text" id="gesture_webCamPlaceholder">Turn on the
  2297. Camera first
  2298. </div>
  2299. </div>
  2300. <div style="float:center;" class="col s7">
  2301. <a id="gestureAnalyzeButton"
  2302. class="disabled waves-effect waves-light btn blue translatable_gesture_recognition"
  2303. onclick="gestureRecognize();">Recognize</a>
  2304. <div id="gestureResultAreaFrame">
  2305. <h4 class="gestureResultAreaTitle translatable_gesture_recognition_result">Recognition
  2306. Result:
  2307. </h4>
  2308. <div id="gestureResultAreaContent" class="translatable_gesture_result">
  2309. No result yet.
  2310. </div>
  2311. </div>
  2312. <div class="col s12 select_send_way" style="position: relative; margin:12px 0;padding: 0;">
  2313. <span class="select_send_way_color translatable_send_cloud">Send Cloud</span>
  2314. <!-- <span class="translatable_send_module">Send Module</span> -->
  2315. </div>
  2316. <div class="s12" style="position: relative;margin-top: 45px;">
  2317. <div class="send_cloud">
  2318. <div id="cloudRequestStatuss" class="s12">
  2319. </div>
  2320. <div class="translatable_selectEvent" style="padding-right: 0.75rem;">Choose a CocoCloud
  2321. event
  2322. here, the analyzed result will
  2323. directly send to there</div>
  2324. <div style="width:100%;margin-top: 15px;">
  2325. <select class="browser-default" id="AI_gesture_events">
  2326. <option class="translatable_noEvent" value=null disabled>No event here. Login
  2327. first
  2328. </option>
  2329. </select>
  2330. </div>
  2331. <span style="float:right;top: -45px;position: relative;margin-top: -38px;">
  2332. <i id="update_Coevent_web" class="material-icons">autorenew</i>
  2333. </span>
  2334. </div>
  2335. <div class="col s12 send_module"
  2336. style="position: relative;display: none;height: 100px;padding: 0;">
  2337. <div class="translatable_send_module">Send Module</div>
  2338. <div class="input-field col s6" style="margin-top:2px;padding: 0;">
  2339. <span class="translatable_port">Port:</span>
  2340. <span class="port" style="padding-left:10px;"></span>
  2341. </div>
  2342. <div class="col s6" style="margin-top:2px;">
  2343. <a class="waves-effect waves-light blue lighten-2 btn translatable_connectBtns translatable_connectBtn disabled"
  2344. style="float:right;margin-right:5px">connect</a>
  2345. <a class="waves-effect waves-light blue lighten-2 btn translatable_disconnectBtns translatable_disconnectBtn"
  2346. style="float:right;margin-right:5px;display:none">disconnect</a>
  2347. </div>
  2348. </div>
  2349. </div>
  2350. </div>
  2351. </div>
  2352. <!-- <div class="row">
  2353. <div class="col s12">
  2354. <hr style="margin-top: 20px; border-top: 0.5px solid rgba(0,0,0,.1);" />
  2355. </div>
  2356. </div> -->
  2357. </div>
  2358. </div>
  2359. <!-- 显示voice speech modal配置弹框 -->
  2360. <div id="setting_voice_input_modal" class="modal modal_closes">
  2361. <span class="modal_close" style="padding: 15px;position: absolute;right: 0;cursor: pointer;"><i
  2362. class="small material-icons" style="font-size: 1.5rem;">close</i></span>
  2363. <div class="modal-content" style="padding: 20px;">
  2364. <h4 class="translatable_labs_center_modal_title">CocoBlockly Labs</h4>
  2365. <hr style="border-top: 1px solid #ddd;margin:20px 0 10px 0;" />
  2366. <div style="display:flex;justify-content:space-around;">
  2367. <div class="modal_setting_teacher_left setting_left_all">
  2368. <div class="card-image waves-effect waves-block waves-light">
  2369. <img class="" src="icons/AppCenter_ai_speech.jpg"
  2370. style="border: solid 1.2px lightgray;width: 100%;">
  2371. </div>
  2372. <div>
  2373. <span id="ac-card-title"
  2374. class="ac-card-title card-title activator grey-text text-darken-4 translatable_app_center_speech_recognition"
  2375. style="font-size: 30px;">Speech
  2376. Recognition</span>
  2377. <p class="translatable_voice_input_content">The trend of robot development is artificial
  2378. intelligence. Deep learning is the frontier technology of intelligent robot and a new
  2379. topic
  2380. in the field of machine learning.Deep learning technology is widely used in agriculture,
  2381. industry, military, aviation and other fields, and the organic combination with machines
  2382. can
  2383. design intelligent robots with high working efficiency, high real-time and high
  2384. accuracy.
  2385. </p>
  2386. </div>
  2387. </div>
  2388. <div class="modal_setting_teacher_right setting_right_all">
  2389. <div class="translatable_computer_configuration"
  2390. style="background: rgb(33, 150, 243);padding: 5px 10px;color: #fff;border-top-left-radius: 5px;border-top-right-radius: 5px;">
  2391. <span>Computer Configuration Requirements</span>
  2392. </div>
  2393. <div class="setting_border">
  2394. <p><span class="translatable_the_operating_system">Minimum Opearting System
  2395. version</span>:Windows (>Windows7), macOS (>10.11)</p>
  2396. <p><span class="translatable_resolution_of_the">Suggested Resolution
  2397. Supported</span>:1440*768
  2398. </p>
  2399. <p><span class="translatable_memory_capacity">Memory Capacity</span>:8GB-16GB</p>
  2400. <p><span class="translatable_the_hard_disk">The Hard Disk</span>:256GB-512Gb</p>
  2401. <p><span class="translatable_the_graphics_card">The Graphics Card</span>:650M</p>
  2402. <p><span class="translatable_is_need_camera">Do you need a camera</span>:<span
  2403. class="translatable_no_need">NO</span></p>
  2404. <p><span class="translatable_is_need_microphone">Do you need a microphone</span>:<span
  2405. class="translatable_need">OK</span></p>
  2406. </div>
  2407. <a class="waves-effect waves-light btn blue accent-3 translatable_app_center_enter_button modal-trigger"
  2408. href="#voice_input_modal" style="width: 94%;position: absolute;bottom: 5px;">Enter</a>
  2409. </div>
  2410. </div>
  2411. </div>
  2412. </div>
  2413. <!-- voice speech modal -->
  2414. <div id="voice_input_modal" class="modal voice-modal-trigger">
  2415. <div class="modal-content">
  2416. <div style="margin-top:10px;" class="row">
  2417. <div class="col s8">
  2418. <h4 class="translatable_speechDemoTitle">Speech Recognition</h4>
  2419. </div>
  2420. <div style="text-align:right;" class="col s4">
  2421. <a style="cursor: pointer;text-decoration:none; color:rgba(0,0,0.9);" id="voice_input_close"
  2422. class="modal-action modal-close">
  2423. <h4><i class="small material-icons">close</i></h4>
  2424. </a>
  2425. </div>
  2426. </div>
  2427. <div style="margin-bottom:10px;margin-top:-20px;" class="row">
  2428. <div class="col s12">
  2429. <p class="translatable_speechTip" style="font-size:15px;font-weight:200;">Voice recognition for
  2430. English, Cantonese & Mandarin.</p>
  2431. <hr
  2432. style="position:relative;top:-2px;margin-bottom:15px;border-color:rgba(0,0,0,.1); border-width: 1px;">
  2433. </div>
  2434. </div>
  2435. <div class="row" style="margin-top:-15px;margin-bottom:10px">
  2436. <div class="col s4">
  2437. <p class="translatable_speech_language_select">Select a language to recognize:</p>
  2438. </div>
  2439. <div style="margin-left:-20px;" class="col s2 speech_language" style="position:relative;top:3px">
  2440. <select id="speech_language_selection" class="browser-default" style="max-width:200px">
  2441. <option value="english" class="translatable_speech_language_English">English</option>
  2442. <option value="cantonese" class="translatable_speech_language_Cantonese">Cantonese</option>
  2443. <option value="mandarin" class="translatable_speech_language_Mandarin">Mandarin</option>
  2444. </select>
  2445. </div>
  2446. <div class="col" style="position:relative;top:5px">
  2447. <a id="speech_button" class="waves-effect waves-light btn blue translatable_speech_recognition"
  2448. style="padding:0 8px" onclick="processSpeech()/*startSpeech()*/">Start Recording</a>
  2449. </div>
  2450. <div class="col s3" style="position:relative;top:15px;">
  2451. <span style="font-weight:200;margin-left:-5px;" id="speech_process_title"
  2452. style="position:relative;top:-6px;"></span>
  2453. </div>
  2454. </div>
  2455. <div class="row">
  2456. <textarea id="speech_textarea" row="3" class="disabled translatable_speech_textarea_title"
  2457. style="width:772px;height:130px;resize:none;border-radius:5px;padding:10px;color:rgba(0,0,0,.4);"
  2458. readonly> Click on the mic button to start dictating...</textarea>
  2459. </div>
  2460. <div style="margin-top:5px;" class="row">
  2461. <div class="col s12 select_send_way" style="position: relative; margin-bottom:12px;">
  2462. <span class="select_send_way_color translatable_send_cloud">Send Cloud</span>
  2463. <!-- <span class="translatable_send_module">Send Module</span> -->
  2464. </div>
  2465. <div class="col s12 send_cloud" style="position: relative">
  2466. <div class="col s12">
  2467. <span id="speechDemoCloudRequest" style="font-weight:200;"></span>
  2468. </div>
  2469. <div class="translatable_selectEvent">Choose a CocoCloud event here, the analyzed result will
  2470. directly send to there</div>
  2471. <div style="width:95%">
  2472. <select style="margin-top:10px;" class="browser-default" id="AI_voice_events">
  2473. <option class="translatable_noEvent" value=null disabled>No event here. Login first
  2474. </option>
  2475. </select>
  2476. </div>
  2477. <span style="float:right;top: -45px;position: relative;">
  2478. <i id="update_Coevent_voice" class="material-icons">autorenew</i>
  2479. </span>
  2480. </div>
  2481. <div class="col s12 send_module" style="position: relative;display: none;height: 100px;">
  2482. <div class="translatable_send_module">Send Module</div>
  2483. <div class="input-field col s6" style="margin-top:2px;">
  2484. <span class="translatable_port">Port:</span>
  2485. <span class="port" style="padding-left:10px;"></span>
  2486. </div>
  2487. <div class="col s6" style="margin-top:2px;">
  2488. <a class="waves-effect waves-light blue lighten-2 btn translatable_connectBtns translatable_connectBtn disabled"
  2489. style="float:right;margin-right:5px">connect</a>
  2490. <a class="waves-effect waves-light blue lighten-2 btn translatable_disconnectBtn translatable_disconnectBtns "
  2491. style="float:right;margin-right:5px;display:none">disconnect</a>
  2492. </div>
  2493. </div>
  2494. </div>
  2495. </div>
  2496. </div>
  2497. </div>
  2498. </div>
  2499. </div>
  2500. <!-- iframe -->
  2501. <div id="iframe" class="modal modal_closes" style="width: 70%;">
  2502. <span class="modal_close" style="padding: 15px;right: 12px;">
  2503. <i class="small material-icons" style="font-size: 1.5rem;">close</i>
  2504. </span>
  2505. <!-- <iframe frameborder="0" style="width: 100%;height: 50vh;"></iframe> -->
  2506. </div>
  2507. <div id="updatePy" class="modal">
  2508. <!-- <i id="updatePy_icon" class="material-icons right" style="cursor:pointer;">close</i> -->
  2509. <div style="padding: 20px;">
  2510. <h2 style="font-size: 30px;margin-bottom: 0;" class="translatable_update_file">更新文件</h2>
  2511. <p>选择文件夹</p>
  2512. <div id="select_folder" class="select_folder" style="height: 300px;">
  2513. </div>
  2514. <!-- <div class="folder_name">
  2515. <span>文件名:</span>
  2516. <input class="folder_name_inpit" type="text">
  2517. </div> -->
  2518. <div class="update_bottom">
  2519. <button class="cancle">取消</button>
  2520. <button class="confim">确定</button>
  2521. </div>
  2522. </div>
  2523. </div>
  2524. <!-- Custom Alert: Content is loaded using JavaScript to display alerts -->
  2525. <div id="cus_alert" class="modale modal_small modal_custom">
  2526. <div class="modal-content">
  2527. <h5 id="cus_alert_title">Empty Alert</h5>
  2528. <p><span id="cus_alert_body">Empty alert text</span></p>
  2529. </div>
  2530. <div class="modal-footer">
  2531. <a id="cus_alert_button" class="waves-effect btn-flat modal-close blue"><span id="cus_alert_button_content"
  2532. style="color:#fff"></span></a>
  2533. <a id="cus_alert_ok_link" class="waves-effect btn-flat modal-close blue"><span class="translatable_okay"
  2534. style="color:#fff">Okay</span></a>
  2535. </div>
  2536. </div>
  2537. <!-- Env Detect Modal -->
  2538. <div id="env_detect" class="modal modal_closes">
  2539. <div class="modal-content">
  2540. <span class="modal_close" style="padding: 15px;">
  2541. <i class="small material-icons" style="font-size: 1.5rem;">close</i>
  2542. </span>
  2543. <h4 class="translatable_env_detect" style="margin-bottom:2.5rem;">Environment Detect</h4>
  2544. <div id="detect_before" style="position:relative;">
  2545. <div>
  2546. <img src="./icons/device-detect.svg" />
  2547. </div>
  2548. <div id="detect_preload" style="display:none;">
  2549. <div
  2550. style="position:relative;top:50%;transform:translateY(-50%);height:128px;width:128px;margin:0 auto;">
  2551. <div class="preloader-wrapper big active">
  2552. <div class="spinner-layer spinner-blue-only">
  2553. <div class="circle-clipper left">
  2554. <div class="circle"></div>
  2555. </div>
  2556. <div class="gap-patch">
  2557. <div class="circle"></div>
  2558. </div>
  2559. <div class="circle-clipper right">
  2560. <div class="circle"></div>
  2561. </div>
  2562. </div>
  2563. </div>
  2564. </div>
  2565. </div>
  2566. </div>
  2567. <div id="detect_result" style="display:none;">
  2568. <div style="border-bottom:2.5px #0057ff6e solid;padding:0.25rem 0;">
  2569. <h5 class="translatable_title_device">Device</h5>
  2570. <h5 class="translatable_title_result">Result</h5>
  2571. <h5 class="translatable_title_support">Support</h5>
  2572. <h5 class="translatable_title_suggest">Suggest</h5>
  2573. </div>
  2574. <div id="env_detect_os" style="margin-top:0.5rem;">
  2575. <div class="translatable_os">System</div>
  2576. <div></div>
  2577. <div class="detect-icons"></div>
  2578. <div></div>
  2579. </div>
  2580. <div id="env_detect_browser">
  2581. <div class="translatable_browser">Browser</div>
  2582. <div></div>
  2583. <div class="detect-icons"></div>
  2584. <div></div>
  2585. </div>
  2586. <div id="env_detect_plugin" style="margin-bottom:0.5rem;">
  2587. <div>Uploader</div>
  2588. <div></div>
  2589. <div class="detect-icons"></div>
  2590. <div></div>
  2591. </div>
  2592. </div>
  2593. </div>
  2594. <div class="modal-footer">
  2595. <a id="detect-btn" class="waves-effect waves-light btn-large blue">
  2596. <span class="translatable_detect">Detect</span>
  2597. </a>
  2598. </div>
  2599. </div>
  2600. <!-- Serial Monitor -->
  2601. <div id="Serial-monitor" class="card card-serialMonitor" style="display:none;height:0;opacity:0;">
  2602. <div class="code-header">
  2603. <span class="code-header-logo"><i class="material-icons" style="padding-top:10px">search</i></span>
  2604. <span class="card-title translatable_serialMonitor">Serial Monitor</span>
  2605. </div>
  2606. <div class="card-content" style="padding:8px 10px;">
  2607. <div class="row">
  2608. <div class="input-field col s6" style="margin-top:2px;">
  2609. <p id="ports-monitor" style="font-size:16px"><span class="translatable_port">Port:</span><span
  2610. style="padding-left:10px;"></span>
  2611. </p>
  2612. </div>
  2613. <div class="col s6" style="margin-top:2px;">
  2614. <a id="comms-cnt"
  2615. class="waves-effect waves-light blue lighten-2 btn translatable_connectBtn disabled"
  2616. style="float:right;margin-right:5px">connect</a>
  2617. <a id="comms-discnt" class="waves-effect waves-light blue lighten-2 btn translatable_disconnectBtn "
  2618. style="float:right;margin-right:5px;display:none">disconnect</a>
  2619. </div>
  2620. </div>
  2621. <div class="row">
  2622. <div class="input-field col s5">
  2623. <select id="serial_output_style" style="font-size:16px">
  2624. <option value="" selected class="translatable_no_line_ending">No line ending
  2625. </option>
  2626. <option value="nl" class="translatable_newline">Newline</option>
  2627. <option value="cr" class="translatable_CR">Carriage return</option>
  2628. <option value="blc" class="translatable_NL_CR">Both NL &amp; CR</option>
  2629. </select>
  2630. </div>
  2631. <div class="input-field col s5">
  2632. <select id="serial_baud" style="font-size:16px">
  2633. <option value="300">300 <span class="translatable_baud">baud</span></option>
  2634. <option value="1200">1200 <span class="translatable_baud">baud</span></option>
  2635. <option value="2400">2400 <span class="translatable_baud">baud</span></option>
  2636. <option value="4800">4800 <span class="translatable_baud">baud</span></option>
  2637. <option value="9600" selected>9600 <span class="translatable_baud">baud</span>
  2638. </option>
  2639. <option value="19200">19200 <span class="translatable_baud">baud</span></option>
  2640. <option value="38400">38400 <span class="translatable_baud">baud</span></option>
  2641. <option value="57600">57600 <span class="translatable_baud">baud</span></option>
  2642. <option value="115200">115200 <span class="translatable_baud">baud</span></option>
  2643. </select>
  2644. </div>
  2645. </div>
  2646. <div class="row">
  2647. <div class="input-field col s10">
  2648. <input id="comms-msg" type="text" style="margin:0">
  2649. <label for="Sending_Messages" class="translatable_sendMsg" style="font-size:16px">Sending
  2650. Messages</label>
  2651. </div>
  2652. <div class="input-field col s2">
  2653. <a id="comms-send" class="waves-effect waves-light blue lighten-2 btn translatable_sendBtn disabled"
  2654. style="float:right;padding-right:5px">SEND</a>
  2655. </div>
  2656. </div>
  2657. <div class="row">
  2658. <div class="col s12">
  2659. <textarea id="commsBox" label="readonly" readonly></textarea>
  2660. </div>
  2661. </div>
  2662. <div class="row" style="margin-bottom:8px">
  2663. <div class="col s4" style="margin-top:8px">
  2664. <input id="autoscroll" type="checkbox" class="filled-in" checked="checked">
  2665. <label for="autoscroll">
  2666. <span class="translatable_autoScroll">Autoscroll</span>
  2667. </label>
  2668. </div>
  2669. <div class="input-field col s8" style="margin:4px,0,8px,0">
  2670. <a id="comms-clear" class="waves-effect waves-light blue lighten-2 btn translatable_comms_clear"
  2671. style="float:right;margin-right:5px">CLEAR</a>
  2672. <a id="comms-export"
  2673. class="waves-effect waves-light blue lighten-2 btn translatable_comms_export modal-trigger"
  2674. href="#export-file" style="float:right;margin-right:5px">EXPORT</a>
  2675. </div>
  2676. </div>
  2677. </div>
  2678. </div>
  2679. <!-- login modal -->
  2680. <div id="login_modal" class="modal modal_closes" style="top:62px">
  2681. <div id="login_modal_preload" class="progress" style="display:none">
  2682. <div class="indeterminate"></div>
  2683. </div>
  2684. <div class="modal-content" style="padding:0;">
  2685. <span class="modal_close" style="padding: 15px;">
  2686. <i class="small material-icons" style="font-size: 1.5rem;">close</i>
  2687. </span>
  2688. <!-- add for login iframe -->
  2689. <div id="before_login"></div>
  2690. <div id="after_login">
  2691. <div id="userProfile_alias"></div>
  2692. <div style="width: 250px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;"><span
  2693. class="translatable_user_email">Email:</span><span id="userProfile_username"> </span></div>
  2694. <div><span class="translatable_user_school">School:</span><span id="userProfile_school"></span></div>
  2695. <div id="userProfile_apikey">
  2696. <div>
  2697. <span class="translatable_Event">Event: </span>
  2698. <span style="margin-top: -13px;float:right;transform:translateY(35%);">
  2699. <i id="update_Coevent" class="material-icons" onclick="updateProject()">autorenew</i>
  2700. </span>
  2701. <p class="get_event" style="margin: 5px 0;color: #2196F3;"></p>
  2702. <select
  2703. style="outline:0; width: 100%; margin: 6px auto 8px auto; border: 1px solid rgba(0,0,0,.2);"
  2704. class="browser-default" id="cloud_events" onchange="changeProject()">
  2705. <option value=null disabled>No Event</option>
  2706. </select>
  2707. </div>
  2708. <div style="margin-top:5px">
  2709. <span>API Key: </span>
  2710. <a id="apikey-copy" data-clipboard-action="copy" data-clipboard-target="#api-key">
  2711. <i class="material-icons tiny">content_copy</i>
  2712. </a>
  2713. <textarea style="padding: 6px 6px; margin-top: 4px;" id="api-key" readonly></textarea>
  2714. </div>
  2715. </div>
  2716. </div>
  2717. </div>
  2718. <div class="modal-footer" style="display:none;">
  2719. <a id="modal_logout_btn" class="waves-effect btn-flat blue">
  2720. <span class="translatable_signout">Sign Out</span>
  2721. <img class="xuanhuan svgImg" src="./images/loading.svg" alt="">
  2722. </a>
  2723. <a id="modal_cococloud_btn" href="//cocorobo.cn/cloud" target="_black"
  2724. class="waves-effect btn-flat blue"><span class="translatable_cococloud">Go to CocoCloud</span></a>
  2725. </div>
  2726. </div>
  2727. <!-- local storage - import modal -->
  2728. <div id="Storage_import_modal" class="modal" style="width:500px">
  2729. <div class="modal-content">
  2730. <h4 class="translatable_localStorageImport">Import Project</h4>
  2731. <div> <span class="translatable_ImportTooltip" sytle="margin-left:10px">Select your project file(*.xml) and
  2732. import it to the current workspace.Warning:will replace current blocks</span></div>
  2733. <div id="import_area" class="row" style="margin: 10px;height: 170px;position: relative;">
  2734. <a id="modal_import_btn" class="waves-effect btn-flat blue" style="top:180px;position:fixed;"><span
  2735. class="translatable_import" style="font-size:15px;color:#fff">Import</span></a>
  2736. <span class="translatable_ImportContent"
  2737. style="top: 187px;width:300px;position:fixed;text-align:center;">Click to choose a file from
  2738. your computer</span>
  2739. </div>
  2740. </div>
  2741. </div>
  2742. <!-- General Alert: Content is loaded using JavaScript to display alerts -->
  2743. <div id="gen_alert" class="modale modal_closes modal_small" style="width:730px">
  2744. <div class="modal-content">
  2745. <span class="modal_close" style="padding: 15px;">
  2746. <i class="small material-icons" style="font-size: 1.5rem;">close</i>
  2747. </span>
  2748. <h5 id="gen_alert_title">Empty Alert</h5>
  2749. <p><span id="gen_alert_body">Empty alert text</span></p>
  2750. </div>
  2751. <div class="modal-footer">
  2752. <a id="gen_alert_ok_link" class="waves-effect btn-flat modal-close blue"><span class="translatable_okay"
  2753. style="color:#fff">Okay</span></a>
  2754. <a id="gen_alert_cancel_link" class="waves-effect btn-flat modal-close blue"><span
  2755. class="translatable_cancel" style="color:#fff">Cancel</span></a>
  2756. </div>
  2757. </div>
  2758. <!-- Example Alert: Content is loaded using JavaScript to display alerts -->
  2759. <div id="example_alert" class="modale modal_small" style="height:30%;width: 30%;">
  2760. <div class="modal-content">
  2761. <div id="loading" style="text-align:center;display: none;">
  2762. <img src="./gif/loading.gif" style="width: 300px;" />
  2763. </div>
  2764. <p
  2765. style="text-align:center;font-weight:bold;font-size:20px;z-index: 1087;position: absolute;left: 0;right: 0;top: 50%;">
  2766. <span id="example_alert_body">Empty alert text</span>
  2767. </p>
  2768. </div>
  2769. </div>
  2770. <div id="cloud_storage_name_modal" class="modal modal_closes cloud_storage_name_modal">
  2771. <div class="modal-content" style="padding: 0;">
  2772. <span class="modal_close" style="padding: 15px;">
  2773. <i class="small material-icons" style="font-size: 1.5rem;">close</i>
  2774. </span>
  2775. <h4 class="cloudStorage translatable_cloudStorageTitle">Cloud Storage</h4>
  2776. <!-- <div id="cloud_askLogin"></div> -->
  2777. <div class="cloud_fileName">
  2778. <div class="translatable_project_name" style="font-size: 16px;color: #3D3D3D;letter-spacing: 0;margin-top: 15px;margin-left: 25px;">作品名称</div>
  2779. <div style="text-align: center;margin-top: 15px;">
  2780. <input id="cloud_input" type="text" placeholder="名称"/>
  2781. </div>
  2782. <div style="margin-top: 20px;text-align: center;">
  2783. <button id="confirm_btn" type="button" style="cursor: pointer;background: #4A6AFF;border-radius: 3px;width: 90px;line-height: 36px;border: none;margin-right: 30px;">
  2784. <span class="translatable_cofirm_btn" style="font-size: 14px;color: #FFFFFF;letter-spacing: 0;">确 定</span>
  2785. </button>
  2786. <button id="cancel_btn" class="cancelBtn" type="button" style="cursor: pointer;border-radius: 3px;width: 90px;line-height: 36px;border: 1px solid #CCCCCC;">
  2787. <span class="translatable_cancel_btn" style="font-size: 14px;color:#888888;letter-spacing: 0;">取 消</span>
  2788. </button>
  2789. </div>
  2790. </div>
  2791. </div>
  2792. </div>
  2793. <div id="firmware_upgrade_modal" class="modal modal_closes firmware_upgrade_modal">
  2794. <div class="modal-content">
  2795. <span class="modal_close" style="padding: 15px;">
  2796. <i class="small material-icons" style="font-size: 1.5rem;">close</i>
  2797. </span>
  2798. <div id="firmware_upgrade_Area">
  2799. <div style="text-align: center;">
  2800. <div class="firmware_module" style="margin-right: 20%;">
  2801. <div style="display: table;width: 126px;height: 126px;">
  2802. <div class="firmware_module_ai"><div class="translatable_ai_module_a">AI 模块</div>V1.0</div>
  2803. </div>
  2804. </div>
  2805. <div class="firmware_module">
  2806. <div style="display: table;width: 126px;height: 126px;">
  2807. <div class="firmware_module_iot"><div class="translatable_iot_module_a">IOT 模块</div>V0.2</div>
  2808. </div>
  2809. </div>
  2810. </div>
  2811. <div style="text-align: center;">
  2812. <div class="firmware_module_download" style="margin-right: 20%;">
  2813. <div style="display: table;">
  2814. <button style="cursor: pointer;background: #4A6AFF;border-radius: 3px;width: 130px;line-height: 36px;border: none;" onclick='openUrl("./firmware/ai-module_firmware_2020-10-14.rar")'>
  2815. <span class="button_text translatable_button_text">下载固件升级包</span>
  2816. </button>
  2817. </div>
  2818. </div>
  2819. <div class="firmware_module_download">
  2820. <div style="display: table;">
  2821. <button style="cursor: pointer;background: #4A6AFF;border-radius: 3px;width: 130px;line-height: 36px;border: none;" onclick='openUrl("./firmware/mcu-module_firmware_2020-9-21_STABLE.bin")'>
  2822. <span class="button_text translatable_button_text">下载固件升级包</span>
  2823. </button>
  2824. </div>
  2825. </div>
  2826. </div>
  2827. </div>
  2828. </div>
  2829. </div>
  2830. <!-- local storage - export modal -->
  2831. <div id="Storage_export_modal" class="modal" style="width:730px">
  2832. <div class="modal-content">
  2833. <h4 class="translatable_localStorageExport">Export Project</h4>
  2834. <div> <span class="translatable_ExportTooltip" sytle="margin-left:10px">Export current project blocks and
  2835. save it your computer,so you can open it next time when you need it</span></div>
  2836. <div class="row" style="margin: 10px;height: 200px;width: 640px;position: relative;">
  2837. <div style="display:block">
  2838. <div class="col l6">
  2839. <img src="./icons/blockly-file-export_xml.png"
  2840. style="width:20%;position:relative;left:50%;right:50%;transform:translateX(-50%);">
  2841. </div>
  2842. <div class="col l6">
  2843. <img src="./icons/blockly-file-export_png.png"
  2844. style="width:20%;position:relative;left:50%;right:50%;transform:translateX(-50%);">
  2845. </div>
  2846. </div>
  2847. <div>
  2848. <div class="col l6">
  2849. <a id="modal_exportFileBtn" class="waves-effect btn-flat blue"
  2850. style="left: 50%;right: 50%;transform: translateX(-50%)"><span
  2851. class="translatable_exportFile" style="font-size:15px;color:#fff">Project
  2852. File</span></a>
  2853. </div>
  2854. <div class="col l6">
  2855. <a id="modal_exportSnapBtn" class="waves-effect btn-flat blue"
  2856. style="left: 50%;right: 50%;transform: translateX(-50%)"><span
  2857. class="translatable_exportSnap" style="font-size:15px;color:#fff">Snapshot</span></a>
  2858. </div>
  2859. </div>
  2860. <div>
  2861. <div class="col l6">
  2862. <p class="translatable_ExportFileContent"
  2863. style="display:block;text-align:center;width:80%;position: relative;left: 50%;right: 50%;transform: translateX(-50%);font-size:0.875rem">
  2864. Will export as an *xml file.<br>for you to continuing code nextime</p>
  2865. </div>
  2866. <div class="col l6">
  2867. <p class="translatable_ExportSnapContent"
  2868. style="display:block;text-align:center;width:80%;position: relative;left: 50%;right: 50%;transform: translateX(-50%);font-size:0.875rem">
  2869. Will export to a *png picture.<br>for your reference</p>
  2870. </div>
  2871. </div>
  2872. </div>
  2873. </div>
  2874. </div>
  2875. <div style="display: none;" id="content_blocks"></div>
  2876. <!-- cloud storage modal -->
  2877. <div id="cloud_storage_modal" class="modal modal_closes">
  2878. <div class="modal-content">
  2879. <span class="modal_close" style="padding: 15px;">
  2880. <i class="small material-icons" style="font-size: 1.5rem;">close</i>
  2881. </span>
  2882. <h4 class="translatable_cloudStorageTitle">Cloud Storage</h4>
  2883. <!-- <div id="cloud_askLogin"></div> -->
  2884. <div id="cloud_fileListArea" class="cloud-file">
  2885. </div>
  2886. </div>
  2887. <div id="cloud_modal_preload" style="display:none">
  2888. <div style="position:relative;top:50%;transform:translateY(-50%);height:128px;width:128px;margin:0 auto;">
  2889. <div class="preloader-wrapper big active" style="top:0;left:0">
  2890. <div class="spinner-layer spinner-blue-only">
  2891. <div class="circle-clipper left">
  2892. <div class="circle"></div>
  2893. </div>
  2894. <div class="gap-patch">
  2895. <div class="circle"></div>
  2896. </div>
  2897. <div class="circle-clipper right">
  2898. <div class="circle"></div>
  2899. </div>
  2900. </div>
  2901. </div>
  2902. </div>
  2903. </div>
  2904. </div>
  2905. <!-- share modal -->
  2906. <div id="share" class="modal">
  2907. <div class="modal-content">
  2908. <h4 class="">程序分享</h4>
  2909. <div style="text-align: center;">
  2910. <div id="QrImg" style="display: inline-block;"></div>
  2911. </div>
  2912. <p class="qrImgUrl"></p>
  2913. </div>
  2914. </div>
  2915. <div class="downbox MouduleBox" style="display:none;position: fixed;width:175px;height:162px;right:50px;top:225px;">
  2916. <div>
  2917. <div class="translatable_iot_module">IoT Module</div>
  2918. </div>
  2919. <div>
  2920. <div class="translatable_ai_module">A.I. Module</div>
  2921. </div>
  2922. <div><a href="//python-blockly.cocorobo.cn" style="color: #424242 !important;"
  2923. class="translatable_cloud_mode">Cloud
  2924. Mode</a></div>
  2925. <div><a href="//ai-blockly.cocorobo.cn" style="color: #424242 !important;"
  2926. class="translatable_javascript_mode">JavaScript Mode</a></div>
  2927. </div>
  2928. <div id="ai_tt" class="downbox MouduleBox" style="display:none;position: fixed;width:230px;right:50px;top:225px;">
  2929. <div>1.Hello World</div>
  2930. <div>2.螢幕顯示 Hello World</div>
  2931. <div>3.畫布應用</div>
  2932. <div>4.迷你相機</div>
  2933. <div>5.簡易物體識別</div>
  2934. </div>
  2935. <!-- <iframe id="web" name="web" src="//x.cocorobo.cn/web.html" style="display: none"></iframe> -->
  2936. </body>
  2937. <script>
  2938. $("#modal_logout_btn").on("click", function () {
  2939. $("#modal_logout_btn").removeClass('blue');
  2940. $("#modal_logout_btn").css('background', 'gray')
  2941. $(".svgImg").css('display', 'block')
  2942. $(".translate-signout").css('opacity', '0.5')
  2943. $.ajax(`${CCB.base_url}api/logout`, {
  2944. type: "GET",
  2945. xhrFields: {
  2946. withCredentials: true
  2947. },
  2948. success: () => {
  2949. // $('#login_iframe').attr('src', '//staging.cocorobo.cn/login/');
  2950. appendIframe("TM_login");
  2951. $('#TM_login').children().css("height", "820px");
  2952. appendIframe("before_login");
  2953. appendIframe("cloud_askLogin");
  2954. Materialize.toast(CCB.str_group.success_userLogout, 4000);
  2955. CCB.userState = false;
  2956. $("#cloud_fileListArea").html("");
  2957. loginModalStatus();
  2958. $("#modal_logout_btn").addClass('blue')
  2959. $(".svgImg").css('display', 'none');
  2960. $(".translate-signout").css('opacity', '1')
  2961. }
  2962. });
  2963. });
  2964. </script>
  2965. <script type="text/javascript" src="./src/blockly/demo.js"></script>
  2966. <script type='text/javascript' src="./src/blockly/recorder.js"></script>
  2967. <script type='text/javascript' src="./src/blockly/jquery.s2t.js"></script>
  2968. </html>