面向非C編碼人員的簡(jiǎn)單物聯(lián)網(wǎng)和設(shè)備管理
如果您對(duì)使用微控制器進(jìn)行家庭監(jiān)控或開(kāi)發(fā)商用物聯(lián)網(wǎng)產(chǎn)品感興趣,但沒(méi)有任何經(jīng)驗(yàn)c程序設(shè)計(jì),那么這個(gè)教程就是給你的!您將學(xué)習(xí)如何使用一種叫做左上臂。通過(guò)本教程,您不需要任何C語(yǔ)言經(jīng)驗(yàn),并且您將能夠通過(guò)遵循一些簡(jiǎn)單的說(shuō)明來(lái)安裝現(xiàn)成的微控制器固件。此外,您將能夠以有趣和互動(dòng)的方式學(xué)習(xí)微控制器編程的基礎(chǔ)知識(shí),這將有助于您在進(jìn)步的過(guò)程中培養(yǎng)技能和信心。那么為什么要等呢?今天就開(kāi)始學(xué)習(xí),朝著用微控制器創(chuàng)建激動(dòng)人心的創(chuàng)新項(xiàng)目邁出第一步!
Lua——易于兒童學(xué)習(xí),而且功能強(qiáng)大,足以開(kāi)發(fā)專業(yè)的物聯(lián)網(wǎng)解決方案!
Lua語(yǔ)言,類似于計(jì)算機(jī)編程語(yǔ)言,但是比較容易學(xué),在游戲行業(yè)很常見(jiàn)。例如,Roblox游戲引擎提供了一個(gè)免費(fèi)的開(kāi)發(fā)者環(huán)境,允許任何人用Lua創(chuàng)建游戲。游戲行業(yè)使用Lua,因?yàn)樗苋菀讓ua虛擬機(jī)嵌入到更大的程序中,并且該語(yǔ)言可以很容易地在游戲的狀態(tài)機(jī)中編程不斷增加的復(fù)雜性。
一個(gè)有經(jīng)驗(yàn)的C開(kāi)發(fā)人員可以將Lua C代碼交付并嵌入到一個(gè)微控制器中。也可以下載現(xiàn)成的Lua微控制器版本,如NodeMCU和e Lua。然而,stock Lua、NodeMCU或eLua都不包含任何有用的物聯(lián)網(wǎng)功能。我們需要的是一個(gè)物聯(lián)網(wǎng)庫(kù),包括常見(jiàn)的物聯(lián)網(wǎng)協(xié)議,如HTTPS、MQTT、SMTP等。對(duì)于專業(yè)產(chǎn)品,還需要一個(gè)具有易于使用的安全組件的框架,如X.509證書管理。那就是梭魚應(yīng)用服務(wù)器進(jìn)來(lái)了。它提供了專門為L(zhǎng)ua開(kāi)發(fā)者設(shè)計(jì)的完整物聯(lián)網(wǎng)解決方案,讓您輕松構(gòu)建滿足需求的安全可靠的物聯(lián)網(wǎng)產(chǎn)品。
這是一個(gè)使用ESP32微控制器的實(shí)踐視頻教程。固件(Lua + IoT庫(kù))和Lua示例代碼可以從GitHub下載。
我們?cè)谝曨l教程中使用的是ESP32,但是Lua可以在大多數(shù)嵌入式系統(tǒng)上運(yùn)行。你可以跟隨視頻教程學(xué)習(xí)你自己的教程ESP32 WROVER如果您遵循本教程末尾的固件安裝說(shuō)明。
在這個(gè)19分鐘的視頻教程中,您將了解使用Lua如何顯著加快支持物聯(lián)網(wǎng)的無(wú)頭設(shè)備的交互開(kāi)發(fā)時(shí)間。無(wú)頭設(shè)備是指沒(méi)有板載圖形用戶界面的設(shè)備。為了使開(kāi)發(fā)過(guò)程更快,我們將使用基于web的Lua IDE(所謂的REPL)和在微控制器上運(yùn)行的Barracuda應(yīng)用服務(wù)器。這將允許我們?cè)谶M(jìn)行過(guò)程中快速原型化和測(cè)試我們的代碼。開(kāi)發(fā)完成后,基于web的IDE將被移除,最終在Lua中實(shí)現(xiàn)的物聯(lián)網(wǎng)應(yīng)用將作為ZIP文件嵌入固件映像中。這是一種快速輕松地構(gòu)建和部署物聯(lián)網(wǎng)項(xiàng)目的好方法,您將能夠親眼看到Lua是多么強(qiáng)大和高效。
值得注意的是,在上面的視頻教程中,在創(chuàng)建最終版本之前,基于web的開(kāi)發(fā)環(huán)境已從固件中移除。這是因?yàn)榻坛讨酗@示的物聯(lián)網(wǎng)示例不需要嵌入式web服務(wù)器。
然而,嵌入式web服務(wù)器對(duì)于支持物聯(lián)網(wǎng)的產(chǎn)品非常有用,因?yàn)樗试S與運(yùn)行在內(nèi)部網(wǎng)中的設(shè)備直接交互。下面的視頻展示了如何使用WebSockets支持的HTML應(yīng)用程序?qū)崟r(shí)控制伺服系統(tǒng)??刂扑欧凸芾鞼ebSocket通信的服務(wù)器端代碼都是用Lua編寫的。這只是Lua如何用于構(gòu)建強(qiáng)大的交互式物聯(lián)網(wǎng)應(yīng)用程序的一個(gè)例子,您會(huì)發(fā)現(xiàn)它是一種用于構(gòu)建各種項(xiàng)目的優(yōu)秀語(yǔ)言。
上面的視頻還展示了一個(gè)非??岬奶匦裕箇eb服務(wù)器能夠自動(dòng)獲得由Let's Encrypt簽名的可信X.509 Intranet證書。要了解這是如何工作的,請(qǐng)看我的DZone文章Intranet服務(wù)器的證書.
固件安裝說(shuō)明
如上所述,Lua REPL由兩個(gè)主要組件組成:Barracuda應(yīng)用服務(wù)器和LSP應(yīng)用管理器。要使用Lua REPL,這兩個(gè)C代碼組件必須與Espressif物聯(lián)網(wǎng)開(kāi)發(fā)框架和一些啟動(dòng)代碼一起編譯。這將創(chuàng)建一個(gè)可以上傳到您的ESP32微控制器的固件映像,允許您開(kāi)始在ESP32上開(kāi)發(fā)Lua程序。
為L(zhǎng)ua REPL安裝固件有兩種選擇,選擇哪一種取決于您運(yùn)行命令行Linux的經(jīng)驗(yàn),比如使用Windows的Linux子系統(tǒng)。
如果您有命令行經(jīng)驗(yàn),并且希望詳細(xì)了解C代碼編譯和固件構(gòu)建過(guò)程,您可以按照Lua ESP32物聯(lián)網(wǎng)開(kāi)發(fā)工具包命令行教程.
或者,您可以下載基于虛擬機(jī)的IDE這讓您可以使用基于web的UI來(lái)編譯必要的C代碼,并將生成的固件上傳到ESP32。請(qǐng)記住,IDE包含了許多為C程序員設(shè)計(jì)的示例,所以您應(yīng)該把重點(diǎn)放在為編譯和上傳LSP應(yīng)用程序管理器而設(shè)計(jì)的示例上。這將允許你盡可能快和容易地使用Lua REPL,不管你的經(jīng)驗(yàn)水平如何。
這里有一個(gè)有趣的項(xiàng)目示例:
以下視頻中的貓頭鷹,有著眨動(dòng)的眼睛和伺服控制的頭部,由Lua使用梭魚應(yīng)用服務(wù)器提供動(dòng)力。該軟件運(yùn)行在ESP32上,其中包括一個(gè)名為L(zhǎng)SP應(yīng)用管理器的Lua REPL,它基于Barracuda應(yīng)用服務(wù)器。更多詳情請(qǐng)見(jiàn)視頻描述。
- 上一篇
應(yīng)對(duì)氣候危機(jī)對(duì)數(shù)據(jù)中心的影響
地球表面的平均溫度正在上升,這是一個(gè)可以觀察到的事實(shí)。人類今天如何處理這些信息將直接影響未來(lái)的生活質(zhì)量和基礎(chǔ)設(shè)施狀況。人類花費(fèi)了2120億美元用于數(shù)據(jù)中心2022年和多個(gè)
- 下一篇
高等教育中的人工智能和大數(shù)據(jù):前途光明還是危機(jī)四伏?
到底是什么人工智能它在高等教育領(lǐng)域有什么業(yè)務(wù)?簡(jiǎn)單地說(shuō),人工智能是一種通過(guò)將廣泛的規(guī)則編程到計(jì)算機(jī)中來(lái)模仿人類知識(shí)的嘗試。通過(guò)機(jī)器學(xué)習(xí)和專家系統(tǒng),機(jī)器可以在大量數(shù)據(jù)流
相關(guān)資訊
- 使用AI總結(jié)冗長(zhǎng)的“操作方法”視
- 蜂窩網(wǎng)絡(luò)與 WiFi:哪個(gè)更適合您的
- 3個(gè)非常常見(jiàn)的人工智能在線課程
- 材料專業(yè)如何學(xué)習(xí)機(jī)器學(xué)習(xí)與神經(jīng)
- 哪些因素影響云計(jì)算的環(huán)境?
- 推動(dòng)供應(yīng)鏈彈性的數(shù)字化戰(zhàn)略
- 制造商渴望數(shù)字孿生和虛擬調(diào)試
- 選擇合適的數(shù)據(jù)中心的5個(gè)注意事
- 五項(xiàng)值得關(guān)注的物聯(lián)網(wǎng)傳感器技術(shù)
- 用數(shù)字孿生打造新一代機(jī)器人