
ตัวอย่างนี้แสดงให้เห็นว่า AVR64DD32 สามารถใช้ในการสร้างโหนดปลาย Lorawan ที่ตรวจสอบอุณหภูมิความชื้นความดันบารอมและความชื้นในดินและส่งข้อมูลนั้นทุกสามนาทีไปยังแอปพลิเคชันผ่านเครือข่ายสิ่งต่าง ๆ (TTN) โหนดสามารถวางได้ทุกที่ระหว่างสิบเมตรถึงห้ากิโลเมตรจากเกตเวย์ Lorawan ในสภาพแวดล้อมในเมือง แต่ช่วงกว้างขึ้นสำหรับสถานที่ชานเมือง การออกแบบแสดงให้เห็นว่าโหนดปลายทางแม้ในระยะยาวสามารถกำหนดค่าให้ใช้พลังงานต่ำมาก/มีอายุการใช้งานแบตเตอรี่ที่ยาวนานในขณะที่การเคลื่อนย้ายข้อมูลที่มีค่าอย่างปลอดภัย การออกแบบนี้สามารถปรับขนาดได้อย่างง่ายดายเพื่อเปิดใช้งานการจับข้อมูลความแปรปรวนของดินโดยการวางโหนดเพิ่มเติมตลอดพล็อตการเกษตรโดยไม่จำเป็นต้องเพิ่มเกตเวย์หรือโครงสร้างพื้นฐานเพิ่มเติม
การสาธิตนี้ใช้โมดูล RN2903A ซึ่งทำงานในวงดนตรีความถี่ 915 MHz และเหมาะสำหรับโครงการที่อยู่ในสหรัฐอเมริกาและออสเตรเลีย แต่โครงการได้รับการปรับให้เข้ากับการทำงานในภูมิภาคอื่น ๆ ได้อย่างง่ายดาย
เพิ่มส่วนประกอบลงในบอร์ดอะแดปเตอร์นาโน
วาง LR2 คลิกที่ Mikrobus ™ 2 และสภาพอากาศคลิกที่ Mikrobus 1
เชื่อมต่อตะกั่วเซ็นเซอร์ความชื้นดังแสดงในรูปที่ 1
สุดท้ายเพิ่มสายจัมเปอร์ระหว่าง (PA1) และ PD1 เพื่ออนุญาตให้รีเซ็ตการคลิก LR2 (PA1) ไม่ได้เชื่อมต่อตามค่าเริ่มต้น (เนื่องจากมันเชื่อมต่อกับนาฬิกาภายนอกแล้ว) ดังนั้นโครงการนี้จะเปิดใช้งาน PD1 PIN เพื่อขับสัญญาณรีเซ็ต
| สายจัมเปอร์ | เข็มหมุด |
|---|---|
| VCC - สายสีแดงจากเซ็นเซอร์ความชื้น | VCC |
| GND - สายสีดำจากเซ็นเซอร์ความชื้น | gnd |
| AOUT - ลวดสีเหลืองจากเซ็นเซอร์ความชื้น | PD2 |
| (PA1) - วางจัมเปอร์ระหว่าง | PD1 |

รูปที่ 1. การตั้งค่าฮาร์ดแวร์

รูปที่ 2. เปิดโครงการใน MPLAB X
เมื่อโครงการเปิดเริ่มต้นด้วยการปรับเทียบเซ็นเซอร์
ในการปรับเทียบเซ็นเซอร์ความชื้นให้เปิดไฟล์ application.c และเปลี่ยนสถานะเริ่มต้นเป็น TEST_MOISTURE

รูปที่ 3. การตั้งค่าสถานะเริ่มต้นเป็น test_moisture
ต่อมาการตั้งค่าเหล่านี้สามารถทำเฉพาะกับความต้องการของดินและพืชของคุณ แต่สำหรับความกะทัดรัดเริ่มต้นด้วยขอบเขตบนและล่างสำหรับการวัดโดยการทดสอบในอากาศแห้งและในถ้วยน้ำ
วางเซ็นเซอร์เพื่อให้มันแขวนอยู่ในอากาศแห้ง

รูปที่ 4. เซ็นเซอร์วางตำแหน่งในอากาศแห้ง
เริ่มต้น Data Visualizer ด้วยการตั้งค่าต่อไปนี้:
อัตราการรับส่งข้อมูล: 9600
ความยาวถ่าน: 8 บิต
ความเท่าเทียมกัน: ไม่มี
หยุดบิต: 1
คลิกส่งไปยังเทอร์มินัลจากนั้นทำและตั้งโปรแกรมอุปกรณ์

รูปที่ 5. ข้อมูล Data Visualizer ส่งไปยังเทอร์มินัล

รูปที่ 6 ทำและตั้งโปรแกรมอุปกรณ์
เมื่อโปรแกรมเริ่มต้นคุณจะได้รับแจ้งให้กดปุ่มเพื่อสร้างตัวแปลงแบบอะนาล็อกเป็นดิจิตอล (ADC) กดปุ่มสองสามครั้งด้วยเซ็นเซอร์ในอากาศแห้งจากนั้นวางเซ็นเซอร์หนึ่งถ้วยน้ำแล้วกดปุ่มอีกสองสามครั้ง
รูปที่ 7 แสดงการอ่านสองครั้ง เมื่อรวบรวมตัวอย่างอากาศแห้งการอ่าน ADC จะอยู่ใกล้กับ 3000 เมื่อรวบรวมตัวอย่างน้ำการอ่านจะใกล้เคียงกับ 1,400

