
Сглобете и нарежете на ситно Конфигуриране на LoRaWAN шлюз В началото може да изглежда малко обезсърчително: радио параметри, мрежи, сървъри, сертификати, странни идентификатори… но в действителност, ако разбирате всяка част, това е доста логичен процес. В тази статия ще преминем от хардуера към LoRaWAN сървъра, включително TTN и AWS IoT Core, за да ви дадем пълен и практичен преглед.
Ще се осланяме на примери от реалния свят, като например RAK шлюзове (RAK7289, RAK831)Ще бъдат разгледани публични мрежи като The Things Network (TTN), облачни решения като AWS IoT Core за LoRaWAN и конфигурации на производители като MOKO. Ще вплетем цялото това съдържание в съгласувано ръководство, включително предупреждения за сигурност, съвети за намиране на IP адреса на шлюза и подробна информация за конфигурацията на мрежата и радиото.
Основни понятия: какво е LoRaWAN шлюз и какво прави
а LoRaWAN шлюз Това е устройството, отговорно за слушането на LoRa възлите (сензори, тракери и др.) и препращането на техните съобщения към LoRaWAN мрежов сървър през интернет (Ethernet, Wi-Fi, LTE/4G, 5G, сателит и др.). Можете да го мислите като вид кула за мобилен телефон но за устройства с много ниска мощност.
На физическо ниво, шлюзът интегрира един или повече LoRa концентратори (като RAK831), способен да наблюдава множество канали паралелно и различни коефициенти на разпространение, контролна платка (напр. Raspberry Pi или вграден SoC), мрежови интерфейси (Ethernet, Wi-Fi, LTE) и често, GPS за синхронизация и приблизителна геолокация на възлите.
В екосистемата LoRaWAN, шлюзът не интерпретира съдържанието на приложните рамки: просто капсулирайте и препратете Препращачът на пакети изпраща пакети към LoRaWAN сървъра (LNS: LoRaWAN Network Server) или към облачната инфраструктура CUPS/LNS. Следователно, ключовата конфигурация се върти около радио параметрите, идентификаторите на шлюза и адреса на сървъра, към който ще бъдат изпратени данните.
В зависимост от внедряването, ще можете да използвате обществени портали (например, тези в общността TTN в градските райони) или създайте свой собствен портал, който да покрива селски район, ферма, образователен кампус или индустриална среда, където се нуждаете от пълен контрол върху инфраструктурата.
Типичен хардуер на LoRaWAN шлюз
За да изградите или внедрите шлюз, имате опции, вариращи от затворени търговски устройства до Комплекти за разработка, базирани на Raspberry PiДоста представителен пример е използването на интегриран хъб RAK831 с Raspberry Pi.
Типичен комплект за LoRa gateway от този стил обикновено включва всички необходими хардуерни компоненти За да започнете, без да се налага да търсите отделни части: самата платка LoRaWAN концентратор, дънната платка, антените и адаптерите. Това значително ускорява процеса на настройка и избягва проблеми със съвместимостта.
В конкретния случай на някои комплекти MOKO, базирани на RAK831 и Raspberry Pi 3B, пакетът може да включва, наред с други елементи, GPS адаптерна плочаGPS антена, LoRa антена от фибростъкло с достатъчно усилване за мачтови инсталации, няколко метра коаксиален кабел RG-58, радиатор за платката на концентратора и дори примерни възли като WisNode или LoRa тракери.
Голямото предимство на тези комплекти е, че картата с памет на Raspberry Pi обикновено се доставя предварително конфигуриран със софтуер за шлюз (препращач на пакети, конфигурационни скриптове и др.), така че не е нужно да компилирате или изтегляте нищо от GitHub, за да започнете, освен да настройвате няколко конфигурационни файла.
В търговски портали, като например RAK7289Целият хардуер е интегриран в индустриален корпус, готов за употреба на открито, с LoRa антена и понякога допълнителна антена за LTE/4G. Тези модели обикновено предлагат сравнително лесен за насочване уеб интерфейс за конфигурация, така че работата се фокусира върху мрежовите параметри (IP, DNS и др.) и насочване на шлюза към правилния LoRaWAN сървър.
Конфигурация на мрежата на шлюза: Статичен IP адрес, DHCP и първоначален достъп
Преди да можете да докоснете LoRaWAN частта, трябва да се уверите, че Шлюзът е правилно свързан към IP мрежата (LAN или WAN). Без интернет връзка (или към вашия локален сървър), е безсмислено радиото да работи правилно.
В много шлюзове (например RAK7289), административният интерфейс е представен през уеб и е достъпен чрез неговия IP адрес в мрежатаМожете да го конфигурирате като DHCP клиент (който получава IP адрес автоматично от рутера) или със статичен IP адрес в зависимост от топологията на вашата мрежа.
Ако устройството е произведено от фабриката или е конфигурирано от друга организация, то може да е в режим DHCP клиентВ този случай ще трябва да разберете какъв IP адрес е присвоил вашият рутер или DHCP сървърът на мрежата. За да направите това, можете да:
- Консултирайте се директно с Списък на DHCP клиенти на рутера или сървъра, идентифицирайки шлюза по неговия MAC адрес или по името на хоста (например „RAK7289“).
- Използвайте инструменти като Nmap или други IP скенери, за да откриете кои устройства отговарят във вашия мрежов сегмент.
Някои шлюзове включват точка за достъп за Wi-Fi управление Отворен, проектиран специално за първоначалната настройка. Ако се свържете с тази Wi-Fi мрежа, шлюзът действа като рутер, а IP адресът на шлюза по подразбиране на вашия компютър ще бъде IP адресът за управление на устройството.
Важен детайл за безопасност: след като приключите със стартирането, препоръчително е деактивиране на Wi-Fi за управление освен ако не е строго необходимо, тъй като отворената, управлявана Wi-Fi мрежа представлява ясна уязвимост в реални среди.
В конфигурационния интерфейс (например в менюто Мрежа → WAN интерфейс на RAK шлюз), можете да избирате между статичен IP адрес и DHCP, да дефинирате DNS, маска на подмрежата, шлюз, както и да променяте достъп до идентификационни данни по подразбиране (потребителско име и парола), които никога не бива да оставяте, тъй като са фабрично зададени.
Настройка и конфигурация на шлюз в The Things Network (TTN)
След като вашият шлюз има достъп до интернет, следващата стъпка в много общностни или лабораторни внедрявания е интегрирайте го с TTN (The Things Network), безплатна и публична LoRaWAN мрежа, идеална за образователни проекти, тестване и малки внедрявания.
Обичайният процес започва със създаване на акаунт на уебсайта на TTN и достъп до конзола От иконата на профила. Когато влезете за първи път, системата ще ви помоли да изберете вашия регион (например Европа, Северна Америка и т.н.) и оттам можете да отидете в секцията „Приложения“ или „Шлюзове“. За да регистрирате шлюза, ще трябва да отидете специално в „Отиди на шлюзове“.
На конзолата на TTN, когато натиснете бутона Регистрирайте шлюзЩе бъдете помолени да предоставите няколко вида информация: идентификатор на шлюз, неговия уникален EUI и честотния план за вашия регион. EUI на шлюза обикновено е наличен в уеб интерфейса или фърмуера на устройството, обикновено в секцията с настройки на мрежата LoRa.
От съществено значение е, че Идентификаторът на шлюза, който дефинирате в TTN, трябва да съвпада с този, конфигуриран на устройството.особено ако документацията на производителя го изисква. Освен това ще трябва да изберете подходящия честотен план (например EU868 за Европа), който определя наличните канали и радио параметрите, съвместими с разпоредбите на вашата страна.
След като шлюзът е регистриран в TTN, конфигурацията в конзолата е почти завършена. TTN ще ви покаже състоянието на шлюза (свързан или не), когато устройството започне да изпраща пакети към... TTN препращач на пакети използвайки съответния адрес на сървъра.
Конфигурация на препращача на пакети и параметри на LoRaWAN
Интерфейсът на шлюза (меню LoRa Network → Network Settings → Packet Forwarder или подобно) е мястото, където Параметри за връзка с LoRaWAN сървъраТози раздел е мостът между света на LoRa радиото и мрежовия сървър.
Препращачът на пакети се конфигурира чрез задаване на адрес на сървъра (например, TTN рутера или персонализиран рутер, като например router.us.mokolora.network в MOKO внедрявания), както и портовете за upstream и downstream (serv_port_up и serv_port_down). Всеки конфигуриран сървър може също да бъде активиран или деактивиран с помощта на типичен флаг, като например serv_enabled.
В шлюзовете, базирани на MOKO и Raspberry Pi, много от тези параметри се съхраняват в JSON файлове, като например global_config.json y local_config.json, които съответно дефинират общата конфигурация на региона и специфичните данни за шлюза (ИД, местоположение, сървъри и др.).
Файлът global_config.json обикновено включва блока gateway_conf с настройки за GPS и синхронизация, например:
{"gateway_conf":{"GPS":true,"gps_tty_path":"/dev/ttyAMA0","fake_gps":false}}
Докато local_config.json съхранява данни като gateway_ID, координати (ref_latitude, ref_longitude, ref_altitude), имейл адрес за контакт, описание и списък със сървъри, към които се свързва препращачът на пакети, всеки със своя server_address, serv_port_up, serv_port_down и serv_enabled.
Управление на конфигурационните файлове и gateway_ID
В системи от типа Raspberry Pi с MOKO, интересен аспект е как... генерира и управлява gateway_IDОбикновено се изчислява от MAC адреса на мрежовия интерфейс (напр. eth0), като се използва скрипт, който го трансформира в EUI64 идентификатор, вмъквайки „FFFE“ между тях и изписвайки резултата с главни букви.
Този gateway_ID след това се използва във файла local_config.json за уникално идентифициране на шлюза към LoRaWAN сървъра. Освен това, много внедрявания разчитат на схема от дистанционна конфигурация базирано на хранилище в GitHub, където са публикувани файловете global_config.json за всеки регион и файловете local_config.json за конкретни шлюзове.
Механизмът работи по следния начин: при стартиране, LoRa концентраторът изтегля конфигурационния файл, съответстващ на неговия gateway_ID, от GitHub, проверява за промени от последното стартиране и ако открие нова версия, я синхронизира, като създава... символична връзка от bin/local_config.json до клонирания файл на хранилището.
Ако искате да се възползвате от тази система, можете Качете свой собствен конфигурационен файл в отдалеченото хранилищекато го именувате с gateway_ID (например MFP254862KEF1034.json), го разклонете, изпратете заявка за изтегляне (pull request) до основното хранилище и, след като бъде приета, вашият gateway автоматично ще изтегли тази конфигурация при следващи стартирания.
Това позволява актуализирането на критични параметри (сървъри, честоти, описание, данни за контакт) без физически достъп до всеки шлюз, при условие че той е интернет свързаност и софтуерът за синхронизация е активиран.
Регионални настройки, канали и честотни грешки
Един аспект, който поражда много въпроси при конфигурирането на LoRaWAN шлюзове, е... регионална честотна конфигурацияВсяка държава или географски район има специфични честотни ленти, активирани за LoRa (например 868 MHz в Европа, 915 MHz в определени региони на Америка и т.н.), а мрежовите сървъри проверяват дали пакетите пристигат на разрешените честоти.
Глобалните конфигурационни файлове за gateway (global_config.json) дефинират радиоканали и параметри (честоти, честотна лента, коефициент на разпространение и др.) за всеки регион. В GitHub са достъпни публични хранилища с предварително дефинирани конфигурации за множество регионални планове, което значително опростява внедряването.
Ако конфигурацията на вашия шлюз не съответства на тази на сървъра, към който се свързвате, може да срещнете грешки като: „Пакетът е отхвърлен, честотата не е съвместима“Например, шлюзът може да изпраща пакети на 868.3 MHz, докато сървърът чака пакети в диапазона 890-975 MHz, генерирайки грешки в лога на препращача на пакети.
За да избегнете тези грешки, уверете се, че сте изтеглили global_config.json е правилен за вашия региони че вашият сървър (TTN, MOKO, AWS IoT Core) е конфигуриран със същия честотен план. Трябва също да проверите дали крайните възли (тракери, сензори и др.) използват същата честотна лента, дефинирана на шлюза и сървъра.
В страни като Китай, например, се използват специфични конфигурации с различни честотни ленти и канали от тези, използвани в Европа, така че не е достатъчно просто да копирате който и да е пример от интернет; трябва да използвате специфичен файл, свързан с вашия географски район така че всичко да си пасва.
Свързване на LoRaWAN шлюзове към AWS IoT Core
В по-напреднали внедрявания можете да интегрирате вашите шлюзове директно с AWS IoT Core за LoRaWAN, използвайки облачните възможности на Amazon за управление на устройства, събиране на данни и обработка на съобщения.
Общият процес се състои от регистриране на шлюза в AWS IoT Core за LoRaWAN, получаване на необходимата информация (сертификати, URL адреси на крайни точки) и след това конфигуриране на шлюзовото устройство за свързване към CUPS или LNS крайна точка от AWS, съгласно поддържания протокол.
В зависимост от вида на шлюза, документацията на доставчика ще обясни как качете сертификатите за доверие Ръководството обяснява как да се укажат пътищата до тези сертификати във фърмуера и как да се насочат към URL адресите на CUPS или LNS, предоставени от AWS. Важно е да се следва стриктно това ръководство, тъй като TLS удостоверяването е задължително.
На шлюзове, съвместими с протокола CUPS, ще трябва да посочите URL адреса на крайната точка на CUPS, който ще има формат, подобен на: prefix.cups.lorawan.region.amazonaws.com:443. На шлюзове, съвместими с LNS, URL адресът ще бъде нещо подобно на: https://prefix.lns.lorawan.region.amazonaws.com:443, винаги използвайки порт 443 и сигурна връзка.
След като сертификатите бъдат качени и крайните точки бъдат конфигурирани, шлюзът ще започне да комуникира с AWS IoT Core за LoRaWAN и можете да проверите състоянието му (свързан, последно получено качване и т.н.) от уеб конзолата или чрез GetWirelessGatewayStatistics API, който връща информация като ConnectionStatus и LastUplinkReceivedAt в JSON формат.
Използване на конзолата и API на AWS за наблюдение на състоянието на шлюза
След свързване на шлюза към AWS IoT Core за LoRaWAN, платформата предлага няколко начина за проверете дали всичко работи правилно.Най-непосредствената опция е уеб конзолата на AWS IoT, където имате специален раздел „Шлюзове“.
В конзолата, когато изберете вашия шлюз на страницата „Шлюзове“, ще се появи блок Специфични подробности за LoRaWANТам можете да видите състоянието на връзката, заедно с датата и часа на последното получено качване, което ви позволява да проверите с един поглед дали шлюзът е активен и комуникира с облака.
Ако предпочитате да автоматизирате наблюдението, можете да използвате API за статистика на GetWirelessGatewayТази операция не изисква тяло на заявката и връща JSON, който показва например ConnectionStatus (Свързан/Прекъснат), LastUplinkReceivedAt с времева маркировка и WirelessGatewayId, съответстващ на устройството.
Пример за отговор би бил нещо подобно: {"ConnectionStatus":"Connected","LastUplinkReceivedAt":"2021-03-24T23:13:08.476015749Z","WirelessGatewayId":"30cbdcf3-86de-4291-bfab-5bfa2b12bad5"}, които можете да интегрирате в инструментите си за мониторинг или персонализирани табла за управление.
По този начин, както от конзолата, така и от API, имате много ясни начини за откриване на проблеми с връзкатапродължителна неактивност на шлюза или проблеми с конфигурацията, които пречат на връзките да достигнат правилно до AWS IoT Core.
Регистрация на приложения и крайни устройства в TTN
Връщайки се към TTN средата, след като шлюзът е задействан и регистриран, остава още една ключова стъпка: регистрирайте приложението и крайните устройства (възли, тракери, сензори). Само защото шлюзът се показва като свързан в TTN, не означава, че вече получавате данни от вашите възли.
В конзолата на TTN отидете в секцията „Приложения“ и създайте ново приложение, като му зададете име/ИД. В това приложение ще използвате бутона на „регистриране на крайно устройство“ За да регистрирате всеки LoRaWAN възел, можете да попълните данните ръчно или да използвате шаблони, в зависимост от типа на устройството.
Ключовите параметри включват DevEUI, JoinEUI (APP-EUI) и AppKeyНякои инструменти, като например собствената конзола на TTN, позволяват Автоматично генериране на DevEUI и AppKey чрез бутони за генериране, опростяващи стартирането при използване на генерични възли или персонализирани разработки.
За JoinEUI, в определени случаи можете да зададете практически всяка стойност, стига да я поддържате съвместима с настройки на устройството (Например, в инструмента за конфигуриране на Loko, параметърът APP-EUI съответства на JoinEUI в TTN). Останалите ключове трябва да съвпадат точно между конзолата и фърмуера на възела.
След като последното устройство е регистрирано, можете да отидете в секцията за форматиране на полезни данни и да изберете опции като КайенLPP за декодиране на възходяща връзка. Това позволява данните да бъдат представени в по-лесни за ползване формати и улеснява интеграцията с табла за управление, бази данни и системи за визуализация.
Практически пример с тракери и инструменти за конфигуриране
Доста често срещан пример от реалния свят е използването на LoRaWAN GPS тракери да локализират хора, превозни средства или активи, като периодично изпращат техните координати по мрежата. Устройства като Dragino TrackerD или Loko Air илюстрират много добре този процес.
В образователна среда, например, няколко тракера могат да бъдат регистрирани в едно и също приложение в TTN, като се възползвате от факта, че всеки един от тях е снабден с уникални идентификационни данни (DevEUI, AppEUI/JoinEUI, AppKey), които са документирани във вашето ръководство или на етикета на устройството. Всички те са свързани с едно и също приложение, но са идентифицирани индивидуално.
За конфигуриране на разширени параметри на тракера (честота на изпращане на координати, продължителност на паник алармата и др.), устройството може да бъде свързано чрез USB, а сериен интерфейс може да се използва със скорост 115200 бода, изпращайки предварително зададени AT командиНякои модели не приемат въвеждане „клавиш по клавиш“; вместо това цялата команда трябва да бъде въведена наведнъж, за да бъде интерпретирана правилно.
В случай на устройства като Loko Air, инструментът Инструмент за конфигуриране на Loko Позволява ви да прочетете текущата конфигурация, да активирате LoRaWAN режим и да попълните трите основни параметъра (JoinEUI/AppEUI, DevEUI и AppKey), така че те да съответстват на информацията за активиране на крайното устройство в The Things Network.
След прилагане на настройките и рестартиране на устройството, ако шлюзът работи правилно и е в обхват, би трябвало да започнете да виждате трафик на живо в секцията „Крайни устройства“ на TTN, включително съобщения с декодирани полезни товари и местоположението на тракера на картата, ако форматът го позволява.
Освен това, информацията, показвана в конзолата на TTN, може да бъде интегрирана в публични табла за управление, като например Datacakeкоито позволяват преобразуването на сурови LoRaWAN данни в удобни за потребителя визуализации, споделяеми табла за управление или табла с резултати за образователни проекти и пилотни проекти на IoT.
С цялото това пътуване, от хардуера до облака, включително TTN, AWS и фина настройка на радио конфигурацията, става ясно, че LoRaWAN шлюзът не е просто „антена“, а... невралгична точка който свързва физическия свят на сензорите с платформите за данни, където реално се генерира стойността на проекта.
Последен параграф
След като се разберат вътрешните механизми – хардуерът RAK831 или RAK7289, файловете global_config и local_config, отдалечената синхронизация чрез GitHub, IP конфигурацията и деактивирането на управленския Wi-Fi, настройката и параметризирането на TTN, защитената връзка с AWS IoT Core и регистрацията на приложения и крайни устройства, като GPS тракери или устройства Loko Air – става много по-лесно да се разбере, че Конфигуриране на LoRaWAN шлюз Това е просто подредена сума от няколко логически стъпки, където ключът е да се спазва регионалният честотен план, да се съгласуват идентификаторите и ключовете между шлюза, сървъра и възлите, и да се разчита на конзолите и API-тата на различните услуги, за да се проверява по всяко време дали връзките за възходящ сигнал пристигат и дали LoRaWAN инфраструктурата се държи както очаквате при реалното ви внедряване.