日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python将txt转json_Python控制乐高EV3,以及VSCODE环境配置

發(fā)布時間:2024/7/5 python 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python将txt转json_Python控制乐高EV3,以及VSCODE环境配置 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

樂高EV3的可擴(kuò)展性很強(qiáng),但如何用pc連接ev3,并用python代碼來控制EV3,資料太少了,試著做了一次,記錄在這里。

需要的硬/軟件

硬件準(zhǔn)備

一、樂高EV3

二、PC,win10系統(tǒng)

三、TF卡(我用的是64G的)

四、TF卡讀卡器

軟件準(zhǔn)備

一、必須的:

(一)python

官方下載地址:https://www.python.org/downloads/

(二)Win32 Disk Imager

官方下載地址:https://sourceforge.net/projects/win32diskimager/files/latest/download

(三)EV3Dev

本質(zhì)上是一個 Debian Linux 的操作系統(tǒng),我們將讓EV3加載這個操作系統(tǒng),然后利用Python來操作EV3。

EV3Dev有兩個版本:

1.0-版本名稱叫Jessie

2.0-版本名稱叫Stretch

我用的是Stretch,沒比較過兩個版本的區(qū)別。

官方下載地址:https://www.ev3dev.org/docs/getting-started/

二、看情況選擇:

(一)python的IDE或編輯器

可選的很多,pycharm, visual studio code(vs code),jupyter, notepad++等等都可以。

vs Code是一個不錯的選擇,輕量級,擴(kuò)展多,連接方便。

當(dāng)然,選擇其他也沒問題。

附上vs code官方載地址:https://code.visualstudio.com/

(二)將PC和EV3相連的軟件

如果已經(jīng)選擇了vs code,也可以不另外下載,因?yàn)関s code可以很方便的連接上EV3。

或者,也可以下win scp,通過它,在PC和EV3之間傳輸文件。

win scp官方下載地址:https://winscp.net/eng/index.php

基本原理

本質(zhì)就是將一個叫Ev3Dev的Linux系統(tǒng)先裝到TF卡上,然后將TF卡插入EV3機(jī)器中,這樣,開機(jī)時EV3就會加載TF卡上的操作系統(tǒng)。

然后將代碼文件(.py)寫入EV3中執(zhí)行。

如果想用回原生的系統(tǒng),關(guān)機(jī)后拔卡重新啟動EV3就好。

步驟

一、打開Win32 Disk Imager, 將下載的ev3dev2映像文件(img文件)寫入空白的TF卡中。

二、將TF卡插入EV3中,開機(jī)。開機(jī)時間較久,大概需要30秒甚至更長,要耐心等待。

到出現(xiàn)這個圖,就差不多了。

最后會出現(xiàn)這個界面,就OK了。

三、連接PC和EV3

1.USB線連接

按下圖選擇:

2.藍(lán)牙

按下圖選擇

3.wifi,這個需要適配器。我沒有。

不論哪種方式,連接成功后在EV3機(jī)器屏幕最上一行會出現(xiàn)EV3的IP地址。

到了這步,可以打開win scp,輸入EV3的IP地址登錄EV3了。如果已經(jīng)寫好了代碼,就可以將代碼傳進(jìn)EV3執(zhí)行了。

默認(rèn)登錄名:robot,默認(rèn)密碼:maker

不過且慢, 在將你的代碼傳進(jìn)EV3之前,需要對傳輸?shù)奈募M(jìn)行權(quán)限設(shè)置。(因?yàn)楝F(xiàn)在EV3上運(yùn)行的EV3Dev是linux系統(tǒng),linux系統(tǒng)的文件是否可執(zhí)行,不是看擴(kuò)展名,而是依賴文件權(quán)限的設(shè)置。)

打開win scp后,根據(jù)如下設(shè)置:

設(shè)置完成后,就可以將py文件傳進(jìn)EV3,在EV3上通過filebrowser找到文件,直接點(diǎn)擊EV3中間的按鈕就可以運(yùn)行了。

現(xiàn)在,EV3真的可以運(yùn)行自己寫的py文件了。

如果使用VS code,則不用進(jìn)行py文件的權(quán)限設(shè)置,因?yàn)関s code在將文件傳進(jìn)EV3之前處理好文件的權(quán)限。


如果你打算使用jupyter, notepad++這些編輯器編輯生成py文件,然后再用win scp傳到EV3,那就不用往下看了。

以下是使用vscode才需要看。

vscode的確比較便捷好用,它可以編輯代碼,連接EV3,調(diào)試及運(yùn)行代碼。推薦一試。

四、安裝vs code