รูปที่ 7. ค่า ADC ในอากาศแห้งและในถ้วยน้ำ
สังเกตผลลัพธ์ของคุณและเปิดไฟล์ application.h แทนที่ความชัดเจนสำหรับ IN_MAX และ IN_MIN โดยใช้ผลลัพธ์ของคุณจากนั้นใช้ค่าเหล่านั้นเพื่อคำนวณ CONVERSION_PERCENT โดยใช้สูตรที่แสดง

รูปที่ 8. คำจำกัดความความชื้นของดิน
จำเป็นต้องมีการเปลี่ยนแปลงเล็กน้อยเพียงครั้งเดียวในการสอบเทียบสภาพอากาศ ส่วนที่เหลือได้รับการดูแลในซอฟต์แวร์ เพื่อให้มีการอ่านแรงดันที่แม่นยำอุปกรณ์จำเป็นต้องใช้ระดับความสูงปัจจุบันของคุณสูงกว่าระดับน้ำทะเล ป้อนค่านี้บนบรรทัด 24 ของไฟล์ bme.h

รูปที่ 9. ระดับความสูงสำหรับการคลิกสภาพอากาศ
ถัดไปตั้งค่าด้าน TTN ของโครงการ
หากคุณยังไม่ได้ดำเนินการตั้งค่าบัญชีกับ TTN; รุ่นชุมชนฟรีสำหรับการใช้งานที่เป็นธรรม การตั้งค่าบัญชีเริ่มต้นด้วยการเลือกคลัสเตอร์ภูมิภาคคลิกที่นี่เพื่อเริ่มต้นใช้งาน
หลังจากตั้งค่าบัญชีของคุณไปที่คอนโซลของคุณและคลิก ไปที่แอปพลิเคชัน

รูปที่ 10. การตั้งค่าแอปพลิเคชัน
คลิกปุ่ม สร้างแอปพลิเคชัน และทำตามคำแนะนำเพื่อสร้างแอปพลิเคชัน

รูปที่ 11 สร้างแอปพลิเคชัน
คลิกที่ Payload Formatters จากนั้นบน อัปลิงค์

รูปที่ 12. แอปพลิเคชันอัปลิงค์รูปแบบเพย์โหลดฟอร์แมต
ภายใต้ประเภทการตั้งค่า Formatter*ให้เลือก Formatter JavaScript ที่กำหนดเอง

รูปที่ 13. เลือก Formatter JavaScript ที่กำหนดเอง
แทนที่ฟังก์ชั่น decodeUplink เริ่มต้นด้วยตัวอย่างต่อไปนี้:
function decodeUplink ( input ) {
var data = { } ;
data . temp = input . bytes [ 0 ] ;
data . humidity = input . bytes [ 1 ] ;
data . moisture = input . bytes [ 2 ] ;
data . pressure = ( input . bytes [ 3 ] + 900 ) ;
return {
data : data
} ;
}รูปที่ 14. ถอดรหัสข้อมูลตัวอย่างรหัสอัปลิงค์
คลิกบันทึกและกลับไปที่หน้าภาพรวม
จากหน้าภาพรวมแอปพลิเคชันคลิกที่ปุ่ม อุปกรณ์ลงทะเบียน End Device

รูปที่ 15. การลงทะเบียนอุปกรณ์ปลายทางสำหรับ OTAA
ในการลงทะเบียนอุปกรณ์จำเป็นต้องมีรายละเอียดเล็กน้อยจากโมดูล เปิดไฟล์ application.c อีกครั้งและเปลี่ยนสถานะเพื่อลงทะเบียน

รูปที่ 16. การเปลี่ยนสถานะเพื่อลงทะเบียน
เริ่มต้น Data Visualizer และสร้างและตั้งโปรแกรมอุปกรณ์อีกครั้ง เมื่อโปรแกรมทำงานให้คัดลอก HWEUI และบันทึกข้อมูลจำเพาะ LORAWAN

รูปที่ 17. รายละเอียดอุปกรณ์สิ้นสุดใน Data Visualizer
กลับไปที่หน้าต่างอุปกรณ์ลงทะเบียน End บน TTN และเลือก Enter End Device เฉพาะเจาะจงด้วยตนเอง เลือกแผนความถี่ของคุณตามตำแหน่งของคุณและเลือกข้อกำหนด Lorawan ในส่วนข้อมูลการจัดเตรียมให้ป้อนศูนย์ทั้งหมดสำหรับฟิลด์ JoineUI จากนั้นคลิก ยืนยัน

รูปที่ 18. การลงทะเบียนอุปกรณ์ใหม่
วาง hweui ที่คุณคัดลอกก่อนหน้านี้ลงในฟิลด์ Deveui จากนั้นคลิก สร้าง เพื่อสร้าง appkey ใหม่

