RAK831 LoRa 게이트웨이 및 RPi3 시작하기
이 프로젝트는 RAK831 LoRa 게이트웨이 모듈을 시작하고 WiFi를 백홀로 사용하여 실행하는 데 필요한 모든 단계를 안내합니다.
그림>
소개
이 단계별 가이드는 RAK Wireless의 멋진 RAK831 Lora 라디오 프런트 엔드 모듈을 사용하여 자신만의 lora 게이트웨이를 개발하려는 개발자를 대상으로 합니다. 이 가이드는 Raspberry pi 에코 시스템, 하드웨어 및 관련 Debian OS에 대한 기본 지식이 있다고 가정합니다. 이 가이드는 또한 Raspberry Pi에 있는 GPIO 및 주변 장치에 대한 기본 지식을 가정합니다. 시작하겠습니다.
LoRA란 무엇입니까?
로라 Alliance™ 기술. LoRaWAN™은 지역, 국가 또는 글로벌 네트워크에서 배터리로 작동되는 무선 사물을 위한 저전력 광역 네트워크(LPWAN) 사양입니다. LoRaWAN은 안전한 양방향 통신, 이동성 및 로컬라이제이션 서비스와 같은 사물 인터넷의 핵심 요구 사항을 목표로 합니다.
그림>
위의 다이어그램은 LoRa 무선 아키텍처의 다양한 부분을 보여줍니다. 중요한 부분 중 일부는 아래에 간략하게 설명되어 있습니다.
LoRa 기술 및 LoRaWAN 프로토콜의 주요 기능
· GEOLOCATION:GPS가 필요 없는 저전력 추적 응용 프로그램 사용
· 낮은 비용:인프라 투자, 운영 비용 및 종단 노드 센서의 세 가지 방법으로 비용을 절감합니다.
· 표준화됨:개선된 글로벌 상호 운용성으로 LoRaWAN 기반 네트워크 및 IoT 애플리케이션의 채택 및 롤아웃 속도 향상
· 저전력:배터리 수명을 최대 20년까지 연장하는 저전력 소비를 위해 특별히 설계된 프로토콜
· 장거리:단일 기지국은 밀집된 도시/실내 지역에 깊은 침투를 제공하고 최대 30마일 떨어진 시골 지역을 연결합니다.
· 보안:내장된 종단 간 AES128 암호화
· 대용량:기지국당 수백만 개의 메시지를 지원하므로 많은 고객에게 서비스를 제공하는 공용 네트워크 운영자에게 이상적입니다.
RAK 831은 LorA 라디오 프론트엔드입니다. 즉, 들어오는 lora 데이터 패킷의 수신기 역할을 하여 집계 관리 소프트웨어/하드웨어 호스트로 전달합니다. 호스트 보드 요청에 따라 LoRA 데이터 패킷을 전송할 수도 있습니다. 우리의 경우 라즈베리 파이 3는 RAK 831 프론트엔드를 제어하는 호스트 보드입니다.
백홀 선택
백홀이란? 백홀은 Raspberry Pi가 인터넷에 연결되는 방식을 나타냅니다. 이 가이드에서는 Wi-Fi를 백홀로 사용하는 데 중점을 두지만 이더넷 또는 3G/4G를 사용할 수도 있습니다. 게이트웨이 근처에 이더넷을 사용할 수 있는 경우 WiFi 또는 3G/4G보다 선호합니다. 인클로저 내부에 추가 무선 신호가 있으면 노이즈가 발생하기 때문입니다. 소프트웨어는 시끄러운 환경을 처리할 수 있으므로 큰 문제는 아니지만 노이즈가 적을수록 좋습니다. 이 선택을 PoE(Power-over-Ethernet)와 결합하여 게이트웨이까지 연결되는 케이블을 최소화할 수 있습니다.
반면에 이더넷 대신 WiFi를 선택할 경우 외부 안테나가 있는 동글을 사용하고 안테나를 인클로저 밖으로 이동하여 상자 내부의 소음을 줄이십시오.
하드웨어 설정:
무엇이든 연결하고 전원을 켜기 전에 raspberry pi와 RAK 831 모듈에서 다음 구성을 수행합니다.
라즈베리 파이
1) raspberry pi 3 보드를 준비하고 raspbian 소프트웨어와 함께 8GB 마이크로 SD 카드를 준비합니다. 소프트웨어가 미리 로드된 noobs sd 카드를 구입할 수도 있습니다. sd 카드에서 os를 플래시하는 방법은 다음 지침을 따르세요. https://www.raspberrypi.org/learning/hardware-guide/
그림>
2) 라즈베리 파이를 5v 2amps 전원 공급 장치에 연결합니다. 이건 매우 중요합니다. lora 모듈은 활성 무선 트랜잭션 중에 700mA 피크를 끌어낼 수 있으므로 raspberry pi에 전원을 공급하는 우수한 전원 브릭을 가질 수 있습니다.
RAK 831:
1) 보드의 전원을 켜기 전에 키트에 들어 있는 안테나를 가져와 안테나 나사 터미널에 연결합니다. 이것은 필수적입니다.
그림>
연결 세부정보:
다음은 rak831 모듈을 raspberry pi와 연결하는 방법을 보여주는 표입니다.
그림>
Raspberry Pi 핀 레이아웃을 이해하려면 https://www.raspberrypi.org/documentation/usage/gpio/를 참조하세요. 자세한 내용은
참고:
<울>
리셋 핀은 raspberry pi 3의 모든 GPIO에 연결할 수 있습니다.
RAK 831 보드의 손상을 방지하려면 전원 공급 장치 핀을 올바르게 연결해야 합니다.
SPI 활성화:
SPI 주변 장치는 기본적으로 켜져 있지 않습니다. 활성화하려면 다음을 수행하십시오.
<울>
sudo raspi-config
실행 .
아래쪽 화살표를 사용하여 9 고급 옵션
을 선택합니다.
A6 SPI
아래 화살표 .
예
선택 SPI를 사용 설정하라는 메시지가 표시될 때 ,
예
도 선택 커널 모듈을 자동으로 로드할지 묻는 메시지가 표시될 때
오른쪽 화살표를 사용하여
를 선택합니다. 버튼.
예
선택 재부팅을 요청할 때.
그림>
시스템이 재부팅됩니다. 다시 나오면 로그인 후 다음 명령어 입력
>ls /dev/*spi*
Pi는 다음과 같이 응답해야 합니다.
/dev/spidev0.0 /dev/spidev0.1
이들은 각각 칩 인에이블 핀 0과 1의 SPI 장치를 나타냅니다. 이 핀은 Pi 내에 고정 배선되어 있습니다. 일반적으로 인터페이스는 최대 2개의 주변기기를 지원하지만 여러 장치를 데이지 체인 방식으로 연결하여 단일 칩 활성화 신호를 공유할 수 있는 경우가 있습니다.
보드에 전원 공급:
모든 무선 프로젝트와 마찬가지로 호스트 보드가 공급 핀을 통해 제공할 수 있는 것보다 더 많은 전력이 필요한 경향이 있습니다. 아래의 두 가지 구성표는 RAK 831 및 raspberry pi 3에 전원을 공급하는 방법을 나열합니다.
1) Raspberry Pi에서 5v 레일에 전원을 공급합니다.
2) Raspberry Pi와 RAK831의 5v 레일에 별도로 전원을 공급합니다.
소프트웨어 설치:
Raspberry pi에서 다음 단계를 수행하여 필수 소프트웨어를 설치합니다.
<울>
SPI 활성화:
raspi-config 유틸리티를 사용하여 SPI([5] 인터페이스 옵션 -> P4 SPI)를 활성화하고 파일 시스템도 확장합니다([7] 고급 옵션 -> A1 확장 파일 시스템):
$ sudo raspi-config
<울>
git이 설치되어 있는지 확인
Sudo apt-get updateSudo apt-get upgradeSudo apt-get install git
<울>
라즈베리 파이에서 Wi-Fi 연결 관리
WiFi 사용자 인증 정보 구성(자세한 내용은 여기에서 확인)
$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
그리고 파일 끝에 다음 블록을 추가하여 네트워크와 일치하도록 SSID와 비밀번호를 바꿉니다.
network={ssid="The_SSID_of_your_wifi"psk="Your_wifi_password"}
<울>
설치 프로그램 복제 및 설치 시작
$ git clone -b spi https://github.com/ttn-zh/ic880a-gateway.git ~/ic880a-gateway$ cd ~/ic880a-gateway $ sudo ./install.sh spi
<울>
설치 단계에서 원격 구성을 활성화할지 묻는 메시지가 표시됩니다. 'y' 또는 'yes'를 입력하고 설치를 계속합니다. 명령줄 설치를 시작할 때 스크립트는 다음 단계에 중요한 게이트웨이 EUI를 표시합니다. 참고하세요!
원격 구성 옵션을 사용하려면 https://github.com/ttn의 게이트웨이 원격 구성 저장소에 게이트웨이 EUI(예:B827EBFFFE7B80CD.json)라는 JSON 파일을 생성했는지 확인하세요. -zh/게이트웨이 원격 구성. 저장소를 분기하고 적절한 구성으로 .json 파일을 추가한 다음 분기된 저장소를 커밋합니다. 완료되면 마스터 리포지토리에 풀 요청을 보내면 파일이 다음날 리포지토리에 표시됩니다. 샘플 json은 다음과 같습니다.
{ "gateway_conf":{ "gateway_ID":"install.sh 콘솔 출력에 기록해 둔 ID", "servers":[ { "server_address" :"연결하려는 라우터", "serv_port_up":1700, "serv_port_down":1700, "serv_enabled":true } ], "ref_latitude":rak 831 게이트웨이의 위도, "ref_longitude":the rak 831 게이트웨이의 길이, "ref_altitude":40, "contact_email":"게이트웨이 소유자의 연락처 이메일", "description":"짧은 설명" } }
참고:
유효한 라우터 목록은 다음 링크를 확인하세요. https://www.thethingsnetwork.org/wiki/Backend/Connect/Gateway
<울>
기본적으로 설치 프로그램은 Raspeberry Pi의 호스트 이름을 ttn-gateway로 변경합니다(네트워크의 다른 Raspberry Pi와의 충돌을 방지하기 위해). 비원격 구성 모드에서 재정의할 수 있습니다.
만세 게이트웨이가 작동해야 합니다. json 파일이 RPi3에 제대로 다운로드되도록 다음 날 게이트웨이를 다시 시작해야 합니다.
global_config.json은 다음과 같이 조정해야 합니다.
https://github.com/TheThingsNetwork/gateway-conf/blob/master/US-global_conf.json
여기에서 들은 오래된 폴리 패킷 포워더 대신 mp_pkt_fwd를 사용하고 제공된 지침에 따라 동일한 것을 설치하려는 사람들을 위해:
https://github.com/kersing/packet_forwarder/tree/master/mp_pkt_fwd. 다시 프로젝트 루트에서 global_conf..json 파일을 볼 수 있습니다. 파일을 편집하고(아래에 설명된 imp 섹션) 컴파일 후 동일한 파일을 bin 폴더에 복사합니다.
global_conf.json의 일부 구성 가능한 엔터티:
global_conf.json 파일은 설치 스크립트가 실행된 후 프로젝트 디렉토리 베이스의 ./bin/global_conf.json에서 찾을 수 있습니다. 다음은 특정 게이트웨이 구성에 대해 global_conf.json 파일에서 편집할 수 있는 몇 가지 엔터티 목록입니다.
1) "radio_0" 또는 "radio_1" 구성, 특히 주파수 매개변수와 최소 및 최대 주파수 스윕 매개변수
2) "gateway_conf" 섹션, 특히 게이트웨이 ID 또는 게이트웨이의 EUI.
3) 사용 가능한 경우 자신의 애플리케이션 서버 주소의 TTN 서버 주소와 함께 동일한 gateway_conf 개체의 서버 위아래 포트.
출처:RAK831 LoRa 게이트웨이 및 RPi3 시작하기