步驟1:上傳Arduino代碼
首先,我們需要在arduino上上載代碼。
下載源代碼:http://utest .madnerd.org
下載arduino nano的驅(qū)動程序:http://nano.madnerd.org
在Arduino軟件上(http://arduino.madnerd。 org/)
將 utest文件夾復制到您的 sketch文件夾
上傳 utest .ino
(工具:Arduino Nano/ Processo r:Atmega328)
您將需要一個 Arduino nano克?。╟h340g),因為應(yīng)用程序只會檢測到它。
您可以使用串行監(jiān)視器 》,以測試您的arduino:
無行尾/115200
UTest : return OK
ON : Turn on internal led (pin13)
OFF: Turn off internal led (pin13)
步驟2:控制Arduino使用Utest
utest是便攜式應(yīng)用程序,您無需安裝即可安裝可以。
最終會自動找到arduino
您可以嘗試拔出它/插入將它放在另一個 USB端口上,它將重新連接。
utest可能由于缺少.dll而無法在Windows 7上運行。
如果您的計算機是最新的,則不會發(fā)生這種情況
來源:http://stackoverflow.com/questions/34218333/pyins 。..
下載該應(yīng)用程序:http://utestapp.madnerd.org
單擊 utest.exe
步驟3:創(chuàng)建自己的應(yīng)用程序
讓我們看看如何重復使用此應(yīng)用程序,以創(chuàng)建自己的應(yīng)用程序。
首先,我們需要安裝 python 3 對其進行修改。
下載python 3(https ://www.python.org/downloads/)
在安裝過程中,勾選將Python 3.5添加到PATH
然后我們需要安裝 pySerial 與我們的arduino通信。
打開命令提示符(Windows鍵+ cmd)
鍵入:
pip install serial
最后,測試應(yīng)用程序,該應(yīng)用程序可從源代碼(http://utest.madnerd.org)中的 apps/utest/
打開命令提示符
轉(zhuǎn)到源代碼文件夾( apps/utest/)
類型:
步驟4:創(chuàng)建界面
我們擁有修改應(yīng)用程序所需的一切。
檢查出源代碼:utest.py(github)
讓我們看看
如何管理我們的arduino
如何用 tkinter
建立圖形界面為了最簡單地管理arduino,一切都由模塊處理 lib/usb.py
USB
到目前為止,該模塊只有兩個命令
usb = USB.Device( 。.. )
連接到每個串行端口,這些串行端口在 CH340 他的名字
發(fā)送 UTest 到串行端口
如果收到“ 確定” ,它將與之連接
python utest.py
一切都在單獨線程內(nèi)部,以避免阻塞應(yīng)用程序。
usb.write (《斯特龍g》 s 調(diào)整 )
發(fā)送字符串到arduino
如果串行端口不可用,它將嘗試重新連接
GUI(TKinter)
最好使用 tkinter 來管理GUI(圖形界面)
您可以在 tkinter 上找到更多信息:http://www.tkdocs.com/tutorial/index.html
創(chuàng)建窗口:
from lib import USB
device_name = “CH340” #Device name in Windows
device_type = “UTest” #Device type (in the arduino sketch)
device_return_string = “OK” #Answer when a response is correct
device_baudrate = 115200 #Baudrate
usb = USB.Device(device_name,device_type,device_return_string,device_baudrate,status)
創(chuàng)建按鈕
from tkinter import *
root = Tk()
為按鈕打開
Button(text=“on”,command=on).pack()
創(chuàng)建標簽
def on():
print(“on”)
如果要修改小部件,我們需要將其保存到變量,并在另一行上使用 .pack()。我們發(fā)送標簽到 USB模塊 顯示 連接的當前狀態(tài)
status = Label(text=“Searching.。.”)
status.pack()
最后,我們生成 GUI循環(huán)。
usb = USB.Device(。..,status)
步驟5:向Arduino添加命令
我們的界面已準備就緒,
但我們需要教我們的 arduino ,以理解我們將發(fā)送的命令。
簽出源代碼:utest.ino(Github)
串行功能
我們使用兩個功能來管理串行通信。
root.mainloop()
檢查串行端口,并將任何消息轉(zhuǎn)換為 string (在 readString 內(nèi)部) p》
serialManager()
如果收到 UTest ,請回答確定
設(shè)備名稱
您可以在第一行
serialCheck()
中更改 usb 設(shè)備的名稱。添加命令
我們在 void loop()
const String usb_name = “UTest”;
內(nèi)部為每個命令創(chuàng)建一個條件,例如
void loop() {
serialManager();
//If string received
if (readString.length() 》 0) {
serialCheck();
if (readString == “ON”){
digitalWrite(13,1);
}
if (readString == “OFF”){
digitalWrite(13,0);
}
}
//We clean the serial buffer
readString = “”;
}
發(fā)送
if (readString == “ON”){
digitalWrite(13,1);
}
時,打開內(nèi)部LED指示燈可執(zhí)行文件
arduino/應(yīng)用程序已準備好捆綁為.exe
安裝 pyinstaller ,我們將使用它來進行轉(zhuǎn)換將我們的應(yīng)用程序轉(zhuǎn)換為單個可執(zhí)行文件
pip install pyinstaller
您可以使用腳本 compile.bat 來編譯應(yīng)用程序》
pyinstaller --onefile --noconsole utest.py
如果要顯示調(diào)試消息,請使用以下命令:
pyinstaller --onefile utest.py
您現(xiàn)在應(yīng)該有一個/dist/utest.exe 文件
您可能會收到有關(guān)api-ms 。.. dll文件的警告。
這應(yīng)該不是問題,因為這些DLL(通用C運行時)已預先安裝在Windows 10上,并且以前的Windows如果它們是最新的,也應(yīng)該具有它們。
步驟7:。..繼續(xù)
我希望這是有用的 ,這將啟發(fā)您創(chuàng)建Arduino應(yīng)用程序!
進行一些修改后,該應(yīng)用程序應(yīng)可在 MacOS/Linux上運行。
-
Arduino
+關(guān)注
關(guān)注
187文章
6457瀏覽量
186502
發(fā)布評論請先 登錄
相關(guān)推薦
評論