รูปที่ 19. สร้าง appkey ใหม่
ตอนนี้อุปกรณ์สิ้นสุดถูกสร้างขึ้นและจะต้องมีรูปแบบเพย์โหลด
วิธีที่เร็วที่สุดในการตั้งค่า Formatter คือการใช้ปุ่ม Paste Application Formatter คลิกที่ ปุ่ม Payload Formatters จากนั้นเลือกตัวเลือก Formatter JavaScript ที่กำหนดเองแล้วกด Formatter แอปพลิเคชันวาง

รูปที่ 20. วางแอปพลิเคชันฟอร์แมต
ใน TTN ให้เปิดหน้าภาพรวมอุปกรณ์สิ้นสุดมีสองฟิลด์ที่จะคัดลอกและวางลงในไฟล์ส่วนหัว RN2XX3 สำหรับโครงการ คลิก deveui และวางลงในฟิลด์ hweui ในคำจำกัดความ RN2xx3.h คัดลอกฟิลด์ appkey และวางลงในคำจำกัดความของ Appkey

รูปที่ 21. คัดลอก deveui และ appkey ไปยังคลิปบอร์ด

รูปที่ 22. อัปเดตคำจำกัดความของ hweui และ appkey
ตัวอย่างนี้สันนิษฐานว่าคุณมีเกตเวย์ TTN สาธารณะใกล้คุณหรือคุณได้ตั้งค่าด้วยตัวเอง การมีเกตเวย์ของคุณเองมีประโยชน์มากสำหรับการแก้ไขปัญหาหากคุณพบปัญหา หากคุณต้องการตั้งค่าเกตเวย์ของคุณเองสามารถพบคู่มือที่เป็นประโยชน์สองตัวได้ที่: Hackster Project และ Rak Developer Gateway
เมื่อคุณสามารถเข้าถึงเกตเวย์ให้ทำการทดสอบต่อโดยเปิดไฟล์ application.c อีกครั้งและเปลี่ยนสถานะกลับเป็น init

รูปที่ 23. เปลี่ยนกลับเป็น init
เริ่ม Data Visualizer อีกครั้งและตั้งโปรแกรมอุปกรณ์ใหม่

รูปที่ 24. เริ่มข้อมูล Data Visualizer
เมื่อแอปพลิเคชันเริ่มต้นโมดูลจะเริ่มต้น กดปุ่มเพื่อเริ่มขั้นตอนการเข้าร่วม TTN
การตั้งค่าแผนความถี่ช่องจะใช้เวลาประมาณสิบวินาทีในการดำเนินการให้เสร็จสมบูรณ์ หลังจากนั้นหากยอมรับคำขอเข้าร่วมอุปกรณ์จะส่งน้ำหนักบรรทุกครั้งแรก หากอุปกรณ์ไม่เชื่อมต่อคำแนะนำบางอย่างจะได้รับ ปัญหาทั่วไปอยู่ใกล้กับเกตเวย์คีย์ที่ไม่ถูกต้องหรือเกตเวย์อาจตัดการเชื่อมต่อชั่วคราว โดยปกติคุณควรเห็นเอาต์พุตเหมือนในรูปที่ 25

รูปที่ 25. เอาต์พุตเมื่อรับคำขอเข้าร่วม
สำหรับโครงการนี้โหนดจะส่งข้อมูลใหม่ทุกสามนาที วันละครั้งจะส่งข้อมูลเป็นน้ำหนักบรรทุกที่ได้รับการยืนยันเช่นเดียวกับในการส่งครั้งแรกนี้ ข้อความที่ได้รับการยืนยันต้องได้รับการตอบรับจากเครือข่าย แต่ยังใช้เวลาออกอากาศบนเกตเวย์และอายุการใช้งานแบตเตอรี่พิเศษสำหรับโหนด ดังนั้น 479 ข้อความต่อไปในแต่ละวันจะถูกส่งเป็นข้อความที่ไม่ได้รับการยืนยัน
โครงการนี้ส่งข้อความที่ได้รับการยืนยันทั้งหมดในพอร์ต 10 และข้อความที่ไม่ได้รับการยืนยันในพอร์ต 11 คุณสามารถดูได้ในรูปที่ 26 ด้านล่างแสดงหน้าต่างข้อมูลแอปพลิเคชัน Live หลังจากเข้าร่วมและส่งข้อความที่ได้รับการยืนยันเบื้องต้นโหนดจะส่งข้อความที่ไม่ได้รับการยืนยันไปยังแอปพลิเคชันทุกสามนาที

รูปที่ 26. ข้อความที่ยืนยันในพอร์ต 10 และข้อความที่ไม่ได้รับการยืนยันในพอร์ต 11
ตัวอย่างนี้แสดงวิธีการตั้งค่าโหนดปลาย Lorawan โดยใช้ AVR64DD32 ด้วยการคลิก Mikroe LR2 การคลิกสภาพอากาศของ Mikroe และเซ็นเซอร์ความชื้นในดินเพื่อแบ่งปันสภาพดินในระยะยาวโดยใช้พลังงานต่ำ