省略,如不懂可自行搜索。

五、通過vscode連接EV3。若連接成功,EV3名稱前會有個小綠點(diǎn)。

六、重點(diǎn)是配置

1.安裝擴(kuò)展

(1)microsoft python extension

(2)ev3dev-browser

2.選擇一種方式啟動一個項(xiàng)目

3.下載一個開始項(xiàng)目

下載地址:https://github.com/ev3dev/vscode-hello-python

下載這個項(xiàng)目的意義在于,這個項(xiàng)目里邊有一個文件夾:.vscode,文件夾里包含下面幾個配置文件,其中的launch.json、settings.json對配置有用。當(dāng)然,自己編寫也是可以的。

launch.json

settings.json

extensions.json

.gitignore

把.vscode文件夾復(fù)制到項(xiàng)目的工作文件夾,刪掉extension.json, .gitignore,只保留launch.json、settings.json。

4.修改配置文件

(1)launch.json修成為如下,重點(diǎn)是

"program": "/home/robot/${workspaceRootFolderName}/${relativeFile}"

{"version": "0.2.0","configurations": [{"name": "Download and Run Current File","type": "ev3devBrowser","request": "launch","program": "/home/robot/${workspaceRootFolderName}/${relativeFile}"}] }

(2)settings.json修改如下:

{"files.eol": "n","ev3devBrowser.download.exclude": "{**/.*,LICENSE,README.md}" }

配置成功后,在Debug界面中會出現(xiàn)Download and run current file.

而原來的Debug界面是這樣的:

5.配置虛擬環(huán)境(視情況而定,也可以不做。)

這一步的目的是,是讓文件的運(yùn)行有一個“相對獨(dú)立且干凈”的python環(huán)境,如果覺得不需要,也可以不做。

另外,這一步,可以部分解決“unable to import ev3dev2 ”報錯。

一、確定已安裝有ev3dev2庫,如無,先在vscode終端或在cmd中安裝:

pip install --upgrade pip pip install python-ev3dev2

二、確認(rèn)安裝有virtualenv,如沒有,先安裝。

pip install virtualenv

三、打開CMD(win+R打開),進(jìn)入工作文件夾,然后輸入以下代碼,作用是建立虛擬環(huán)境:

py -3 -m venv .venv

然后激活:

.venvScriptsactivate

運(yùn)行activate后,會成這樣:

這時,在工作文件夾內(nèi)會多一個.venv的文件夾,說明成功。

四、點(diǎn)擊下方藍(lán)色狀態(tài)欄的最左側(cè),將python解釋器修改為虛擬環(huán)境中的解釋器。

七、其他

確定.py文件中代碼的開頭為:

#!/usr/bin/env python3

否則會報錯。

成功運(yùn)行

連接好EV3和PC,隨便寫了一段代碼,按F5運(yùn)行,成功!

https://www.zhihu.com/video/1197284882014138368#!/usr/bin/env python3 import ev3dev2.fonts as fonts from ev3dev2.motor import * from ev3dev2.sound import * from ev3dev2.led import * from ev3dev2.sensor.lego import TouchSensor from ev3dev2.button import * from ev3dev2.display import * from PIL import Image from time import sleep, time import tracebackclass myev3:def __init__(self,txt):# print("program starting...")self.m = Motor(address="A")self.sd=Sound()self.btn=Button()self.led=Leds()self.lcd=Display()self.txt=txtdef disp(self,txt):self.lcd.draw.text((5,10),txt, font=fonts.load('luBS14'))self.lcd.update()sleep(5)def left(self,state):if state:self.sd.speak('you press the left')self.m.on_for_rotations(SpeedPercent(50),5)self.led.set_color("LEFT","ORANGE")def right(self,state):if state:self.sd.speak('hello,nice to meet you.')self.led.set_color("LEFT","YELLOW")def showlogo(self):self.logo = Image.open('../py/pics/dzxclogo.jpg')self.lcd.image.paste(self.logo, (0,0))self.lcd.update()sleep(5)def run(self): self.btn.on_left=self.leftself.btn.on_right=self.rightself.disp(self.txt)self.showlogo()while True:self.btn.process()sleep(0.02) if __name__=='__main__':try:my=myev3("Welcome to nDa Zhi Xiao Chao nScientific labratory")my.run()except:# If there is any error, it will be stored in the log file in the same directorylogtime = str(time())f=open("log" + logtime + ".txt",'a') traceback.print_exc(file=f) f.flush() f.close()

總結(jié)

以上是生活随笔為你收集整理的python将txt转json_Python控制乐高EV3,以及VSCODE环境配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。