การตั้งค่า LoRa เกตเวย์อาจดูซับซ้อน, but don’t worry. ฉันจะอธิบายหลักการก่อน, แล้วแสดงวิธีตั้งค่าเกตเวย์ LoRa ให้เสร็จสมบูรณ์.
ซอฟต์แวร์และฮาร์ดแวร์ที่คุณต้องเตรียมในบทความนี้:
ฉันเล่น โมดูล LoRa มากเมื่อเร็ว ๆ นี้, และทำบอร์ดพัฒนา LoRa ด้วยตัวเอง. การสื่อสารทางวิทยุระยะไกลกำลังต่ำสามารถทำได้ผ่านเทคโนโลยี LoRa, ซึ่งมีขนาดเล็ก, วิธีที่มีประสิทธิภาพและเรียบง่าย. คุณยังสามารถปลดล็อกคุณสมบัติเพิ่มเติมของ LoRa . ได้อีกด้วย: ตั้งค่าเครือข่าย LoRaWAN ที่สามารถเชื่อมต่อกับอินเทอร์เน็ตได้, ทำให้โหนดมือถือสามารถข้ามไปมาระหว่างการจัดการเครือข่ายต่างๆ ได้เช่นเดียวกับโทรศัพท์มือถือของคุณ, เมื่อคุณกำลังเคลื่อนไหว, มันจะเชื่อมต่อกับเสาสัญญาณต่างๆ. ฤดูร้อนนี้ฉันวางแผนที่จะสร้างเกตเวย์ LoRa ราคาประหยัดและรันบนเครือข่าย MOKO. มันง่ายกว่าที่ฉันคิดไว้มาก~
เกตเวย์คือ อุปกรณ์ LoRa เชื่อมต่อกับอินเทอร์เน็ต. สามารถตรวจสอบช่องสัญญาณ LoRa ที่แตกต่างกันหลายช่องและส่งต่อแพ็กเก็ตข้อมูลระหว่าง backhaul ของเครือข่าย (เช่น MOKO) และอุปกรณ์โหนดปลายทาง. คุณสามารถคิดได้ว่าเป็นหอคอยเซลลูลาร์ของโหนดอุปกรณ์ปลายทางเคลื่อนที่ที่ใช้พลังงานต่ำ.
MOKO ให้ตัวเลือกฮาร์ดแวร์เกตเวย์ที่แนะนำ, และฉันเลือก RAK831 จาก RAK Wireless สำหรับความพยายามนี้:
RAK831 เป็นบอร์ดคอนเซนเตอร์ LoRa ที่ใช้ได้กับ Raspberry Pi. ฉันซื้อชุดพัฒนา LoRa โดยตรง, ซึ่งมีฮาร์ดแวร์ทั้งหมดที่จำเป็นในโครงการนี้:
ชุดนี้ยังรวมถึงบอร์ด WisNode, ซึ่งคล้ายกับอุปกรณ์ปลายทาง Arduino+LoRa; นอกจากนี้, ชุดนี้ยังมีบอร์ด LoRa Tracker อีกด้วย, but I don’t need it because I have made a LoRa node with GPU.
เพราะมีซอฟต์แวร์จำนวนมากได้รับการกำหนดค่าล่วงหน้าในการ์ดหน่วยความจำ, มันค่อนข้างง่าย. ซอฟต์แวร์เหล่านี้จะได้รับการติดตั้งล่วงหน้าสำหรับการซื้ออุปกรณ์. โดยทั่วไป, อุปกรณ์เหล่านี้สามารถใช้ได้โดยตรงหลังการซื้อ. ไม่จำเป็นต้องค้นหาและดาวน์โหลดซอฟต์แวร์เกตเวย์ที่เกี่ยวข้องกับ ic880a บน GitHub, หรือเปิดใช้งาน SPI บนราสเบอร์รี่พาย
ฉันทำตามคำแนะนำเพื่อตั้งค่าข้อมูลรับรอง WiFi ใน /etc/wpa_supplicant/wpa_supplicant.conf.
ต่อไป, งานหลักของเราคือค้นหาความหมายของแต่ละพารามิเตอร์ของเกตเวย์และกำหนดค่าพารามิเตอร์. ก่อนอื่นเลย, เราต้องยืนยันการระบุเกตเวย์, แต่ละเกตเวย์มี ID ของตัวเอง, เพราะสามารถเข้าถึงได้ผ่านที่อยู่ MAC ของอินเทอร์เฟซเครือข่าย. ID ของเกตเวย์สามารถรับได้ผ่านสคริปต์นี้:
GATEWAY_ID=$(ลิงก์ ip แสดง eth0 | awk’/ether/ {พิมพ์ $2}’ | awk -F\:'{print $1$2$3″FFFE”$4$5$6}’); เสียงก้อง ${GATEWAY_ID^^}
การกำหนดค่าเกตเวย์ค่อนข้างสับสน. ประการแรก, ไฟล์การกำหนดค่าเกตเวย์เป็นไฟล์การกำหนดค่าทั่วไป. ไฟล์คอนฟิกูเรชันทั่วไปเหมาะสำหรับการตั้งค่าเกตเวย์ทั้งหมด, แล้วตั้งค่าไฟล์คอนฟิกูเรชันของภูมิภาคเฉพาะ. เพราะคลื่นความถี่การสื่อสารของ Lora ของแต่ละประเทศอาจแตกต่างกัน, พารามิเตอร์ของไฟล์การกำหนดค่าของภูมิภาคที่มีลักษณะเฉพาะทั้งหมดอาจแตกต่างกัน. ฉันอยู่ประเทศจีน, and the configuration files of all Lora gateways I used in the test are China’s global configuration files. GitHub มีไฟล์การกำหนดค่าสำหรับภูมิภาคต่างๆ, ซึ่งสะดวกมากสำหรับนักพัฒนาในการดาวน์โหลดไฟล์การกำหนดค่าที่จำเป็น.
gateway_conf ใกล้ถึงจุดสิ้นสุดเป็นส่วนสำคัญ. นี่คือข้อมูลเราเตอร์ที่ถูกต้องสำหรับพื้นที่ของคุณ. ไฟล์นี้จะเข้าสู่ตำแหน่งของ /opt/moko-gateway/bin.
นาฬิกาซิงโครไนซ์ใน GPS มีความสำคัญมากต่อการทำงานของเกตเวย์. เกตเวย์ Lora สามารถตัดสินตำแหน่งของวัตถุเป้าหมายและต้องพึ่งพา GPS เพื่อส่งสัญญาณการซิงโครไนซ์. การเปิดใช้งาน GPS ในไฟล์เป็นงานที่สำคัญมาก. เราต้องกำหนดค่าเกตเวย์ในไฟล์การกำหนดค่าเกตเวย์ Lora_ รหัสต่อไปนี้ถูกเพิ่มในconf, which is very important for Lora’s work:
{
“gateway_conf”: {
…
“gps”: จริง,
“gps_tty_path”: “/dev/ttyAMA0”,
“fake_gps”: เท็จ,
…
}
}
ข้อมูลเฉพาะของเกตเวย์จะถูกบันทึกไว้ในไฟล์นี้ /opt/moko-gateway/bin/local_config.json. ที่นี่, คุณสามารถใช้ข้อมูลสำคัญใน global_config.json และ gateway_ID . ของคุณ, ข้อมูลตำแหน่งเกี่ยวกับตำแหน่งเกตเวย์, และข้อมูลการติดต่อ.
นี่เป็นของฉัน:
{
“gateway_conf”: {
“gateway_ID”: “MFP254862KEF1034”,
“ref_latitude”: 22.24851,
“ref_longitude”: 114.06611,
“ref_altitude”: 114,
“contact_email”: “mokofeipeng@mokolora.com”,
“description”: “mokolora design lora gateway lw0003”,
“servers”: [
{
“server_address”: “router.us.mokolora.network”,
“serv_port_up”: 433,
“serv_port_down”:433,
“serv_enabled”: จริง
}
]
}
}
ข้อมูลเฉพาะของเกตเวย์จะถูกบันทึกไว้ในไฟล์นี้ /opt/moko-gateway/bin/local_config.json. ที่นี่, คุณสามารถใช้ข้อมูลสำคัญใน global_config.json และ gateway_ID . ของคุณ, ข้อมูลตำแหน่งเกี่ยวกับตำแหน่งเกตเวย์, และข้อมูลการติดต่อ.
นี่เป็นของฉัน:
{
“gateway_conf”: {
“gateway_ID”: “MFP254862KEF1034”,
“ref_latitude”: 22.24851,
“ref_longitude”: 114.06611,
“ref_altitude”: 114,
“contact_email”: “mokofeipeng@mokolora.com”,
“description”: “mokolora design lora gateway lw0003”,
“servers”: [
{
“server_address”: “router.us.mokolora.network”,
“serv_port_up”: 433,
“serv_port_down”:433,
“serv_enabled”: จริง
}
]
}
}
เมื่อเกตเวย์ Lora เริ่มต้นขึ้น, เกตเวย์ Lora จะเรียกใช้ในพื้นที่พร้อมกัน_ ข้อมูล Config.json และ global_ ข้อมูลการกำหนดค่าของ config.json.
การกำหนดค่าเกตเวย์ Lora สามารถซิงโครไนซ์กับไฟล์ GitHub ได้. เราสามารถติดตามไฟล์การกำหนดค่าของเกตเวย์ Lora ใหม่แบบเรียลไทม์ผ่านข้อมูลการซิงโครไนซ์ของ GitHub. การดำเนินการสะดวกมาก. เส้นทางการรวบรวมของไฟล์การกำหนดค่าของเกตเวย์ Lora คือ [เกตเวย์ รีโมตคอนฟิก GitHub repo] (โมโกะจือ / การกำหนดค่าระยะไกลเกตเวย์). เมื่อไหร่ก็ตามที่เกตเวย์เซ็นเตอร์เริ่มทำงานอย่างถูกต้อง, มันจะอ่านข้อความในไฟล์ GitHub, ตัดสินว่าไฟล์การกำหนดค่าได้รับการอัพเดตหรือไม่, และดาวน์โหลดไฟล์การกำหนดค่าล่าสุดหากมีการอัพเดต. หากสามารถค้นหาไฟล์ที่เกี่ยวข้องสำหรับเกตเวย์ของคุณ, มันจะลบไฟล์ local_config.json และสร้างลิงก์สัญลักษณ์เพื่อโคลนไฟล์ในโกดังจาก bin/local_config.json ไปยัง Raspberry Pi!
ถ้าอยากทำสิ่งนี้, โปรดถอดรายงานการกำหนดค่าระยะไกลของเกตเวย์บน GitHub, ส่งไฟล์การกำหนดค่าในเครื่องของคุณเองไปยังรายงาน fork ที่ตั้งชื่อตาม GatewayID . ของคุณ (ตัวอย่างเช่น, MFP254862KEF1034.json), แล้วส่ง pull ไปที่ main repository ask. หลังจากผ่านไประยะหนึ่ง, คำขอที่คุณส่งไปยังคลังสินค้าจะผ่าน, ไฟล์การกำหนดค่าในเครื่องถูกรวมเข้ากับไฟล์บน GitHub, และไฟล์การกำหนดค่าบน GitHub ได้รับการแก้ไข. เมื่อเกตเวย์ Lora ถูกรีสตาร์ท, เกตเวย์ Lora จะดาวน์โหลดไฟล์การกำหนดค่าใหม่, และไฟล์การกำหนดค่าใหม่จะมีผล การกำหนดค่าสุดท้ายของฉันคือ /opt/moko-gateway/bin/local_config.json, ซึ่งเชื่อมต่อกับ GitHub [ไฟล์ปรับแต่งของฉันใน GitHub](https://www.github.com/moko-zh/gateway-remote-config/ blob/master/MFP254862KEF1034.json) ลิงค์.
ส่วน gateway_conf ใน global_config.json มีเฉพาะสิ่งต่อไปนี้เท่านั้น:
{
“gateway_conf”: {
“gps”: จริง,
“gps_tty_path”: “/dev/ttyAMA0”,
“fake_gps”: เท็จ
}
}
ต้องเรียนรู้ [คำแนะนำการลงทะเบียน](https://www..thethingsnetwork.org/docs/gateways/registration.html) เพื่อลงทะเบียนเกตเวย์ของคุณบน TTN. มันง่ายมาก.
ฉันติดตั้งเกตเวย์ในกล่องกันน้ำที่มีแหล่งจ่ายไฟ 5V, เสาอากาศ LoRa และเสาอากาศ GPS. ฤดูร้อนอากาศไม่ร้อนเกินไป, และในไม่ช้าฉันจะเห็นว่าเกตเวย์นี้ทำงานอย่างไรในสภาพอากาศฤดูหนาวในมินนิโซตา. ฉันหวังว่าความร้อนที่เกิดจาก Raspberry Pi ในตู้ที่ปิดล้อมสามารถป้องกันฮาร์ดแวร์จากการแช่แข็งได้, but I don’t know if it will work! (อัปเดต: Raspberry Pi ไม่มีปัญหาแม้ติดลบ 28 องศาฟาเรนไฮต์ (-33 องศาเซลเซียส)!!!)
อุปกรณ์เสาอากาศเป็นท่อพลาสติกธรรมดา. ฉันใช้หัวต่อสายยาวเพื่อเชื่อมต่อกับเสาอากาศของ Lora gateway. สายยาว 5 เมตรมีไฟดับ, แต่หลังจากพิจารณาเรื่องนี้แล้ว, เสาอากาศยังสามารถให้อัตราขยายสุทธิได้. ประตู Lora ถูกสร้างขึ้น. มันดูดี. กระบวนการนี้น่าสนใจมากและทำให้ฉันเข้าใจ Lora . อย่างลึกซึ้งยิ่งขึ้น.
ฉันหวังว่าบทความการตั้งค่าเกตเวย์นี้จะเป็นประโยชน์กับผู้อื่น! LoRa เป็นเทคโนโลยีการเรียนรู้ที่น่าตื่นเต้นจริงๆ.
อาคารอัจฉริยะเปลี่ยนชีวิตและการทำงานของเราด้วยความสะดวกสบายอย่างที่ไม่เคยมีมาก่อน, ประสิทธิภาพ, และ…
IoT ได้กลายเป็นพลังแห่งการเปลี่ยนแปลงในโลกที่เชื่อมต่อถึงกันของเรา. It’s like the magical key…
Imagine a world without light...scary, ขวา? We’d all be stumbling around in the dark like…
ก้าวเข้าสู่โลกอันน่าทึ่งของสำนักงานอัตโนมัติอัจฉริยะ, where technology takes center stage and…
ป่าอาจเป็นเรื่องยากที่จะจับตาดู. They’re big, and the tangle of…
ความเครียดของน้ำที่เกิดจากความร้อนสูงอาจเป็นอันตรายต่อการเจริญเติบโตของพืช, especially for small…