前言
現(xiàn)如今網(wǎng)絡(luò)上關(guān)于Arduino開發(fā)的環(huán)境安裝教程已經(jīng)很多了,為什么我還會出一篇關(guān)于環(huán)境配置的文章?
1、為了完成本次系列的完整性;
2、給看到此筆記的新手快速的上手。
Arduino是一套便捷、靈活、容易上手的硬件開發(fā)平臺,它包括多種型號的Arduino控制電路板,和專用編程開發(fā)軟件。Arduino省略了很多繁瑣的底層開發(fā),讓人們可以專注在功能實現(xiàn),快速的開發(fā)出智能硬件原型。Arduino的硬件價格也相對便宜,所以,Arduino可以說是適合每個人的硬件開發(fā)平臺。
在開始使用Arduino之前,需要在電腦上安裝Arduino的集成開發(fā)環(huán)境(此后簡稱IDE)。打開資料中的官方軟件(親也可以自己到官網(wǎng)下載https://www.arduino.cc/en/Main/Software),如下圖所示,按照安裝以下步驟安裝到熟悉的文件位置(后面經(jīng)常會用到的哦)。
在這里插入圖片描述
進(jìn)入頁面以后,連續(xù)點擊 Just download,下載軟件安裝包。下載后打開安裝包,按照以下步驟安裝。
安裝好官方的IDE以后電腦桌面或出現(xiàn)這個圖標(biāo),以后編寫代碼都是打開這個圖標(biāo)進(jìn)行的哦。
雙擊桌面的軟件圖標(biāo),進(jìn)入Arduino IDE之后。第一次啟動會自動下載一些包,會比較慢,耐心等待。
在這里插入圖片描述
在工具欄上, Arduino IDE提供了常用功能的快捷鍵:
校驗(Verify),驗證程序是否編寫無誤,若無誤則編譯該項目。
下載(Upload),下載程序到Arduino控制器上。
新建(New),新建一個項目。
打開(Open),打開一個項目。
保存(Save),保存當(dāng)前項目。
串口監(jiān)視器(Serial Monitor),IDE自帶的一個簡單的串口監(jiān)視器程序,用它可以查看串口發(fā)送或接收到的數(shù)據(jù)。相對于IAR、Keil等專業(yè)的硬件開發(fā)環(huán)境,Arduino的開發(fā)環(huán)境給人以簡單明了的感覺,但正是這種簡單,省去了很多不常用的功能,使得基礎(chǔ)知識不多的使用者更容易上手。
先把a(bǔ)rduino 開發(fā)板連接上PC USB口,打開驅(qū)動軟件
點擊安裝即可,安裝成功以后設(shè)備管理器中能看到對應(yīng)端口和驅(qū)動型號。
?
《開源精選》是我們分享Github、Gitee等開源社區(qū)中優(yōu)質(zhì)項目的欄目,包括技術(shù)、學(xué)習(xí)、實用與各種有趣的內(nèi)容。本期推薦的是一個功能強(qiáng)大的串口工具。支持Lua自動化處理、串口調(diào)試、串口監(jiān)聽、串口曲線、TCP測試、MQTT測試、編碼轉(zhuǎn)換、亂碼恢復(fù)等功能。
使用Lua腳本提前處理待發(fā)送的數(shù)據(jù)
return uartData.."\r\n"
return uartData:fromHex()
此腳本可將形如30313233發(fā)送數(shù)據(jù),處理為0123的結(jié)果
json = require("JSON")
t = uartData:split(",")
return json:encode({
key1 = t[1],
key2 = t[2],
key3 = t[3],
})
此腳本可將形如a,b,c發(fā)送數(shù)據(jù),處理為{"key1":"a","key2":"b","key3":"c"}的結(jié)果。
獨立的Lua腳本自動處理串口收發(fā)
右側(cè)的Lua腳本調(diào)試區(qū)域,可直接運行你寫的串口測試腳本,如軟件自帶的:
--注冊串口接收函數(shù)
uartReceive = function (data)
log.info("uartReceive",data)
sys.publish("UART",data)--發(fā)布消息
end
--新建任務(wù),等待接收到消息再繼續(xù)運行
sys.taskInit(function()
while true do
local _,udata = sys.waitUntil("UART")--等待消息
log.info("task waitUntil",udata)
local sendResult = apiSendUartData("ok!")--發(fā)送串口消息
log.info("uart send",sendResult)
end
end)
--新建任務(wù),每休眠1000ms繼續(xù)一次
sys.taskInit(function()
while true do
sys.wait(1000)--等待1000ms
log.info("task wait",os.time())
end
end)
--1000ms循環(huán)定時器
sys.timerLoopStart(log.info,1000,"timer test")
甚至你可以利用xlua框架的特性,調(diào)用C#接口完成任何你想做的事情
request = CS.System.Net.WebRequest.Create("http://example.com")
request.ContentType = "text/html;charset=UTF-8";
request.Timeout = 5000;--超時時間
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36 Vivaldi/2.2.1388.37";
response = request:GetResponse():GetResponseStream()
myStreamReader = CS.System.IO.StreamReader(response, CS.System.Text.Encoding.UTF8);
print(myStreamReader:ReadToEnd())--打印獲取的body內(nèi)容
myStreamReader:Close()
response:Close()
使用此功能,你可以完成大部分的自動化串口調(diào)試操作。
-END-
開源協(xié)議:Apache-2.0
開源地址:https://gitee.com/chenxuuu/llcom