Это приложение IOT2050 имеет задачу сбора децентрализованных данных и передачи его по радио. Для этой цели используется технология LPWAN Technology (LORA). IOT2050 служит лораванским шлюзом. Глобальный, бесплатный Lorawan (сеть с широкой областью дальнейшей области) из сети TIEWARS или The Things Stack Edition используется в качестве сетевого сервера. Это руководство описывает программную и аппаратную структуру шлюза (конфигурация и функция конечных устройств (например, датчики) не объясняются в этом руководстве, потому что это зависит от индивидуальной цели приложения):

Для приложения требуются следующие аппаратные компоненты:
Вы также можете увидеть все отдельные части в списке заказа.
Интерфейс Arduino Uno Simatic IOT2050 используется для интеграции концентратора IC880A. Для этой цели требуется щит адаптера, который объединяет назначения PIN -кода. Концентратор поставляется с 5 В.
Адаптерный щит, используемый в этом приложении, был самостоятельно. Требуемые компоненты могут быть взяты из списка заказов. Дополнительную информацию о структуре можно найти в файле проекта (.pro), схематического файла (.sch) и файла макета (.kicad_pcb).
Концентратор Lorawan IC880A представляет собой многоканальный высококачественный модуль передатчика/приемника, предназначенный для одновременного получения нескольких пакетов LORA с использованием различных коэффициентов распространения на нескольких каналах. Модуль концентратора IC880A может быть интегрирован в шлюз в качестве полного радиочастотного конца этого шлюза.
На следующем рисунке показана полная аппаратная структура шлюза Лоравана. Для подключения антенны (2 DBI дипольная антенна 863-870 МГц с RP SMA) к модулю IC880A используется U.FL для обратного адаптера SMA. Концентратор подключен к интерфейсу Arduino Uno IOT2050 вместе с щитом адаптера.

Для этого руководства используется следующее программное обеспечение:
Для первого ввода в эксплуатацию 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


Для клонирования последней версии станции Lora Basics ™ от GitHub используйте следующие команды:
cd /home
git clone https://github.com/lorabasics/basicstation.git
Теперь файл setup.gmk , который является частью клона, должен быть адаптирован для IOT2050 для хранения правильных каталогов для набора инструментов. Для этого откройте файл в редакторе, используя следующие команды:
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 с четырьмя подпапками. Вы можете найти скомпилированную бинарную station в мусорной bin .
Если не указано иное, следующие команды и действия всегда выполняются в этом каталоге ( /home/basicstation/build-rpi-std/bin/ ).
Некоторые конфигурации необходимы для базовой станции, которая указана на файловой station.conf . Скопируйте готовую файловую станцию. Concf в каталог (Tip: инструмент WinScp можно использовать для передачи файлов).
Станция Lora Basics ™ должна быть предоставлена с помощью сетевого сервера Lorawan® для подключения. Для этого примера используется Sack Sack Edition Server с портом 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-----
Модуль IC880A с чипом базовой полосы SX1301 должен быть сброшен каждый раз, когда он включается. Однако этот сброс не выполняется HAL чипа. Таким образом, сценарий Python записан, чтобы выполнить это извне. Скопируйте сценарий Python IC880A_RESET.PY в каталог. После этого цифровой вывод 4/вывода должен быть установлен как выход, потому что он используется в качестве штифта сброса:
iot2050setup
Use the arrow keys: "Peripherals" -> "Configure Arduino I/O" -> "Enable GPIO" -> Set PIN 4 as output
Use ESC to exit the iot2050setup

Следующим шагом является добавление сценария оболочки, который выполняет сценарий Python. Этот сценарий позже будет выполнен с началом бинарника station . Скопируйте готовый файл reset_gw.sh в каталог. В этом сценарии оболочки ранее созданный сценарий Python для аппаратного сброса концентратора вызывается. Скрипт должен быть предоставлен в качестве исполняемых прав со следующей командой:
chmod 755 reset_gw.sh
Чтобы получить EUI шлюза для регистрации на сервере, программная station должна быть запущена один раз (выполнение еще не полностью функционально):
./station
EUI шлюза состоит из MAC -адреса IOT2050 и отображается на выходе консоли после начала станции:

Приложение может быть остановлено с помощью комбинации ключей CTRL+C .
Наконец, чтобы разрешить шлюз с вещами Stack Community Edition, ключ API должен храниться в файле с именем tc.key . Для этого шлюз должен быть зарегистрирован в The Things Stack Community Edition. Это объясняется в следующих шагах: после входа на веб -страницу выбирается регион. После этого можно добавить новый шлюз. Для этого необходимо ввести уникальный идентификатор шлюза, а также Gateway 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
Если установка и аутентификация успешны, станция запускается, и шлюз отображается как connected в консоли The Things Stack Edition:

Вы можете получить дополнительную информацию на веб -сайте Steck Things - добавление шлюзов.
Скопируйте готовый сценарий Shell Start.sh, который называется бинарной station , в каталог. Сценарий должен быть предоставлен с исполняемыми правами:
chmod 755 start.sh
Скопируйте готовый файл Systemd Service File 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
После следующей перезагрузки шлюз будет запущен с каждым ботинком.
Ворота теперь готов к использованию. Конечные устройства теперь могут быть добавлены в приложение через The Things Stack Community Edition, которое затем передает данные через шлюз на сервер. Здесь вы можете найти некоторые возможные конечные устройства. Как добавить конечные устройства на сервере описан здесь
Node-Red используется для визуализации собранных данных. Веб-редактор доступен с помощью IP-адреса IOT2050 и порта 1880. Узел-красный по умолчанию находится в AutoStart на примере изображения. Чтобы получить доступ к нему, откройте браузер на вашем ПК, подключенном к IOT2050 и откройте URL http://<IP of the IOT2050>:1880/ .
Теперь файл flows.json может быть импортирован в узло-красный:
Menu -> Import -> Select file for Upload

Узлы должны быть отрегулированы следующим образом:
MQTT: вставьте адрес сервера и порт стека вещей на вкладке подключения. Чтобы подписаться на все сообщения, установите тему на # .

Введите свое имя пользователя и MQTT-API-ключ в качестве пароля . Вы можете генерировать этот апик-ключ в установках интеграций вашего приложения:



Узел Parse: в узле Parse Function Function Trive device_id необходимо регулировать (в зависимости от приложения):

Описание потока: Для обработки входящих сообщений сначала создается объект JavaScript. Затем восходящие линии проанализируются в узле разбора функции, чтобы извлечь отдельные сообщения каждого конечного устройства. Кроме того, узел расширен на три выхода. Таким образом, каждое сообщение присваивается выводу и обозначает конечное устройство. Используя библиотеку приборной панели и узел датчика, они могут быть индивидуально встроены в приборную панель.
Поток предварительной билды показывает пример комбинации трех конечных устройств в узле Parse. Идентификаторы должны быть скорректированы в зависимости от приложения и настройки в сети вещей.
Панель инструментов: чтобы отобразить данные, палитра панели панели мониторинга теперь может быть установлена и индивидуально настроена:
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 будет подписан, ваш запрос на притяжение будет автоматически очищено и готово для слияния, если все другие стадии испытаний достигнут успеха.
Пожалуйста, прочитайте юридическую информацию.