index.html 205 KB

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