2014-03-04 24 views
0

我有一個arduino伽利略板,我在micro-sd卡上使用Intel圖像。 我已經設法在其上運行基本的Lua腳本。我如何使用lua來控制arduino接口

我想在板上運行Lua腳本(Intel的圖像)並與arduino接口進行交互 - 例如可以打開led或讀取傳感器數據。直接使用草圖時非常簡單,您可以直接使用API​​來打開連接到LED的特定引腳。讀取來自引腳的輸入(檢查傳感器是否正在發送數據)也是如此。

是否有一個Lua庫可以訪問這些引腳?還是應該以某種方式將Lua腳本連接到Arduino API?

該腳本已經在主板上運行。

謝謝。

回答

0

你想要做的事情與Firmdata類似;這是一個處理和arduino草圖,將使用arduino作爲純粹的串行僞代碼的「執行者」。 這意味着許多arduino命令被映射到一個特定的串行命令,例如'aX'可能意味着做一個digitalRead,其中X是管腳編號,'bX'做一個analogRead等等,然後arduino會發回讀數到你的主人。

缺點是您受串行(或任何其他總線)吞吐量的限制。這意味着,如果你想快速初始化一些東西,這是一個很好的解決方案,但是當你需要編寫時間敏感(或專用)代碼時,你需要創建自己的函數,由你自己的命令調用,女巫可能作爲自定義響應..實際上,您正在編寫自定義程序,ardiuno(和LUA)草圖變成僅僅是字符串解析器。

在galileo上,arduino是通過串口連接的,因爲它是上傳草圖所需要的,所以只要LUA給你一些庫來操縱串口,你就很適合這個解決方案。

+0

我有一個arduino與網絡連接,它是完全獨立的,並通過SD卡(並通過SSH提供給我)運行操作系統。它不與任何物理連接。我有一個在設備上運行的lua腳本,並希望這個腳本執行一些操作,例如打開LED或讀取和發送(到我的互聯網上的服務器)傳感器的措施。我無法弄清楚的是我如何從lua腳本訪問PIN碼。是否有任何允許我訪問這些PIN碼的lua api(就像我使用草圖一樣)?或者我的lua腳本可以運行一個草圖嗎? – user1283002

+0

你的arduino有2個組件; OS芯片和atmega芯片。它們僅通過串行總線連接。你必須編寫你自己的lua腳本,通過串行讀取atmega,然後你必須寫一個atmega女巫的草圖讀取串行iterpretate命令,執行它,然後發回它。有一個庫,這樣做,被稱爲firmdata,但正在處理(java派生) – Lesto