[[Arduino勉強会]] 2019/04/27からのアクセス回数 &counter; ** 開発ボード購入 [#cc688719] SipeedのMAIXは、RISC-V64 AIモジュール搭載の非常にユニークなCPUです。 開発用ボードには、以下のラインナップがあります。 - GO: MAIX、カメラ、液晶、アレイマイク、ステレオカメラ、ケースの全部入りキット - Bit Kit: MAIX、カメラ、液晶のキット - Dock: MAIX with WiFi、カメラ、液晶のキット この中でも、Bit KitはWiFiが付いていないので、技適の問題もないので国内でもすぐに 利用できます。 Bit Kitは、$20.9(+送料$14.0)ととてもお得です。 - https://www.seeedstudio.com/Sipeed-MAix-BiT-for-RISC-V-AI-IoT-1-p-2873.html &ref(Bit-Kit.png,,50%); &ref(Sipeed-Bit-intro.jpg,,50%); ** ボードの回路図情報 [#gf5c95a8] 販売されて日が浅いため、中国語以外の情報が少なく、以下のサイトにある回路図から 読み取るしかありません。 - http://dl.sipeed.com/MAIX/HDK/ ** MAIXのmicropytho(MaixPy)を動かしてみよう [#x3691c26] *** バイナリファイルのダウンロード [#j02bceb8] MaixPyの最新版は、以下のサイトからダウンロードできます。 - https://github.com/sipeed/MaixPy/releases 現在の最新版は、v0.3.0です。以下のURLからmaixpy_v0.3.0_full.binをダウンロードしてください。 - http://dl.sipeed.com/MAIX/MaixPy/release/maixpy_v0.3.0/ *** ドキュメント [#ef5238c7] MaixPyのドキュメントは以下のサイトにあります。 - https://maixpy.sipeed.com/en/ *** K-Flashのダウンロード先 [#k0188efc] バイナリファイルの書き込みには、k-Flashを使用します。 Windowsユーザは、以下のファイルからF-Flashをダウンロードしてください。 - https://kendryte.com/downloads/ K-Flashを起動し、DeviceにMAiX BitのCOMポートを指定し、 Firmwareにダウンロードしたバイナリファイル(maixpy_v0.3.0_full.bin)を指定して Flashボタンを押してください。 &ref(k-flash.jpg); LinuxとMac OSXユーザは、python3にpyserialをインストールし、 gitコマンドでflash.pyをクローンします。 #pre{{ $ pip install pyserial $ git clone https://github.com/sipeed/kflash.py kflash }} 私の環境では、MAiX Bitのデバイスは、/dev/cu.wchusbserial1420 なので、以下のようにしてmaixpy_v0.3.0_full.binを書き込みます。 #pre{{ $ python kflash.py -p /dev/cu.wchusbserial1420 -b 2000000 -B dan maixpy_v0.3.0_full.bin }} *** 動作確認 [#ke7dbd09] Windowsユーザは、teraterm、Linux, MacOSXのユーザならpicocom等の通信ソフトでアクセスします。 以下のようにMAiXPyの絵文字がでれば書き込みは成功です。 #pre{{ $ picocom -b 115200 /dev/cu.wchusbserial1420 picocom v2.2 途中省略 __ __ _____ __ __ _____ __ __ | \/ | /\ |_ _| \ \ / / | __ \ \ \ / / | \ / | / \ | | \ V / | |__) | \ \_/ / | |\/| | / /\ \ | | > < | ___/ \ / | | | | / ____ \ _| |_ / . \ | | | | |_| |_| /_/ \_\ |_____| /_/ \_\ |_| |_| Official Site : https://www.sipeed.com Wiki : https://maixpy.sipeed.com MicroPython v0.3.0 on 2019-04-19; Sipeed_M1 with kendryte-k210 Type "help()" for more information. >>> }} ** プログラミング環境 [#id3be97a] micropythonのプログラミングには、mu-editorが便利です。 MaixPyの他、exp32やmicro:bitもサポートしています。 *** mu-editorのダウンロード [#y2a32cb1] mu-editorは、以下のサイトからダウンロードできます。 お使いのOSに合わせてダウンロードしてください。 - https://codewith.mu/en/download *** Lチカに挑戦 [#z91cbc58] 定番のLチカをmu-editorを使って試してみましょう。 MAiXのFlashにプログラムを保存することも可能ですが、 転送ボタンの動作が不安定なので、MAiX BitにSDカードを 挿入して、そちらにプログラムを保存することにします。 mu-editorから「新規」ボタンを押して、以下のソースを入力「実行」ボタンを押下します。 #pre{{ import utime from Maix import GPIO from board import Board_Info from fpioa_manager import * board_info = Board_Info() fm.register(board_info.LED_R, fm.fpioa.GPIO1) led_r = GPIO(GPIO.GPIO1, GPIO.OUT) for i in range(20): led_r.value(not led_r.value()) utime.sleep_ms(1000) fm.unregister(board_info.LED_R, fm.fpioa.GPIO1) }} &ref(mu-editor-blink.png,,50%); MAiX Bitに搭載されたRBG LEDの赤が点滅すれば成功です。 &ref(Bit-Blink.jpg,,25%); *** ファイルの転送 [#t6409b8d] SDカードにスクリプト(blink.py)を転送し、それを実行するこもできます。 mu-editorの「ファイル」ボタンを押し、転送したファイルを"Files on your device:"に ドラッグしてください。 ファイルが転送されたら、再度「ファイル」ボタンを押し、編集画面に戻り、 次に「REPL」(インタラクティブモード)を押し、">>>"のプロンプトが表示されたら、 以下のコマンドを入力してください。 もし、スクリプトが動かない場合には、一連の処理を関数で定義し、importの後に関数を呼び出すようにすると、 上手く動きます。 #pre{{ os.chdir('/sd/') import blink }} ** 顔認識の例題 [#p3e398da] Lチカが上手く動いたら、カメラとLCDをBitに接続して、顔認識のスクリプトを 実行してみましょう。 &ref(Bit_w_Camera_LCD.jpg,,25%); 以下のスクリプトを入力し、「実行」ボタンを押してください。 顔が認識されるその範囲がREPLのコンソールに表示され、LCDには水色の矩形で 表示されます。 #pre{{ import sensor import image import lcd def face_detect(): lcd.init() sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.run(1) face_cascade = image.HaarCascade("frontalface", stages=100) while True: img=sensor.snapshot() objects = img.find_features(face_cascade, threshold=1.00, scale=1.1) for r in objects: img.draw_rectangle(r,color=(0,255,255)) print(r) lcd.display(img) face_detect() }} &ref(Bit_face_detected.jpg,,25%); ** Sipeed Maix BiTのピン配置 [#qcd528fc] Sipeedのサイト内容では、ピン配置がよく分かりません。 https://maixpy.sipeed.com/en/hardware/bit.html 以下に、Bitの回路図とboardinfoからBitの各ピンに割り当てられた機能を整理しました。 &ref(BiT_pin_layout.png); ** MaixPyの環境を準備する [#pf1b3dd2] MaixPyをソースからコンパイルするには、大文字・小文字を区別するファイルシステムが必要なため、 dockerのUbuntu環境でMaixPyの開発を構築しました。 以下の手順でイメージ(約2GB)をダウンロードし、作業ディレクトリから起動してください。 maixpyのbashが起動します。 #pre{{ $ docker run -v `pwd`:/home/maix/workspace -i --name maixpyenv -t takepwave/maixpyenv }} 再度maixpyenvで作業をするには、docker execコマンドを使用します。 起動時に指定したmaixpyenvと名前で実行プロセスを指定します。 #pre{{ $ docker exec --user maix -it maixpyenv /bin/bash }} ** コメント [#k4f73729] #vote(おもしろかった[33],そうでもない[3],わかりずらい[2]) #vote(おもしろかった[34],そうでもない[3],わかりずらい[2]) 皆様のご意見、ご希望をお待ちしております。勉強会で分からなかったこと等、お気軽に問い合わせて下さい。 スパム防止に画像の文字列も入力してください。 - mu-editorのモードは「Python3」で良いのでしょうか?mu-editorがMAiX Goを認識しなかった。SDカードにboot.pyと言う名前でプログラムを書き込んでから、MAiX Goに差し込んで、電源スイッチをOnにしたら、プログラムが動いた。 -- [[nyu]] &new{2019-08-31 (土) 14:41:07}; #comment_kcaptcha