คำเตือน: เมื่อเชื่อมต่อแผงโซลาร์เซลล์หรือแบตเตอรี่ขั้วของหมุดควรเป็นดังนี้:

คำเตือน: หากจำเป็นต้องใช้ตัวควบคุมการชาร์จสำหรับแบตเตอรี่ Li-ion จัมเปอร์แบตเตอรี่จะต้องเชื่อมต่อ:

Arduino IDE สามารถใช้สำหรับการอัปโหลดซอฟต์แวร์ผ่านพอร์ต Micro USB ก่อนที่จะสามารถใช้งาน IDE จะต้องกำหนดค่า สิ่งแรกคือการติดตั้งบอร์ดผ่าน Board Manager
ไปที่ไฟล์ -> การตั้งค่า เพิ่มลิงค์ต่อไปนี้ไปยัง URL ตัวจัดการบอร์ดเพิ่มเติม: https://github.com/skylabiot/loraedge_basictracking/raw/master/package_skylab_index.json
แพ็คเกจบอร์ดสามารถดาวน์โหลดได้ผ่านเครื่องมือ -> บอร์ด -> บอร์ดผู้จัดการ ... โดยค้นหา Skylab
เลือกบอร์ดผ่านเครื่องมือ -> บอร์ด -> บอร์ด Skylab -> Skylab Lora Edge
ตัวอย่างตัวอย่างสามารถโหลดผ่านไฟล์ -> ตัวอย่าง -> Skylab Lora Edge -> BasicLoraa
การพึ่งพาภาพร่างพื้นฐานคือ:
Arduino Samd21 ห้องสมุดพลังงานต่ำ: https://www.arduino.cc/en/reference/arduinolowpower
ห้องสมุด Arduino RTC: https://www.arduino.cc/en/reference/rtc
ห้องสมุด Adafruit BME280: https://github.com/adafruit/adafruit_bme280_library
Adafruit LMS303 Accelerometer Library: https://github.com/adafruit/adafruit_lsm303_accel
FlashStorage Library โดย Cmaglie: https://github.com/cmaglie/flashstorage
หลังจากอัพโหลดโหมดตัวอย่างภาพร่างการตรวจสอบอนุกรมสามารถเปิดได้ในอัตรา 9600 baud ระบบเริ่มต้นด้วยการแสดง dev_eui ที่กำหนดค่าไว้, Join_eui และ App_key (MSB ก่อน) dev_eui ได้รับการร้องขอจากชิป LR1110 และไม่ซ้ำกันกับชิปเฉพาะนั้น คีย์นี้ควรใช้ในคอนโซลของเครือข่ายที่ใช้แล้ว Join_EUI และ APP_KEY ได้รับการกำหนดค่าในรหัสและควรเปลี่ยนสำหรับคีย์ที่ถูกต้องซึ่งได้รับจากคอนโซลเครือข่ายที่ใช้แล้ว หากกำหนดค่าอย่างถูกต้องอุปกรณ์จะเข้าร่วมโดยอัตโนมัติ
ส่ง 0x01 เพื่อขอ Wi-Fi และ GNSS Scan Payload (คำตอบอยู่ที่พอร์ต 2 และ 3)
ส่ง 0x02 เพื่อขอการกำหนดค่าปัจจุบัน (คำตอบอยู่ที่พอร์ต 44)
ส่ง 0x03 เพื่อขอแรงดันแบตเตอรี่ปัจจุบัน (คำตอบอยู่ที่พอร์ต 10)
รูปแบบการกำหนดค่า downlink ควรมีดังนี้:
| 0 | 1-2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|
| นำ | ช่วงเวลา | สัญญาณ | Wi-Fi | GNSS | การเปิดใช้งานการเคลื่อนไหว / เวลา | ระยะเวลาการเคลื่อนไหว | การลงทะเบียนเกณฑ์การตรวจจับความเคลื่อนไหว | การลงทะเบียนระยะเวลาเซ็นเซอร์เคลื่อนไหว |
ไบต์ 0: LED ไบต์นี้กำหนดค่าสถานะ LED
ไบต์ 1 และ 2: ช่วงเวลา 2 ไบต์เหล่านี้กำหนดเวลาช่วงเวลามาตรฐานระหว่างเวลาข้อความอยู่ในไม่กี่นาที ช่วงเวลาที่กำหนดเป็น 0 จะทำให้การตั้งค่าปัจจุบันและจะไม่ตั้งเวลาช่วงเวลาใหม่ เวลาสูงสุดคือ 65535 นาที
ไบต์ 3: Beacon ไบต์นี้กำหนดเวลาที่ De Beacon เปิดอยู่ เวลาอยู่ในไม่กี่นาที เวลาสูงสุดคือ 255 นาที เมื่อตั้งค่าเป็น 0 บีคอนจะไม่เปิด
BYTE 4: Wi-Fi ไบต์นี้จะเปิดหรือปิดการโหลด Wi-Fi
BYTE 5: GNSS ไบต์นี้เปิดหรือปิดการโหลด GNSS
ไบต์ 6: การเปิดใช้งานการเคลื่อนไหว / เวลาไบต์นี้ตั้งค่าช่วงเวลาการส่งหากตรวจพบการเคลื่อนไหว เวลาอยู่ในไม่กี่นาทีโดยมีค่าสูงสุด 255. เมื่อตั้งค่าเป็น 0 การตรวจจับการตรวจจับการเคลื่อนไหว 0 ถูกปิดใช้งาน
ไบต์ 7: ระยะเวลาการเคลื่อนไหวไบต์นี้ตั้งค่าระยะเวลาที่ระบบใช้ช่วงเวลาการเคลื่อนไหวหลังจากการตรวจจับการเคลื่อนไหวครั้งสุดท้าย เวลาอยู่ในนาทีที่มีสูงสุด 255. เมื่อตั้งค่าเป็น 0 ไบต์นี้จะถูกละเว้น (จะใช้การตั้งค่าปัจจุบัน)
BYTE 8: เกณฑ์เซ็นเซอร์ความเคลื่อนไหวลงทะเบียนไบต์นี้ตั้งค่าการลงทะเบียนเกณฑ์เซ็นเซอร์เคลื่อนไหว หาก BYTE 7 ถูกตั้งค่าเป็น 0 ไบต์นี้จะถูกละเว้น (จะใช้การตั้งค่าปัจจุบัน)
BYTE 9: การลงทะเบียนระยะเวลาเซ็นเซอร์ความเคลื่อนไหวไบต์นี้ตั้งค่าการลงทะเบียนระยะเวลาเซ็นเซอร์เคลื่อนไหว หาก Byte 7 ถูกตั้งค่าเป็น 0 ไบต์นี้จะถูกละเว้น (จะใช้การตั้งค่าปัจจุบัน)
ระบบยืนยัน downlink โดยส่งการกำหนดค่าชุดในอัปลิงค์บนพอร์ต 44 ในรูปแบบเดียวกับ downlink
LED ON, ช่วงเวลา 5 นาที, ไม่มี Beacon, Wi-Fi และ GNSS Payload บน, การตรวจจับการเคลื่อนไหวปิด:
01 00 05 00 01 01 00 00 00 00
นำออก, ช่วงเวลา 600 นาที, ไม่มีสัญญาณ, Wi-Fi Payload บน, GNSS Payload ปิด, การตรวจจับการเคลื่อนไหวปิด:
00 15 36 00 01 00 00 00 00 00
เก็บการตั้งค่า LED และช่วงเวลาปัจจุบันไม่มี Beacon, Wi-Fi Payload ปิด, Payload GNSS บน, การตรวจจับการเคลื่อนไหวปิด:
02 00 00 00 00 01 00 00 00 00
เปิด Beacon เป็นเวลา 5 นาทีตรวจจับการเคลื่อนไหวปิดการตั้งค่าปัจจุบันทั้งหมดทั้งหมด:
02 00 00 05 02 02 00 00 00 00
เก็บการตั้งค่า LED และช่วงเวลาปัจจุบันไม่มี Beacon, Wi-Fi Payload On, GNSS Payload ปิด, การตรวจจับการเคลื่อนไหวบนด้วยช่วงเวลาการส่ง 1 นาที, ช่วงเวลาการเคลื่อนไหวที่ใช้เป็นเวลา 4 นาทีหลังจากการเคลื่อนไหวครั้งสุดท้าย
02 00 00 00 01 00 01 04 07 03
ร่างโหมด A ตัวอย่างสามารถส่งน้ำหนักบรรทุกได้ 4 ประเภท ประเภทน้ำหนักบรรทุกเหล่านี้สามารถระบุได้ตามหมายเลขพอร์ตที่ใช้ ตัวอย่างสคริปต์ตัวถอดรหัส TTN สามารถพบได้ในหน้า GitHub นี้ (ExampledEcoderttn.js)
นี่คือน้ำหนักบรรทุก Wi-Fi และเซ็นเซอร์ น้ำหนักบรรทุกนี้มีข้อมูล 3 คะแนน Wi-Fi และข้อมูลเซ็นเซอร์ รูปแบบมีดังนี้:
| 0 | 1-6 | 7 | 8-13 | 14 | 15-20 | 21 | 22-23 | 24-25 | 26 | 27 |
|---|---|---|---|---|---|---|---|---|---|---|
| RSSI 1 | Mac 1 | RSSI 2 | Mac 2 | RSSI 3 | Mac 3 | แรงดันแบตเตอรี่ | อุณหภูมิ | ความดัน | ความชื้น | การเปิดใช้งานการเคลื่อนไหว |
ไบต์ 0, 7 และ 14: Wi-Fi RSSI
ไบต์เหล่านี้มีความแรง RSSI / สัญญาณของคะแนน Wi-Fi ที่สแกน ค่าเหล่านี้จะต้องตีความว่าเป็นจำนวนเต็มที่ลงนาม
ไบต์ 1 ถึง 6, 8 ถึง 13 และ 15 ถึง 20: Wi-Fi Mac
ไบต์เหล่านี้มีที่อยู่ MAC ของคะแนน Wi-Fi ที่สแกน
ไบต์ 21: แรงดันแบตเตอรี่
ไบต์นี้มีค่าแรงดันไฟฟ้าแบตเตอรี่ดิบ แรงดันไฟฟ้าที่แน่นอนสามารถคำนวณได้ด้วย: แรงดันไฟฟ้า = (ลอย) ((3.3 / 255) * ((4.7 + 10) / 10) * (แรงดันไฟฟ้าของแบตเตอรี่));
ไบต์ 22 ถึง 23: อุณหภูมิ
ไบต์เหล่านี้มีค่าอุณหภูมิ อุณหภูมิที่แน่นอนในองศาเซลเซียส (◦C) สามารถคำนวณได้ด้วย: อุณหภูมิ = (ลอย) (อุณหภูมิ / 100);
ไบต์ 24 ถึง 25: ความกดดัน
ไบต์เหล่านี้มีค่าความดันอากาศ ความดันที่แน่นอนในระดับ Hector Pascal (HPA) สามารถคำนวณได้ด้วย: ความดันอากาศ = (ลอย) (ความดัน / 10);
ไบต์ 26: ความชื้น
ไบต์นี้มีค่าความชื้นเป็น %
ไบต์ 27: การเปิดใช้งานการเคลื่อนไหว
ไบต์นี้แสดง 0 เมื่ออยู่ในช่วงปกติ เมื่ออยู่ในช่วงเวลาการเคลื่อนไหวไบต์นี้จะให้จำนวนนาทีที่เหลือในช่วงเวลาการเคลื่อนไหว
นี่คือน้ำหนักบรรทุก GNSS น้ำหนักบรรทุกนี้มีข้อมูล GNSS ดิบเท่านั้นและมีขนาดตัวแปร
น้ำหนักบรรทุกนี้ใช้เป็นข้อความ“ ฉันตื่น” โดยค่าเริ่มต้นจะถูกตั้งค่าเป็นทุก 24 ชั่วโมง สิ่งนี้สามารถเปลี่ยนแปลงได้โดยการเปลี่ยนค่า“ เวลาควบคุม” รูปแบบมีดังนี้:
ไบต์ 0: แรงดันแบตเตอรี่
ไบต์นี้มีค่าแรงดันไฟฟ้าแบตเตอรี่ดิบ แรงดันไฟฟ้าที่แน่นอนสามารถคำนวณได้ด้วย: แรงดันไฟฟ้า = (ลอย) ((3.3 / 255) * ((4.7 + 10) / 10) * (แรงดันไฟฟ้าของแบตเตอรี่));
LR1110 ส่งข้อความอัตโนมัติเมื่อเข้าร่วมและทุก 24 ชั่วโมงหลังจากนั้น ข้อความนี้สามารถละเว้นได้
เมื่อการตั้งค่า Beacon ถูกตั้งค่าเป็น 1 สัญญาณจะถูกเปิดใช้งาน อุปกรณ์จะออกจากเครือข่ายและส่ง Payload LORA แบบสุ่มทุกวินาทีในความถี่ 869800000 Hz (นอกความถี่ LORA อย่างเป็นทางการ) LED สีเขียวจะเปิดหากการเปิดใช้งาน LED ถูกตั้งค่าเป็น 1 สัญญาณจะหยุดเมื่อถึงเวลาที่กำหนด ระบบจะเข้าร่วมเครือข่ายอีกครั้งและดำเนินการเหมือนก่อน
| พิน UC | พินบอร์ด | ชื่อใน Arduino Ide |
|---|---|---|
| PA02 | A0 | A0, DAC0 |
| PA05 | AIN5 (แบตเตอรี่) | ain5 |
| PA06 | D0 | D0 |
| PA07 | D8 | D8 |
| PA08 | D3 | D3 |
| PA09 | D4 | D4 |
| PA10 | ไม่ว่าง (LR1110) | ยุ่ง |
| PA11 | เหตุการณ์ (LR1110) | เหตุการณ์ |
| PA14 | NRESET (LR1110) | ชุด nreset |
| PA15 | LED สีแดง | Ledr |
| PA16 | Mosi | Mosi |
| PA17 | SCK | SCK |
| PA18 | NSS (LR1110) | NSS |
| PA19 | มิโซะ | มิโซะ |
| PA20 | INT2 (LSM303AGR) | INT2 |
| PA21 | INT1 (LSM303AGR) | INT1 |
| PA22 | SDA | SDA |
| PA23 | SCL | SCL |
| PA24 | D- (USB) | pin_usb_dm |
| PA25 | D+ (USB) | pin_usb_dp |
| PA27 | PA27 (แผ่น) | PA27 |
| PA28 | PA28 (แผ่น) | PA28 |
| PA30 | SWDCLK/TCK (หมุดดีบั๊ก) | - |
| PA31 | SWDIO/TMS (หมุดดีบั๊ก) | - |
| PB02 | PB02 (แผ่น) | PB02 |
| PB03 | PB03 (แผ่น) | PB03 |
| PB08 | LNA (GNSS) | LNA |
| PB09 | INT3 (LSM303AGR) | INT3 |
| PB10 | LED GREEN | ledg |
| PB11 | LED สีน้ำเงิน | Ledb |
| PB22 | TX | pin_serial_tx |
| PB23 | RX | pin_serial_rx |
| รุ่น | การเปลี่ยนแปลง |
|---|---|
| 1.0 | รุ่นแรก |
| 1.2 | รองรับการกำหนดค่าเพิ่มเติมผ่าน Downlink การรวมเซ็นเซอร์ใน Wi-Fi Payload และ Radio Beacon |
| 1.3 | การเปลี่ยนแปลงสำหรับ Sketch BasicLoraa: เปลี่ยนลิงก์ดาวน์ลิงก์เพื่อใช้ไบต์น้อยลง แก้ไขปัญหาการเข้าร่วมแบตเตอรี่เมื่อไม่มีการครอบคลุม LORA เพิ่มการสนับสนุนสำหรับการตรวจจับการเคลื่อนไหวเปิดใช้งานโดยการตั้งค่าการเคลื่อนไหวเป็น 1 |
| 1.3.1 | แก้ไขปัญหาการเข้าร่วมหลังจากการเข้าร่วมที่ล้มเหลวใน Sketch BasicLoraa |
| 1.4 | อัปเดตพอร์ต 2 อัปลิงค์ (ไบต์ 27) อัปเดตรูปแบบ downlink รวมถึงตัวอย่าง เพิ่ม Downlink ยืนยันอัปลิงค์ ความสามารถในการบันทึกการตั้งค่าเป็น EEPROM ดังนั้นพวกเขาจะไม่รีเซ็ตเมื่อรีบูต |
| 1.4.1 | การล้างไฟล์ |
| 1.5 | LED สีม่วงเปิดเมื่อพยายามเข้าร่วม แก้ไขข้อผิดพลาด Payload Wi-Fi ที่หายไป สนับสนุนการซิงค์ ALC สำหรับการใช้งานในอนาคต ทำให้รหัสอ่านได้มากขึ้นโดยการเพิ่มความคิดเห็น |
| 1.5.1 | เบาะ EUI / ปุ่มพร้อมศูนย์บนจอภาพอนุกรมเพื่อการคัดลอกได้ง่ายขึ้น ตอนนี้ LoRawan, Firmware และ Bootloader พิมพ์ใน Hex บน Serial Monitor |
| 1.5.2 | แก้ไขไม่ส่งเพย์โหลดแรกหลังเริ่มต้นและหลังจากการตรวจจับการเคลื่อนไหวครั้งแรก |
| 1.5.3 | เพิ่มฟังก์ชั่น downlink สำหรับการร้องขอการตั้งค่า แก้ไขข้อผิดพลาดในการจับเวลาช่วงเวลาการเคลื่อนไหว |
| 1.5.4 | แก้ไขค่าช่วงเวลาไม่ได้โหลดอย่างถูกต้องเสมอหลังจากรีบูต |