該IoT2050應用程序的任務是通過無線電收集數據分散並傳輸它。 LPWAN技術遠距離(LORA)用於此目的。 Iot2050用作Lorawan Gateway。來自事物網絡或堆棧社區版本的全局,免費的Lorawan(遠程廣泛區域網絡)用作網絡服務器。本手冊描述了網關的軟件和硬件結構(本手冊中未解釋端設備(例如傳感器)的配置和功能,因為它取決於應用程序的個人目的):

應用程序需要以下硬件組件:
您還可以在訂單列表中查看所有各個零件。
Simatic Iot2050的Arduino UNO界面用於集成IC880A濃度器。為此目的,需要一個適配器屏蔽層,該屏蔽層結合了PIN分配。濃縮器提供5V。
此應用程序中使用的適配器屏蔽是自製的。所需的組件可以從訂單列表中獲取。有關結構的更多信息,請參見項目文件(.pro),示意圖文件(.sch)和佈局文件(.kicad_pcb)。
Lorawan濃縮器IC880A是一種多通道高性能發射器/接收器模塊,旨在同時使用多個通道上的不同傳播因子同時接收多個Lora數據包。濃縮器模塊IC880A可以作為該網關的完整RF前端集成到網關中。
下圖顯示了Lorawan網關的完整硬件結構。為了將天線(2 DBI偶極天線863-870MHz與RP SMA)與IC880A模塊相連,使用了U.FL來反向SMA適配器。將濃度器與適配器屏蔽層一起插入Iot2050的Arduino Uno接口。

以下軟件用於本手冊:
有關IOT2050的首次調試,請參考設置。您可以在Simatic Iot2050論壇上獲得更多幫助。
完成設置後,必須為系統執行更新,並且必須安裝GIT 。為此執行以下命令:
sudo apt-get update
sudo apt-get install git
通過膩子建立SHH連接並使用以下命令:
iot2050setup
Use the arrow keys: "Peripherals" -> "Configure Arduino I/O" -> "Enable SPI on IO10-IO13" -> "Enable"
Use ESC to exit the iot2050setup


克隆Github的最新版本的Lora Basics™站點,請使用以下命令:
cd /home
git clone https://github.com/lorabasics/basicstation.git
現在,必須對iot2050進行調整的setup.gmk文件,以存儲工具鏈的正確目錄。為此,請使用以下命令在編輯器中打開文件:
cd /home/basicstation/
nano setup.gmk
使用密鑰組合CTRL+C可以在納米編輯器中顯示線規範:

第55-66行必須用#和第68-72行評論為以下內容:
CC=/usr/bin/gcc
LD=/usr/bin/ld
AR=/usr/bin/ar
OD=/usr/bin/objdump
OC=/usr/bin/objcopy
此外,第76行必須如下編輯:
export LD_LIBRARY_PATH=/usr/local/lib
保存並使用以下命令關閉文件:
CTRL+X -> to exit editing
Y -> to save the changes
Enter -> to confirm the filename
要構建包裝貨車站,請在目錄/home/basicstation/ ::
make platform=rpi variant=std
收集基本電台後,出現了一個名為build-rpi-std的新文件夾,其中有四個子文件夾。您可以在子文件bin中找到編譯的二進制station 。
除非另有說明,否則以下命令和操作始終在此目錄( /home/basicstation/build-rpi-std/bin/ )中執行。
基本站需要一些配置,這些配置是在文件station.conf指定的。將現成的文件站複製到目錄中(提示:工具WINSCP可用於傳輸文件)。
Lora Basics™電台需要與Lorawan®網絡服務器(LNS)一起提供。對於此示例,使用了帶有端口8887的堆棧社區版服務器。這是在文件tc.uri中指定的。將現成的文件tc.uri複製到目錄中。
這需要根證書。以下命令可用於獲得證書並創建文件tc.trust :
curl https://letsencrypt.org/certs/isrgrootx1.pem.txt -o tc.trust
您還可以使用另一個根證書,該證書需要將其插入tc.trust文件中,而沒有字符<> :
-----BEGIN CERTIFICATE-----
<insert root certificate here>
-----END CERTIFICATE-----
每次打開時,必須重置帶有SX1301基帶芯片的IC880A模塊。但是,此重置不是由芯片的HAL執行的。因此,寫了一個python腳本是為了在外部進行。將Python腳本IC880A_RESET.PY複製到目錄中。之後,必須將數字I/O引腳4設置為輸出,因為這被用作重置PIN:
iot2050setup
Use the arrow keys: "Peripherals" -> "Configure Arduino I/O" -> "Enable GPIO" -> Set PIN 4 as output
Use ESC to exit the iot2050setup

