电子说
步骤1:上传Arduino代码
首先,我们需要在arduino上上载代码。
下载源代码:http://utest .madnerd.org
下载arduino nano的驱动程序:http://nano.madnerd.org
在Arduino软件上(http://arduino.madnerd。 org/)
将 utest文件夹复制到您的 sketch文件夹
上传 utest .ino
(工具:Arduino Nano/ Processo r:Atmega328)
您将需要一个 Arduino nano克隆(ch340g),因为应用程序只会检测到它。
您可以使用串行监视器 》,以测试您的arduino:
无行尾/115200
UTest : return OK
ON : Turn on internal led (pin13)
OFF: Turn off internal led (pin13)
步骤2:控制Arduino使用Utest
utest是便携式应用程序,您无需安装即可安装可以。
最终会自动找到arduino
您可以尝试拔出它/插入将它放在另一个 USB端口上,它将重新连接。
utest可能由于缺少.dll而无法在Windows 7上运行。
如果您的计算机是最新的,则不会发生这种情况
来源:http://stackoverflow.com/questions/34218333/pyins 。..
下载该应用程序:http://utestapp.madnerd.org
单击 utest.exe
步骤3:创建自己的应用程序
让我们看看如何重复使用此应用程序,以创建自己的应用程序。
首先,我们需要安装 python 3 对其进行修改。
下载python 3(https ://www.python.org/downloads/)
在安装过程中,勾选将Python 3.5添加到PATH
然后我们需要安装 pySerial 与我们的arduino通信。
打开命令提示符(Windows键+ cmd)
键入:
pip install serial
最后,测试应用程序,该应用程序可从源代码(http://utest.madnerd.org)中的 apps/utest/
打开命令提示符
转到源代码文件夹( apps/utest/)
类型:
步骤4:创建界面
我们拥有修改应用程序所需的一切。
检查出源代码:utest.py(github)
让我们看看
如何管理我们的arduino
如何用 tkinter
建立图形界面为了最简单地管理arduino,一切都由模块处理 lib/usb.py
USB
到目前为止,该模块只有两个命令
usb = USB.Device( 。.. )
连接到每个串行端口,这些串行端口在 CH340 他的名字
发送 UTest 到串行端口
如果收到“ 确定” ,它将与之连接
python utest.py
一切都在单独线程内部,以避免阻塞应用程序。
usb.write (《斯特龙g》 s 调整 )
发送字符串到arduino
如果串行端口不可用,它将尝试重新连接
GUI(TKinter)
最好使用 tkinter 来管理GUI(图形界面)
您可以在 tkinter 上找到更多信息:http://www.tkdocs.com/tutorial/index.html
创建窗口:
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)
创建按钮
from tkinter import *
root = Tk()
为按钮打开
Button(text=“on”,command=on).pack()
创建标签
def on():
print(“on”)
如果要修改小部件,我们需要将其保存到变量,并在另一行上使用 .pack()。我们发送标签到 USB模块 显示 连接的当前状态
status = Label(text=“Searching.。.”)
status.pack()
最后,我们生成 GUI循环。
usb = USB.Device(。..,status)
步骤5:向Arduino添加命令
我们的界面已准备就绪,
但我们需要教我们的 arduino ,以理解我们将发送的命令。
签出源代码:utest.ino(Github)
串行功能
我们使用两个功能来管理串行通信。
root.mainloop()
检查串行端口,并将任何消息转换为 string (在 readString 内部) p》
serialManager()
如果收到 UTest ,请回答确定
设备名称
您可以在第一行
serialCheck()
中更改 usb 设备的名称。添加命令
我们在 void loop()
const String usb_name = “UTest”;
内部为每个命令创建一个条件,例如
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 = “”;
}
发送
if (readString == “ON”){
digitalWrite(13,1);
}
时,打开内部LED指示灯可执行文件
arduino/应用程序已准备好捆绑为.exe
安装 pyinstaller ,我们将使用它来进行转换将我们的应用程序转换为单个可执行文件
pip install pyinstaller
您可以使用脚本 compile.bat 来编译应用程序》
pyinstaller --onefile --noconsole utest.py
如果要显示调试消息,请使用以下命令:
pyinstaller --onefile utest.py
您现在应该有一个/dist/utest.exe 文件
您可能会收到有关api-ms 。.. dll文件的警告。
这应该不是问题,因为这些DLL(通用C运行时)已预先安装在Windows 10上,并且以前的Windows如果它们是最新的,也应该具有它们。
步骤7:。..继续
我希望这是有用的 ,这将启发您创建Arduino应用程序!
进行一些修改后,该应用程序应可在 MacOS/Linux上运行。
全部0条评论
快来发表一下你的评论吧 !