Arduino長距離通信課程–LoRenz研發板

點擊這裡閱讀LoRaLib程式館 >

LoRenz Shield

您有沒有想過如何讓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(調頻)吧?調幅時,資訊透過載波幅度的變化進行編碼。類似地,調頻時,載波的頻率會發生變化。使用調製的主要原因是我們可以將低頻資訊(比如語音或音樂)“擬合”到高頻載波中。

Arduino Long Range Communication

圖1. 調幅和調頻

那麼,LoRa是哪一種調製?兩者都不是。LoRa是一種不同類型的調製,儘管它與FM有一些相似之處。LoRa實際上是CSS調製——啁啾擴頻調製。該技術本身是專有技術,並具有專利,但是基本原則是利用啁啾對資訊進行編碼——載波頻率隨時間逐漸增加或減少。

Arduino Long Range Communication

圖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時,請移除短路跳線並根據下圖連接相應引腳即可。
Arduino Long Range Communication

圖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連接!
Arduino Long Range Communication

圖4. LoRenz Rev.B研發板

 

您還需要一塊擴展板。由於市場上有幾種不同類型的SX1278模組,我們需要某種“合適器”,以便將所有模組都能連至LoRenz研發板。這就是這塊小板子的作用。我們將SX1278模組焊接在擴展板上,然後整體將其插入研發板的插槽中即可。這些擴展板還配有一個同軸電纜連接器,可以連接外部天線以獲得更長的通信距離!

Arduino Long Range Communication

圖5. 空擴展板(左)和SX1278模組焊接完畢的擴展板(右)

 

這些零件看起來還不錯,對吧?但是,現在我們還缺少一個非常重要的部分。硬體需要軟體才能工作。在下一篇文章中,我將介紹LoRaLib——我專門為SX1278研發的開源Arduino程式館。憑藉該用戶友好API,我們就可以嘗試開展LoRa通信了。

 

點擊這裡閱讀LoRaLib程式館 >