下一步是添加一個執行Python腳本的Shell腳本。該腳本將在二進制station的開始後稍後執行。將現成的文件reset_gw.sh複製到目錄中。在此Shell腳本中,調用了以前創建的用於集中器硬件重置的Python腳本。現在需要提供以下命令的腳本可執行權利:
chmod 755 reset_gw.sh
要在服務器上獲取Gateway的EUI進行註冊,需要啟動程序station一次(執行尚未完全功能功能):
./station
網關的EUI由IOT2050的MAC地址組成,並在啟動站後顯示在控制台輸出中:

可以使用密鑰組合CTRL+C停止應用程序。
最後,要使用Things Stack Community Edition授權網關,必須將API密鑰存儲在名為tc.key的文件中。為此,網關必須在Things Stack Community Edition上註冊。這在以下步驟中進行了解釋:登錄網頁後,選擇了該區域。之後,可以添加新的網關。為此,必須輸入唯一的網關ID,以及上圖中的網關EUI。另外,選擇該區域的頻率計劃。此外,可以選擇網關的狀態是否公開可見。所有必需的配置如下圖:

註冊新網關後,必須生成一個API密鑰以進行授權。在生成密鑰之前,將其分配一個名稱。此外,它具有與網關服務器一起鏈接到網關的個人權利,用於數據交換。創建API鍵後,必須緊急複製和存儲它,因為它之後被加密,因此不再可見。


使用以下命令構建tc.key文件並使用先前複製的API密鑰,而不是xxx :
export LNS_KEY="xxx"
echo "Authorization: Bearer $LNS_KEY" | perl -p -e 's/rn|n|r/rn/g' > tc.key
這完成了基本站的安裝和配置。現在可以從命令手動啟動該站:
./station
如果安裝和身份驗證成功,電台啟動,並且網關顯示在Things stack Community Edition的connected中:

您可以在Things stack網站上收到更多信息 - 添加網關。
將station的shell腳本start.sh複製到目錄中。然後必須提供該腳本可執行的權利:
chmod 755 start.sh
將現成的Systemd服務文件IOT-2050-LORA-GATEWAY.SERVICE複製到目錄/etc/systemd/system 。更改為該目錄,請使用以下命令:
cd /etc/systemd/system
現在可以手動啟動服務文件並使用以下命令進行測試:
sudo systemctl start iot2050-lora-gateway.service
成功啟動服務和電台後,可以通過以下命令終止它:
sudo systemctl stop iot2050-lora-gateway.service
要啟用服務的自動座,請使用命令
sudo systemctl enable iot2050-lora-gateway.service
下一次重新啟動後,每個啟動都將啟動網關。
網關現在可以使用。現在可以通過Things Stack Community Edition將End設備添加到應用程序中,然後通過通往服務器的網關傳輸數據。在這裡,您可以找到一些可能的終端設備。此處描述瞭如何在服務器上添加終端設備
節點紅色用於可視化收集的數據。 Web編輯器可通過IOT2050和端口1880的IP地址訪問。默認情況下,Node-RED在示例映像上在AutoStart中。要訪問它,請在連接到IoT2050的PC上打開一個瀏覽器,然後打開http://<IP of the IOT2050>:1880/ 。
現在flow.json文件可以導入到node-red:
Menu -> Import -> Select file for Upload

節點必須按以下方式調整:
MQTT:在“連接”選項卡中插入服務器地址和事物堆棧的端口。訂閱所有消息將主題設置為# 。

輸入您的用戶名和MQTT-API-KEY作為密碼。您可以在應用程序的集成分配中生成此API-KEY:



解析節點:在函數解析節點中,必須調整不同的device_id (取決於應用程序):

流程描述:要處理傳入消息,首先創建一個JavaScript對象。然後,將上行鏈路解析在功能解析節點中,以提取每個端設備的各個消息。另外,節點擴展到三個輸出。因此,將每個消息分配給輸出,並代表最終設備。使用儀表板庫和量規節點,然後可以單獨內置在儀表板中。
前構建流程顯示了解析節點中三個末端設備的組合的示例。必鬚根據應用程序和事物網絡中的設置對ID進行調整。
儀表板:要顯示數據,現在可以安裝並單獨配置儀表板調色板:
Menu -> Manage Palette -> Install Tab -> Search and install the given libraries
完成:要下載流到IoT2050的流量單擊按鈕Deploy
打開Node-red的儀表板打開url http://<IP of the IOT2050>:1880/ui
感謝您對貢獻的興趣。任何人都可以在問題部分中自由報告錯誤,不清楚的文檔以及有關此存儲庫的其他問題。此外,每個人都可以自由使用拉動請求提出對此存儲庫的任何更改。
如果您以前尚未簽署SIEMENS貢獻者許可協議(CLA),則該系統將在提交拉動請求時自動提示您這樣做。這可以通過CLA助手的在線平台方便地完成。 CLA簽名後,如果所有其他測試階段成功,您的拉請請求將自動清除並準備合併。
請閱讀法律信息。