如何使用便携式应用程序控制Arduino

电子说

1.3w人已加入

描述

步骤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上运行。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分