- 參考https://www.ev3dev.org/docs/getting-started/
- 下載EV3dev image file
- 準備一張microSD卡(不要超過32GB)
- 下載Etcher ,並安裝以便於將下載的EV3dev image檔燒錄到microSD卡中
- 執行Etcher,選擇microSD卡的位置,以及image file,並開始執行image file燒錄動作
- 將燒錄好的microSD插入EV3主機,支援EV3的wi-fi dongle也一併接上EV3的USB port
- 將EV3主機開機,開機完成後會出現以下畫面,畫面右上角代表電池的電壓,若電壓值於8V~6.5V之間,代表電力正常,若電壓低於5V,主機將自動關機
- 選擇Wireless and Network,設定wi-fi連線(使用金鑰認證),若連線成功,ev3主機螢幕上方會出現正確的IP位置
- 打開Pietty利用SSH,遠端連線到EV3主機的IP,預設帳號robot,預設密碼maker
- 執行python --version,得知目前環境預設的python是2.7版,系統也支援python3.5。執行which python,得知python的執行路徑放在/usr/bin/python,ls -al /usr/bin/python 可得知是連結到python2.7 若要切換預設執行版本:sudo rm /usr/bin/pythonsudo ln -s /usr/bin/python3.5 /usr/bin/python切换到3.5版本的python了
若要再改回來:
sudo rm /usr/bin/pythonsudo ln -s /usr/bin/python2.7 /usr/bin/python切换到python版本2.7了進入python編輯畫面,要跳出時,按CTRL+D
二、如何在EV3DEV執行簡單的程式直接操控EV3
- 發出聲音:
$ beep # 440 Hz for 200 ms $ beep -f 200 -l 500 # 220 Hz for 500 ms $ beep -f 262 -l 180 -d 20 -r 2 \ -n -f 392 -l 180 -d 20 -r 2 \ -n -f 440 -l 180 -d 20 -r 2 \ -n -f 392 -l 380 -d 20 \ -n -f 349 -l 180 -d 20 -r 2 \ -n -f 330 -l 180 -d 20 -r 2 \ -n -f 294 -l 180 -d 20 -r 2 \ -n -f 262 -l 400 # twinkle twinkle little star
- 讓ev3可以直接說話(將輸入的英文字句,以人聲講出來)
$ espeak "hello, I am an EV3. I like to talk because I am a robot.“ --stdout | aplay Playing WAVE 'stdin' : Signed 16 bit Little Endian, Rate 22050 Hz, Mono
三、利用3D印表機,列印出可以plug在樂高積木橫桿上的筆套(Pen holder for EV3 Drawing robot)
四、組裝ev3 print bot
- 組裝步驟圖:下載處
- 組裝完後,將前端固定筆的裝置拆下
- 改成3DP列印的筆套
- 在windows下,執行pietty,以SSH連線到EV3
- 執行以下指令
git clone https://github.com/cavenel/ev3-print3rbot.git cd ev3-print3rbot/
- 編輯writer.py,找到以下程式碼。wri.draw_image(image_file = 'images/test.svg')代表程式執行預設是畫出images/test.svg檔
wri = Writer(calibrate = True) wri.draw_image(image_file = 'images/test.svg')
- 執行程式讓ev3printbot開始畫圖(列印)
python3 writer.py
- 若要讓EV3畫出不同的圖,首先我們要利用inkscape畫圖,存檔成SVG檔,在windows 下利用inkscape命令列,轉換圖檔:"c:\Program Files\Inkscape\inkscape.exe" c:\image.svg --verb=EditSelectAll --verb=ObjectToPath --verb=SelectionUnGroup --verb=FileSave --verb=FileClose --verb=FileQuit
參數意義:
--verb=EditSelectAll (選擇全部)
--verb=ObjectToPath (將物件轉成路徑)
--verb=SelectionUnGroup (將物件解散群組)
--verb=FileSave(覆寫存檔)
--verb=FileClose(關閉)
--verb=FileQuit(離開) - 將轉換後的image.svg,利用winscp這種sftp軟體,將檔案上傳到EV3,並放在/home/robot/ev3-print3rbot/images
- 修改writer.py,將wri.draw_image(image_file = 'images/test.svg')
改為
wri.draw_image(image_file = 'images/image.svg') - 執行writer.py
python3 writer.py
Reference:
沒有留言:
張貼留言