{"id":1490,"date":"2020-07-28T22:18:26","date_gmt":"2020-07-28T20:18:26","guid":{"rendered":"http:\/\/www.fabienm.eu\/wordpress\/?p=1490"},"modified":"2020-12-30T09:52:28","modified_gmt":"2020-12-30T07:52:28","slug":"reseau-de-micros-de-la-maixgo","status":"publish","type":"post","link":"https:\/\/www.fabienm.eu\/wordpress\/2020\/07\/28\/reseau-de-micros-de-la-maixgo\/","title":{"rendered":"R\u00e9seau de micros de la MaixGo"},"content":{"rendered":"\n<p>Apr\u00e8s <a href=\"http:\/\/www.fabienm.eu\/wordpress\/?p=1219\">avoir re\u00e7u la MaixGo<\/a> et l&rsquo;avoir mont\u00e9e, il faudrait commencer \u00e0 faire quelque chose avec. <\/p>\n\n\n\n<p>Tout d&rsquo;abord, comme \u00e7a fait un an et demi qu&rsquo;elle traine sur mon \u00e9tag\u00e8re, une bonne id\u00e9e serait de la mettre \u00e0 jour.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mise \u00e0 Jour<\/h2>\n\n\n\n<p>Les commandes brutes :<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">$ git <span class=\"hljs-keyword\">clone<\/span> https:<span class=\"hljs-comment\">\/\/github.com\/sipeed\/MaixPy<\/span>\n$ cd MaixPy\n$ wget http:<span class=\"hljs-comment\">\/\/dl.cdn.sipeed.com\/kendryte-toolchain-ubuntu-amd64-8.2.0-20190409.tar.xz<\/span>\n$ sudo tar -Jxvf kendryte-toolchain-ubuntu-amd64<span class=\"hljs-number\">-8.2<\/span><span class=\"hljs-number\">.0<\/span><span class=\"hljs-number\">-20190409.<\/span>tar.xz -C \/opt\n$ cd projects\/hello_world\n$ python3 project.py menuconfig\n$ python3 project.py build\n$ python3 project.py flash -B dan -b <span class=\"hljs-number\">1500000<\/span> -p \/dev\/ttyACM0 -t\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Langage du code\u00a0:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">6+1 micros<\/h2>\n\n\n\n<p>Mais \u00e0 quoi peuvent bien servir autant de micros sur une m\u00eame carte \u00e9lectronique ? <\/p>\n\n\n\n<p>\u00c0 faire de la localisation de source sonore pardi. Pour faire cela, je n&rsquo;invente rien. Il suffit de reprendre le script propos\u00e9 par <a href=\"https:\/\/github.com\/chegewara\/sipeed-maixduino-test-apps\/blob\/master\/platformIO\/MaixPy\/mic-array.py\">chegewara sur son github<\/a> (avec quelques suppressions de lignes inutiles dans le cas du MaixGo):<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-keyword\">from<\/span> Maix <span class=\"hljs-keyword\">import<\/span> MIC_ARRAY <span class=\"hljs-keyword\">as<\/span> mic\n<span class=\"hljs-keyword\">import<\/span> lcd\n\nlcd.init()\nmic.init()\n\n<span class=\"hljs-keyword\">while<\/span> True:\n    imga = mic.get_map()\n    b = mic.get_dir(imga)\n    a = mic.set_led(b,(<span class=\"hljs-number\">0<\/span>,<span class=\"hljs-number\">0<\/span>,<span class=\"hljs-number\">255<\/span>))\n    imgb = imga.resize(<span class=\"hljs-number\">240<\/span>,<span class=\"hljs-number\">160<\/span>)\n    imgc = imgb.to_rainbow(<span class=\"hljs-number\">1<\/span>)\n    a = lcd.display(imgc)\nmic.deinit()<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Langage du code\u00a0:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><\/p>\n\n\n\n<p>Pour reproduire la manipulation, on se connecte \u00e0 la carte via le script propos\u00e9 dans <a href=\"http:\/\/www.fabienm.eu\/wordpress\/?p=1219\">mon intro<\/a>:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">$ python sipeedcom.py \n--- forcing DTR inactive\n--- forcing RTS inactive\n--- Miniterm on \/dev\/ttyACM0  <span class=\"hljs-number\">115200<\/span>,<span class=\"hljs-number\">8<\/span>,N,<span class=\"hljs-number\">1<\/span> ---\n--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---\n\n&#91;MAIXPY]Pll0:freq:<span class=\"hljs-number\">832000000<\/span>\n&#91;MAIXPY]Pll1:freq:<span class=\"hljs-number\">398666666<\/span>\n&#91;MAIXPY]Pll2:freq:<span class=\"hljs-number\">45066666<\/span>\n&#91;MAIXPY]cpu:freq:<span class=\"hljs-number\">416000000<\/span>\n&#91;MAIXPY]kpu:freq:<span class=\"hljs-number\">398666666<\/span>\n&#91;MAIXPY]Flash:<span class=\"hljs-number\">0xc8<\/span>:<span class=\"hljs-number\">0x17<\/span>\nopen second core...\ngc heap=<span class=\"hljs-number\">0x802ee440<\/span><span class=\"hljs-number\">-0x8036e440<\/span>(<span class=\"hljs-number\">524288<\/span>)\n&#91;MaixPy] init end\n\n __  __              _____  __   __  _____   __     __\n|  \\\/  |     \/\\     |_   _| \\ \\ \/ \/ |  __ \\  \\ \\   \/ \/\n| \\  \/ |    \/  \\      | |    \\ V \/  | |__) |  \\ \\_\/ \/\n| |\\\/| |   \/ \/\\ \\     | |     &gt; &lt;   |  ___\/    \\   \/\n| |  | |  \/ ____ \\   _| |_   \/ . \\  | |         | |\n|_|  |_| \/_\/    \\_\\ |_____| \/_\/ \\_\\ |_|         |_|\n\nOfficial Site : https:<span class=\"hljs-comment\">\/\/www.sipeed.com<\/span>\nWiki          : https:<span class=\"hljs-comment\">\/\/maixpy.sipeed.com<\/span>\n\nMicroPython v0<span class=\"hljs-number\">.5<\/span><span class=\"hljs-number\">.0<\/span><span class=\"hljs-number\">-104<\/span>-gbbd4c9880 on <span class=\"hljs-number\">2020<\/span><span class=\"hljs-number\">-07<\/span><span class=\"hljs-number\">-26<\/span>; Sipeed_M1 with kendryte-k210\nType <span class=\"hljs-string\">\"help()\"<\/span> <span class=\"hljs-keyword\">for<\/span> more information.\n&gt;&gt;&gt; \n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Langage du code\u00a0:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>On peut bien sur copier\/coller les lignes du script une par une. Mais c&rsquo;est tr\u00e8s p\u00e9nible, surtout que la moindre erreur de frappe ne peut pas \u00eatre corrig\u00e9e.<\/p>\n\n\n\n<p>Non pour se simplifier la vie on peut passer en mode \u00abpaste\u00bb avec <strong>Ctrl+e<\/strong>. un peu comme dans vim, il ne prendra le texte que de mani\u00e8re \u00abbrute\u00bb sans mise en forme. On termine sa session de collage avec la touche <strong>Ctrl+d<\/strong>.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">&gt;&gt;&gt; \npaste mode; Ctrl-C to cancel, Ctrl-D to finish\n=== <span class=\"hljs-keyword\">from<\/span> Maix <span class=\"hljs-keyword\">import<\/span> MIC_ARRAY <span class=\"hljs-keyword\">as<\/span> mic\n=== \n<span class=\"hljs-keyword\">import<\/span> lcd\n=== \n\n=== \nlcd.init()\n=== \nmic.init()\n=== \n\n=== \n<span class=\"hljs-keyword\">while<\/span> True:\n=== \n    imga = mic.get_map()\n=== \n    b = mic.get_dir(imga)\n=== \n    a = mic.set_led(b,(<span class=\"hljs-number\">0<\/span>,<span class=\"hljs-number\">0<\/span>,<span class=\"hljs-number\">255<\/span>))\n=== \n    imgb = imga.resize(<span class=\"hljs-number\">240<\/span>,<span class=\"hljs-number\">160<\/span>)\n=== \n    imgc = imgb.to_rainbow(<span class=\"hljs-number\">1<\/span>)\n=== \n    a = lcd.display(imgc)\n=== \nmic.deinit()\n=== \n\nMicrophone <span class=\"hljs-built_in\">Array<\/span> Arithmetic, Developed by Canaan, Port by Sipeed\nTrue<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Langage du code\u00a0:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Ce qui donne \u00e7a :<\/p>\n\n\n\n<iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/4M94OKJwK04\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"\" width=\"560\" height=\"315\" frameborder=\"0\"><\/iframe>\n\n\n\n<p>Le programme s&rsquo;arr\u00eate avec un simple Ctrl+C<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">Microphone <span class=\"hljs-keyword\">Array<\/span> Arithmetic, Developed by Canaan, Port by Sipeed\n<span class=\"hljs-keyword\">True<\/span>\nTraceback (most recent call last):\nFile <span class=\"hljs-string\">\"\"<\/span>, line <span class=\"hljs-number\">13<\/span>, in\nKeyboardInterrupt:<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Langage du code\u00a0:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apr\u00e8s avoir re\u00e7u la MaixGo et l&rsquo;avoir mont\u00e9e, il faudrait commencer \u00e0 faire quelque chose avec. Tout d&rsquo;abord, comme \u00e7a fait un an et demi qu&rsquo;elle traine sur mon \u00e9tag\u00e8re, une bonne id\u00e9e serait de la mettre \u00e0 jour. Mise &hellip; <a href=\"https:\/\/www.fabienm.eu\/wordpress\/2020\/07\/28\/reseau-de-micros-de-la-maixgo\/\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1490","post","type-post","status-publish","format-standard","hentry","category-non-classe"],"_links":{"self":[{"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts\/1490","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/comments?post=1490"}],"version-history":[{"count":3,"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts\/1490\/revisions"}],"predecessor-version":[{"id":1526,"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/posts\/1490\/revisions\/1526"}],"wp:attachment":[{"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/media?parent=1490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/categories?post=1490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fabienm.eu\/wordpress\/wp-json\/wp\/v2\/tags?post=1490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}