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