
LoRaWAN RAK831/RAK2245 gateway-a proqram təminatını necə quraşdıra bilərik ?
LoRaWAN RAK831/RAK2245 gateway-a proqram təminatını necə quraşdıra bilərik ?
İlk dəfə LoRaWAN texnologiyası haqqında oxuyanda mənə çox maraqlı gəlirdi ki radio dalğa vasitəsi ilə uzun məsafəyə məlumat göndərmək doğrudan da mümkündür? Və bunun doğrudan da mümkün olduğunu iki proyekt: Ağıllı maşın dayanacağı sistemini(Smart parking system ) və Ağıllı zibil qutularının doluluq faizini ölçmək üçün olan sistem (Smart Bin) üzərində təcrübəmi apararkən şahid oldum.
İlk təcrübəbi RAK 831 gatewayı ilə keçirtdim və ilk dəfə gatewayı düzgün yığmaq heç də asan deyil idi. Bu blog vasitəsi ilə sizə gatewayı ilk dəfədən quraşdırılmasında lazım olan üsulü qeyd edəcəyəm.Bu məqalə daha çox LoRaWAN şəbəkəsi ilə təcrübə aparmaq istəyən, yeni başlayanlar üçün nəzərdə tutulub. Əgər LoRaWAN şəbəkəsi haqqında ilk dəfə eşidirsiznizsə əvvəlcə bu məqaləni oxumağı məsləhət görürəm.
LoRa gateway-ı iki üsul ilə İnternet şəbəkəsinə qoşmaq mümkündür :
- Pulsuz və open source olan TheThingsNetwork.org istifadə eləmək olar.
- Bir daha open source amma şəxsən sizin özünüzə məxsus olan LoRaServer-i Raspberry Pi-ın daxilinə yığmaq.
Mən hər iki üsul ilə işləmişəm hansının daha yaxşı və effektiv olduğu haqda yazacam.
Şəkildəki RAK831 LoRa gateway-ıdır, iki hissədən ibarətdir və bir-biri ilə header vasitəsi ilə birləşir. Sol tərəfdəkinin üstündə ublox çipi yerləşdirilib gateway-ın GPS koorinatlarının tapılması üçün istifadə olunur. Sağ tərəfdəki LoRa gateway çipinin özüdür. Iki modulu bir-biri əlaqələndirmək üçün daxili antenna istifadə olunur. Mütləq birinci daxili xətti sonra iki modulu bir-biri ilə birləşdirmək lazımdır. Gateway-i güc xəttinə qoşmamışdan öncə LoRa antenasının qoşulu olduğunu yoxlamaq lazımdır, əks halda lora modulu radio dalğanı antennaya ötürə bilmədiyindən qeri qayıdıb çipi yandıra bilər. Sonra iki modulu bir Raspberry Pi ilə birləşdirmək lazımdır.
Raspberry Pi üçün OS-in setup prosesi ilə rəsmi səhifədən tanış ola bilərsiz bu blog xüsusi olaraq LoraWAN-a ya aid olduğu üçün o haqda yazmıram.
Son variant şəkildəki kimi olmalıdir. Semtech Lora çipi çoxlu istilik verdiyi üçün onun üzərinə heat sink quraşdırılır. Kənardan Raspberry Pi-ya 5 voltluq adapter vasitəsi 5 volt gərginlik verilməlidir.
1.Raspberry Pi üçün Raspbian OS setup edib, terminal pəncərəsini açırıq.
2. SPİ və SSH active edirik( LoRa çipi SPİ protokolu ilə işləyir və ona görə SPİ aktive edilməlidir, SSH vasitəsi ilə biz gateway-ı remote işlədə bilərik)
Raspberry Pi və RAK831 bir-biri ilə spi ilə əlaqəlidir ona görə onu active eləməliyik.
- Terminalda `sudo raspi-config` commandını yazıriq
- (5)İnterfacing Options seçirik
- (P4) SPİ seçin
- Açılan pəncərədə yes-ı vururuq SPİ-ı aktive edirik.
-
- Sonra (p2) ssh enable və (p6)Serial disable edirək harware serialı enable edirik(Bu raspberry-ə aid bir cəhətdir, RAK modullarının işləməsini təmin etmək üçün istifadə edilir)
- Konfiqurasiya faylından "Finish "-i seçərək çıxırıq.
- Terminalda "reboot" yazırıq ki sistem özünü yeniləsin.
- Raspberry-ni Wi-Fi və ya Ethernet kabeli vasitəsi ilə İnternet şəbəkəsinə qoşmaq lazımdı
- Wi-Fi konfiqurasiyasi iki cür düzəltmək mümkündür
- Monitorda şəbəkə bağlantısı işarəsini seçərək, öz SSİD-i seçərək parolu daxil edirik.
-
- Terminalda nano komandasını istifadə edərək wifi konfiqurasiya faylında düzəliş edirik sonra file save edib çıxırıq
- sudo nano/etc/wpa_supplicant/wpa_supplicant.con
- network={
ssid="The_SSID_of_your_wifi"
psk="Your_wifi_password"
}
- Bu faylda öz SSİD(Şəbəkənin adını) və password-u qeyd edərək Wi-Fi şəbəkəsinə qoşulmaq mümkündür.
- Gateway-ın quraşdırılması
- sudo apt-get update
- sudo apt-get upgrade
- sudo apt-get install git
- Sonra ki komandalar vasitəsi ilə Raspberry Pi ya LoRaWAN gateway-ını quraşdırırıq. Bunun üçün open source ic880a lora gateway üçün hazırlanmış repository-ni istifadə etməliyik.
- git clone -b spi https://github.com/ttn-zh/ic880a-gateway.git
-
Yuxarıda yazılan komandanı terminala yazıb enter düyməsini vururuq.
- cd ic880a-gateway/
- Sonra /otp/ttn-gateway/bin qovluğuna keçərək ordaki start.sh faylında RESET_PİN-i dəyişməliyik. Faylda pin 25 kimi qeyd olunub biz onu pin 17-yə dəyişməliyik, faylı həmin ad ilə yaddaşda saxlayıb terminala qayıdırıq.
- Bunun üçün ctrl+x komandıni istifadə edirik
- Birinci sual: “dəyişikləri yaddaşda saxlamaq istəyirsiz?: “ . Düzəlişləri saxlamaq üçün “yes”, fayl da heç nəyin dəyişməsini istəmiriksə “no” yazıb enter düyməsini vururuq.
- İkinci sual: “Faylın adını dəyişmək istəyirsiz?”. Biz faylın default adını dəyişməcəyik deyə sadəcə enter düyməsi ilə terminala geri qayıdırıq.
- İnstall.sh faylı icra olunan(executable)fayldır və növbəti addım kimi onu icra etməliyik.Terminalda aşağıda qeyd olunan kommandı yazmalıyıq.
- sudo ./install.sh
-
Bu quraşdırılma prosessi zamanı bizə bir neçə sual veriləcək gateway-ı hansı parametirlərə uyğun quraşdırmaq istədiyimizi əhatə edəcək.
- Remote konfiqurasiyanı aktiv eləməklə əlaqəlidir bu suala `y` və ya `n` ilə cavab verib növbəti konfiqurasiyasiya sualına keçirik. Biz burada `n` qeyd edib local konfiqurasiyasını özümüz edirik.
-
Remote konfiqurasiya üçün əmin olun ki siz gateway adı ilə bir json fayl yaratmısınız(.B827EBFFFE7B80CD.json) həmin faylı :https://github.com/ttn-zh/gateway-remote-config. github repository-sinə fork eləmək lazımdır
- `n` qeyd edənlər üçün növbəti addım host name yaratmaqdır: “ttn-gateway” qeyd edirik.
- Descriptive name: First LoRaWAN gateway of Azerbaijan
- Özümüzün rahat başa düşə biləcəyimiz informasiyanı burda qeyd edə bilərik.
- Contact email: əlaqə üçün bir mail address qeyd etməlisiz.
- Latitude,Longitude və Altitude xəritəyə əsasən qeyd etmək lazımdır və installationdan sonra dəyişilə bilər.
-
- İndi start.sh skriptini icra etməliyik və bunun üçün əvvəlcə /opt/ttn-gateway/bin/ qovluğuna keçməliyik
- cd /opt/ttn-gateway/bin/
- sudo ./start.sh
- GPS in düzgün konfiqurasiyası
- sudo apt-get install tcpdump
- sudo tcpdump -AUq port 1700
- sudo tail -f /var/log/syslog
-
- GPS konfiqurasiyasının dəyişilməsi
- cd /opt/ttn-gateway/bin
- nano global_conf.json
-
- Şəkildə olan konfiqurasiyanı dəyişirik
- /* GPS configuration */
-
"gps_tty_path": "/dev/ttyS0",
"fake_gps": false,
"ref_latitude": 10,
"ref_longitude": 20,
"ref_altitude": -1,
Və bu addımdan sonra Rak831 gateway-ın setup prossesi bitir Rasperry Pi reboot olur və yeni terminal gateway-a aid yeni terminal olur( [email protected]$).
Qeyd: Gateway-ın işlədiyinə əmin olmaq üçün, RAK831-də üzərindəki qirmızı LED yanmalıdır.RAK2245-də isə yaşıl LED yanmalıdır. Həmin LED RX/TX pinlərinin aktive olduğunu bildirir. Bunu terminal vasitəsi ilə də yoxlaya bilərsiniz cavab olaraq (Active və ya Not active ) əgər active-disə Sizi təbrik edirəm.
- systemctl status ttn-gateway
-
Bir gateway-ı işlətmək üçün onu bir web interface ilə əlaqələndirmək lazımdır, bunun üçün iki üsuldan istifadə edə bilərik:
- Open source ‘TheThingsNetwork’ hesabı açırıq orda gateway-i qeydiyyatdan keçirib aktive edirik.
- Raspberry Pİ daxilində open source LoRaServer quraşdırırıq
Bu məqaləni bu nöqtədə sonlaşdırıram, Əgər yuxarıda qeyd edilən hissələri Raspberry Pi-da icra edərkən hansısa bir problemlə qarşılaşmısınızsa onda yenidən quraşdırmağa çalışın, Ümmüyyətlə bu tutorialda qeyd edilən hər bir kommandanın icra edilməsi çox vacibdir Əgər heç bir problemlə qarşılaşmamısızla Sizi təbrik edirəm çünki işin ən ağır hissəsini görmüsüz və sizi növbəti məqaləmi oxumağa dəvət edirəm. Növbəti məqalə də gateway-ı necə TTN ilə əlaqələndirmək mümkün olduğunu əhatə edəcək