這篇文章來(lái)源于DevicePlus.com英語(yǔ)網(wǎng)站的翻譯稿。
點(diǎn)擊這里閱讀 LoRaLib 庫(kù) >
您有沒(méi)有想過(guò)如何讓Arduino實(shí)現(xiàn)幾百米的無(wú)線通信距離?有沒(méi)有想過(guò)要?jiǎng)?chuàng)建一個(gè)小型物聯(lián)網(wǎng)設(shè)備,但是后來(lái)因?yàn)檫h(yuǎn)程通信需要較大功率而放棄?或者是否想過(guò)構(gòu)建一個(gè)能夠在外面探索世界的機(jī)器人,而您則坐在椅子上悠然自得地遙控?別急,現(xiàn)在有解決方案了!在本文中,我將向您介紹“LoRenz-Arduino開(kāi)發(fā)板”,不僅能完成所有這些任務(wù),而且還能給您帶來(lái)更多功能。此外,更重要的是,LoRenz軟件和硬件都是完全開(kāi)源的!
硬件
2塊 Arduino UNO/Mega
2套 LoRenz Rev. B 開(kāi)發(fā)板和模塊分組板(Eagle和Fritzing文件請(qǐng)參閱 GitHub)
2個(gè) SX1278 模塊
該開(kāi)發(fā)板到底能做什么?它與Arduino UNO和Arduino ega兼容,能夠提供數(shù)百米的通信距離,同時(shí)傳輸時(shí)的功率成本低至80mA。這僅相當(dāng)于5個(gè)普通LED的功耗。除此之外,我還構(gòu)建了一個(gè)庫(kù),這使得整套系統(tǒng)非常容易使用,即使對(duì)于初學(xué)者也是如此。真的!您想發(fā)送消息嗎?輸入一個(gè)命令!好了,發(fā)送成功!
法律免責(zé)聲明
我們開(kāi)始之前,我必須聲明:雖然LoRa技術(shù)的通信頻率為免許可頻段,比如433MHz或868MHz等(通常叫做ISM – 工業(yè)、科學(xué) 和 醫(yī)療),但是您居住的地區(qū)仍然可能會(huì)受到法律限制。限制可能包括功率輸出限制、帶寬限制,甚至傳輸和接收的數(shù)據(jù)類(lèi)型都受限。我不知道讀者住在哪個(gè)州或哪個(gè)國(guó)家,因此我只能給您最一般的建議:
請(qǐng)始終遵守您所在地區(qū)的現(xiàn)行法律規(guī)定!
使用LoRenz開(kāi)發(fā)板或LoRaLib時(shí),作者和DevicePlus.com都不對(duì)您的操作承擔(dān)任何責(zé)任。
現(xiàn)在,如果大家遵守相關(guān)法律,那么我們就從開(kāi)發(fā)板的核心功能——LoRa調(diào)制——開(kāi)始講起。
LoRa 調(diào)制
LoRa –– Long Range 的簡(jiǎn)寫(xiě)——是一種巧妙的電磁信號(hào)調(diào)制方式。信號(hào)調(diào)制就是將更多信息通過(guò)編碼載入無(wú)線信號(hào)中,這種方式本身非常聰明。調(diào)制的歷史比較悠久,事實(shí)上,它們可以追溯到19世紀(jì)末期和無(wú)線電發(fā)明期間。事實(shí)上,由于收音機(jī)的存在,大多數(shù)人都熟悉“調(diào)制”這個(gè)術(shù)語(yǔ):大家總聽(tīng)說(shuō)過(guò)AM(幅度調(diào)制)或FM(頻率調(diào)制)吧?幅度調(diào)制時(shí),信息通過(guò)載波幅度的變化進(jìn)行編碼。類(lèi)似地,頻率調(diào)制時(shí),載波的頻率會(huì)發(fā)生變化。使用調(diào)制的主要原因是我們可以將低頻信息(比如語(yǔ)音或音樂(lè))“擬合”到高頻載波中。
圖1.幅度調(diào)制和頻率調(diào)制
那么,LoRa是哪一種調(diào)制??jī)烧叨疾皇?。LoRa是一種不同類(lèi)型的調(diào)制,盡管它與FM有一些相似之處。LoRa實(shí)際上是CSS調(diào)制——啁啾擴(kuò)頻調(diào)制。該技術(shù)本身是專(zhuān)有技術(shù),并具有專(zhuān)利,但是基本原則是利用啁啾對(duì)信息進(jìn)行編碼——載波頻率隨時(shí)間逐漸增加或減少。
圖2.啁啾擴(kuò)頻調(diào)制
這種調(diào)制抗噪聲甚至是多普勒效應(yīng)能力很強(qiáng),因此在低功率長(zhǎng)距離通信時(shí)非常有用。幸運(yùn)的是,采用這種技術(shù)的模塊非常便宜且易于使用。最流行的當(dāng)屬Semtech制造的SX1278芯片,搭載這種芯片的模塊價(jià)格可低至7美元。請(qǐng)用Google搜索“SX1278模塊”,您會(huì)看到很多出售該產(chǎn)品的商店。
現(xiàn)在我們已經(jīng)了解了LoRa是什么以及如何獲得,那么我們來(lái)看一下開(kāi)發(fā)板本身——首先,如何獲得這種開(kāi)發(fā)板呢?
LoRenz 開(kāi)發(fā)板
不幸的是,您無(wú)法從商店購(gòu)買(mǎi)這種開(kāi)發(fā)板,因?yàn)闆](méi)有人生產(chǎn)。該開(kāi)發(fā)板完全是定制的,所以必須從我的 GitHub 下載Eagle文件,購(gòu)買(mǎi)所有元件、找個(gè)地方加工PCB板,然后將所有元件焊接在一起。板上元件的總價(jià)應(yīng)該在20美元左右,所以該開(kāi)發(fā)板并不昂貴。事實(shí)上,在我開(kāi)發(fā)這個(gè)產(chǎn)品時(shí),最昂貴的部分實(shí)際上是PCB的運(yùn)費(fèi)。但即使包括運(yùn)費(fèi),每塊開(kāi)發(fā)板的價(jià)格也不應(yīng)超過(guò)30美元——當(dāng)然,這取決于您居住的地區(qū)。
接下來(lái)我們看一下開(kāi)發(fā)板上的所有元件及其功能:
3.3 V 電源穩(wěn)壓器 由于Arduino板載電源只能提供150 mA的電流,因此我決定添加一個(gè)單獨(dú)的1117穩(wěn)壓器——能夠提供至少800 mA的電流。這比理論上的功率要大得多,然而,留些余地總是更好一些。
螺絲接線端 通過(guò)該端子您可以用幾乎任何類(lèi)型的電池為開(kāi)發(fā)板供電!允許的電壓范圍是6-20V,但是該電源同樣也為Arduino供電,所以我建議使用7到12V之間的電池。
UNO/Mega 排針 SX1278模塊通過(guò)SPI總線與Arduino進(jìn)行通信。該總線在Arduino UNO上用的是10-13引腳,但是在Mega上卻是50-52引腳。我想讓開(kāi)發(fā)板盡可能通用,因此我添加了這個(gè)排針接頭。使用Arduino UNO時(shí),只需保留所有三對(duì)短接跳線。使用Mega時(shí),請(qǐng)移除短路跳線并根據(jù)下圖連接相應(yīng)引腳即可。
圖3.將LoRenz開(kāi)發(fā)板連至Arduino Mega
從器件選擇排針 這可能有點(diǎn)矯枉過(guò)正,但是如果萬(wàn)一您想在單個(gè)Arduino上使用多個(gè)LoRenz開(kāi)發(fā)板呢?憑借這個(gè)排針,您最多可以使用四塊(!)開(kāi)發(fā)板!只需短接不同位置即可。
SX1278 模塊插槽 您可以用此插槽將任何類(lèi)型的SX1278模塊連至開(kāi)發(fā)板,只需確保電源為3.3V。我建議使用精密插槽接頭,保持開(kāi)發(fā)板整體高度越小越好。
邏輯電平轉(zhuǎn)換器 據(jù)我所知,目前市場(chǎng)上的所有SX1278模塊都使用3.3V邏輯。要連接Arduino——用的是5V邏輯,我們需要進(jìn)行某種邏輯電平轉(zhuǎn)換。這就是這兩個(gè)IC的作用。其中一個(gè)將Arduino輸出從5 V轉(zhuǎn)換為3.3 V,另一個(gè)將SX1278輸出從3.3 V轉(zhuǎn)換為5 V。這樣,即使電池電量較低,系統(tǒng)也非常穩(wěn)定。
LED指示燈 為了指示SX1278的活動(dòng)狀態(tài),我在開(kāi)發(fā)板上設(shè)置了一個(gè)LED指示燈。要啟用LED,您必須用焊錫短接EN焊盤(pán)。如果之后不想用LED指示燈了,只需把EN焊盤(pán)的焊錫去掉,LED就不會(huì)再消耗寶貴的電流。
實(shí)驗(yàn)區(qū)域 我在開(kāi)發(fā)板上的空余地方設(shè)計(jì)了一個(gè)實(shí)驗(yàn)區(qū)域,方便大家添加額外的設(shè)計(jì)。該區(qū)域自帶3.3V、5V和GND連接!
圖4.LoRenz Rev.B開(kāi)發(fā)板
您還需要一塊擴(kuò)展板。由于市場(chǎng)上有幾種不同類(lèi)型的SX1278模塊,我們需要某種“適配器”,以便將所有模塊都能連至LoRenz開(kāi)發(fā)板。這就是這塊小板子的作用。我們將SX1278模塊焊接在擴(kuò)展板上,然后整體將其插入開(kāi)發(fā)板的插槽中即可。這些擴(kuò)展板還配有一個(gè)同軸電纜接頭,可以連接外部天線以獲得更長(zhǎng)的通信距離!
圖5.空擴(kuò)展板(左)和SX1278模塊焊接完畢的擴(kuò)展板(右)
這些部件看起來(lái)還不錯(cuò),對(duì)吧?但是,現(xiàn)在我們還缺少一個(gè)非常重要的部分。硬件需要軟件才能工作。在下一篇文章中,我將介紹 LoRaLib——我專(zhuān)門(mén)為SX1278開(kāi)發(fā)的開(kāi)源Arduino庫(kù)。憑借該用戶(hù)友好API,我們就可以嘗試開(kāi)展LoRa通信了。
審核編輯:湯梓紅
-
通信
+關(guān)注
關(guān)注
18文章
6039瀏覽量
136100 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
5074瀏覽量
97656 -
Arduino
+關(guān)注
關(guān)注
188文章
6471瀏覽量
187280
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論