簡體   English   中英

從Arduino Yun執行MySQL腳本(沒有Python)

[英]Execute MySQL script from Arduino Yun (without Python)

我想從直接在Arduino YUN本身中運行的MySQL數據庫中檢索數據。 我想在沒有Python的情況下做到這一點,而是直接使用MySQL命令和Process。 可能嗎?
我在互聯網上找到的每個帖子都將涉及“如何使用python檢索數據”。 但是我不想使用python,因為連接do database等例程會使我的查詢變慢。
我正在多次從數據庫以及從不同的表中檢索數據。 因此,我將數據檢索的邏輯移到了MySQL函數上,現在想只使用Process類來調用此函數。 問題在於它可以直接在mysql控制台上運行,可以使用python來運行,但是不能直接運行。 當我直接說的時候,我的意思是:

Process process;
process.begin("python");
process.addParameter("/mnt/sda1/arduino/python/read.py");
process.addParameter(msg);
process.run();

這段代碼完美地使用了python。 在read.py文件中,我具有數據庫調用例程。 所以我想做同樣的事情,但是沒有python:

Process process;
process.begin("mysql");
process.addParameter("-u root -parduino --database arduino -e \"select process('my_text')\"");
process.run();

如您所知,此代碼示例不起作用。 但是,如果我通過控制台運行,則相同的Mysql腳本可以完美運行,並且比使用python快得多。

您可以使用subprocess模塊。

https://docs.python.org/2/library/subprocess.html

使用此方法,您可以將mysql命令發送到終端,就像直接通過python腳本發送一樣。

嘗試使用Process.runShellCommand 它將接受您的完整語句作為參數:

Process process;
process.runShellCommand("mysql -u root -parduino --database arduino -e \"select process('my_text')\"");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM