Pengaturan ini digunakan untuk beberapa konsentrator Lorawan berdasarkan komputer kecil seperti Raspberry Pi atau lainnya. Misalnya berfungsi dengan baik dengan Rak831 Pi Zero Shield
Dan untuk IC880A SIELD untuk Raspberry Pi V2 atau V3.
Unduh gambar Raspbian Lite dan memalsukannya ke kartu SD Anda menggunakan Etcher.
Setelah Flash, Anda perlu melakukan beberapa perubahan pada partisi boot (Pengguna Windows, Hapus dan kemudian Replug SD Card)
Buat file ssh dummy di partisi ini. Secara default SSH sekarang dinonaktifkan sehingga ini diperlukan untuk mengaktifkannya. Pengguna Windows, pastikan file Anda tidak memiliki ekstensi seperti .txt dll.
Jika Anda harus dapat menggunakan OTG (akses konsol untuk komputer mana pun dengan menghubungkan port PI ke komputer USB) Buka file cmdline.txt . Hati -hati dengan file ini, sangat pilih -pilih dengan pemformatannya! Setiap parameter dipisahkan oleh satu ruang (tidak menggunakan Newline). Masukkan modules-load=dwc2,g_ether setelah rootwait quiet .
File baru cmdline.txt seharusnya terlihat seperti ini
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=37665771-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet modules-load=dwc2,g_ether init=/usr/lib/raspi-config/init_resize.sh
Untuk OTG, tambahkan juga bagian bawah file config.txt , pada baris baru
dtoverlay=dwc2
Dan karena saya tidak suka fungsi SD ukuran otomatis (saya lebih suka melakukannya secara manual dari raspi-config ), hapus juga dari file cmdline.txt ubah ukuran otomatis dengan menghapus yang berikut ini
init=/usr/lib/raspi-config/init_resize.sh
File baru cmdline.txt seharusnya terlihat seperti ini
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=37665771-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet modules-load=dwc2,g_ether
Akhirnya, pada partisi yang sama (boot), untuk memungkinkan PI Anda terhubung ke wifi Anda setelah boot pertama, buat file bernama wpa_supplicant.conf untuk memungkinkan PI terhubung pada jaringan wifi Anda.
country=FR
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="YOUR-WIFI-SSID"
psk="YOUR-WIFI-PASSWORD"
}
Tentu saja perubahan negara, SSID dan PSK dengan pengaturan WiFi Anda sendiri.
Itu saja, keluarkan kartu SD dari komputer Anda, letakkan di Raspberry Pi Zero Anda. Diperlukan hingga 90 -an untuk boot (lebih pendek pada sepatu bot berikutnya). Anda kemudian dapat menggunakannya menggunakan raspberrypi.local sebagai alamat. Jika WiFi tidak berfungsi, sambungkan melalui USB ke komputer Anda, maka maka harus muncul sebagai perangkat Ethernet USB.
Ingat login default/paswword (ssh atau konsol serial) adalah pi/raspberry.
Jadi tolong untuk alasan keamanan, Anda harus mengubah kata sandi default ini
passwd Skrip 1_pi_config.sh ini akan menyiapkan lingkungan PI Anda, membuat dan mengkonfigurasi pengguna Loragw, tambahkan akses ke SPI, I2C, UART. Ini akan mengurangi memori video menjadi 16MB untuk memungkinkan memori maks untuk hal -hal yang harus dilakukan. Ini juga memungkinkan pelestarian kartu Log2RAM SD yang sangat baik.
wget https://raw.githubusercontent.com/ch2i/LoraGW-Setup/master/1_Pi_Config.sh
chmod ug+x 1_Pi_Config.sh
sudo ./1_Pi_Config.sh Log kembali dengan pengguna loragw dan jika Anda mengubah nama host menjadi loragw-xxyy, gunakan perintah ini
git clone https://github.com/ch2i/LoraGW-Setup
cd LoraGW-Setup
Sekarang Anda perlu mendaftarkan GW baru Anda di TTN sebelum langkah berikutnya, lihat Pendaftaran Gateway, GW_ID dan GW_Key akan ditanyakan oleh skrip
sudo ./2_Setup.shItu saja, jika Anda menggunakan Pi Zero Shield, 2 LED harus berkedip hijau dan Anda harus dapat melihat gateway baru Anda di TTN
Periksa semuanya baik -baik saja juga saat startup, reboot gateway Anda.
sudo reboot
Driver WS2812B menggunakan DMA Channel, dan dengan versi Raspbian baru, menggunakan DMA 5 akan merusak kartu SD Anda. Lihat masalah ini. Sekarang sudah terpecahkan tetapi jika Anda memiliki GW lama dengan skrip lama, pastikan untuk memperbarui baris skrip /opt/loragw/monitor_ws2812.py dari
strip = Adafruit_NeoPixel ( 2 , gpio_led , 800000 , 5 , False , 64 , 0 , ws . WS2811_STRIP_GRB )untuk (menggunakan DMA Channel 10, bukan 5)
strip = Adafruit_NeoPixel ( 2 , gpio_led , 800000 , 10 , False , 64 , 0 , ws . WS2811_STRIP_GRB ) - GPIO 4 (Blue) Blink => Internet access OK
- GPIO 18 (Yellow) Blink => local web server up & running
- GPIO 24 (Green)
- Blink => packet forwarder is running
- Fixed => Shutdown OK, can remove power
- GPIO 23 (Red)
- Blink every second, one of the previous service down (local web, internet, )
- Middle bink on every bad LoRaWAN packet received
- Lot of short blink => Activity on SD Card (seen a boot for example)
Anda dapat mengubah perilaku kode LED di akhir skrip /opt/loragw/monitor.py
Anda dapat menekan (dan membiarkannya ditekan) tombol tekan sakelar, LED menjadi merah dan setelah 2s mulai berkedip dengan warna biru. Jika Anda melepaskan tombol saat mereka berkedip biru, PI akan memulai shutdown. Jadi biarkan 30 -an sebelum menghapus daya.
Jika Anda memiliki Raspberry Pi 3 dengan perisai IC880A ini, maka file /boot/config.txt telah ditingkatkan dengan baris berikut:
# When system if Halted/OFF Light Green LED
dtoverlay=gpio-poweroff,gpiopin=24
LED hijau (GPIO24) akan tetap menyala ketika Anda dapat menghapus kekuatan gateway. Ini benar -benar indikator yang bagus.
Anda juga dapat memilih LED GPIO mana yang digunakan untuk mengganti LED aktivitas jika Anda membutuhkannya.
# Activity LED
dtoverlay=pi3-act-led,gpio=23
LED merah (GPIO23) akan berkedip pada aktivitas.
Jika Anda memiliki Raspberry Pi Zero dengan RAK831 ini, maka Anda dapat mengubah file /boot/config.txt untuk memilih salah satu dari dua fitur berikut:
# When system is Halted/OFF Light Green LED
dtoverlay=gpio-poweroff,gpiopin=26
LED hijau (GPIO26) akan tetap menyala ketika Anda dapat menghapus kekuatan gateway. Ini benar -benar indikator yang bagus.
Anda juga dapat memilih Pilih LED ini untuk Mengganti LED ACVICTION jika Anda membutuhkannya.
# Activity LED
dtparam=act_led_gpio=26
LED Greend (GPIO26) akan berkedip pada aktivitas.
Anda hanya dapat memilih satu dari 2 opsi, tidak keduanya pada saat yang sama.
Sofware yang diinstal terletak di /opt/loragw , saya mengubah nama ini (asli adalah TTN-gateway) hanya karena tidak semua gateway saya terhubung ke TTN jadi saya ingin memiliki pengaturan yang lebih umum.
ls -al /opt/loragw/
total 344
drwxr-xr-x 3 root root 4096 Jan 21 03:15 .
drwxr-xr-x 5 root root 4096 Jan 21 01:01 ..
drwxr-xr-x 9 root root 4096 Jan 21 01:03 dev
-rw-r--r-- 1 root root 6568 Jan 21 01:15 global_conf.json
-rwxr-xr-- 1 root root 3974 Jan 21 01:15 monitor-gpio.py
-rwxr-xr-- 1 root root 3508 Jan 21 03:15 monitor.py
-rwxr-xr-- 1 root root 4327 Jan 21 01:15 monitor-ws2812.py
-rwxr-xr-x 1 root root 307680 Jan 21 01:14 mp_pkt_fwd
-rwxr-xr-- 1 root root 642 Jan 21 01:36 start.shFungsi berkedip dan tombol LED dilakukan dengan layanan monitor.py (diluncurkan oleh SystemD saat startup). Ada 2 versi layanan ini (dengan symlink), satu dengan WS2812B LED dan lainnya untuk LED GPIO klasik seperti yang ada di perisai IC880A ini. Jadi jika Anda ingin berubah, Anda bisa melakukannya seperti itu
sudo systemctl stop monitorDalam hal ini Anda tidak memiliki WS2812B RGB LED pada perisai, tetapi GPIO Classic One. Tombol Tekan GPIO untuk mematikan PI juga tidak pada GPIO yang sama, jadi Anda perlu mengatur layanan monitor yang benar.
sudo rm /opt/loragw/monitor.py
sudo ln -s /opt/loragw/monitor-gpio.py /opt/loragw/monitor.pysudo systemctl start monitorsudo journalctl -f -u loragw -- Logs begin at Sun 2018-01-21 14:57:08 CET. --
Jan 22 01:00:41 loragw loragw[240]: ### GPS IS DISABLED!
Jan 22 01:00:41 loragw loragw[240]: ### [PERFORMANCE] ###
Jan 22 01:00:41 loragw loragw[240]: # Upstream radio packet quality: 100.00%.
Jan 22 01:00:41 loragw loragw[240]: # Semtech status report send.
Jan 22 01:00:41 loragw loragw[240]: ##### END #####
Jan 22 01:00:41 loragw loragw[240]: 01:00:41 INFO: [TTN] bridge.eu.thethings.network RTT 52
Jan 22 01:00:41 loragw loragw[240]: 01:00:41 INFO: [TTN] send status success for bridge.eu.thethings.network
Jan 22 01:00:53 loragw loragw[240]: 01:00:53 INFO: Disabling GPS mode for concentrator's counter...
Jan 22 01:00:53 loragw loragw[240]: 01:00:53 INFO: host/sx1301 time offset=(1516578208s:159048µs) - drift=-55µs
Jan 22 01:00:53 loragw loragw[240]: 01:00:53 INFO: Enabling GPS mode for concentrator's counter.
Jan 22 01:01:11 loragw loragw[240]: ##### 2018-01-22 00:01:11 GMT #####
Jan 22 01:01:11 loragw loragw[240]: ### [UPSTREAM] ###
Jan 22 01:01:11 loragw loragw[240]: # RF packets received by concentrator: 0
Jan 22 01:01:11 loragw loragw[240]: # CRC_OK: 0.00%, CRC_FAIL: 0.00%, NO_CRC: 0.00%
Jan 22 01:01:11 loragw loragw[240]: # RF packets forwarded: 0 (0 bytes)
Jan 22 01:01:11 loragw loragw[240]: # PUSH_DATA datagrams sent: 0 (0 bytes)
Jan 22 01:01:11 loragw loragw[240]: # PUSH_DATA acknowledged: 0.00%
Jan 22 01:01:11 loragw loragw[240]: ### [DOWNSTREAM] ###
Jan 22 01:01:11 loragw loragw[240]: # PULL_DATA sent: 0 (0.00% acknowledged)
Jan 22 01:01:11 loragw loragw[240]: # PULL_RESP(onse) datagrams received: 0 (0 bytes)
Jan 22 01:01:11 loragw loragw[240]: # RF packets sent to concentrator: 0 (0 bytes)
Jan 22 01:01:11 loragw loragw[240]: # TX errors: 0
Jan 22 01:01:11 loragw loragw[240]: ### BEACON IS DISABLED!
Jan 22 01:01:11 loragw loragw[240]: ### [JIT] ###
Jan 22 01:01:11 loragw loragw[240]: # INFO: JIT queue contains 0 packets.
Jan 22 01:01:11 loragw loragw[240]: # INFO: JIT queue contains 0 beacons.
Jan 22 01:01:11 loragw loragw[240]: ### GPS IS DISABLED!
Jan 22 01:01:11 loragw loragw[240]: ### [PERFORMANCE] ###
Jan 22 01:01:11 loragw loragw[240]: # Upstream radio packet quality: 0.00%.
Jan 22 01:01:11 loragw loragw[240]: # Semtech status report send.
Jan 22 01:01:11 loragw loragw[240]: ##### END #####
Jan 22 01:01:11 loragw loragw[240]: 01:01:11 INFO: [TTN] bridge.eu.thethings.network RTT 53
Jan 22 01:01:11 loragw loragw[240]: 01:01:11 INFO: [TTN] send status success for bridge.eu.thethings.network
Pertama membangunnya
./build_legacy.sh
Jika Anda ingin menggunakan legacy packet forwarder, Anda harus mengubah file /opt/loragw/start.sh untuk mengganti baris terakhir
./mp_pkt_fwd.sh
oleh
./poly_pkt_fwd.sh
sudo systemctl stop loragw
sudo systemctl start loragwJika Anda memilih log2ram untuk mengurangi tulis kartu SD, Anda perlu mengubah beberapa rotasi file log untuk menghindari disk RAM menjadi penuh.
Untuk ini Anda perlu mengedit setiap file di /etc/logrotate.d/ , dan pada setiap file:
delaycompress (ini menghindari log lama yang tidak terkompresi)rotate n dengan putar 12 (ini riwayat file log maks)daily dengan hourly (putar log setiap jam)monthly berdasarkan daily (putar log setiap hari)Dalam hal ini kami mendapat 12 jam terakhir dengan 1 file per jam. Tentu saja, Anda dapat menyesuaikan paramater ini dengan kaki yang Anda butuhkan, itu hanya sebuah contoh,
file /etc/logrotate.d/rsyslog
/var/log/syslog
{
rotate 12
hourly
missingok
notifempty
compress
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
{
rotate 12
hourly
missingok
notifempty
compress
sharedscripts
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
Klik gambar untuk melihat video
Berikut adalah fitur lain yang saya gunakan di gateway saya: