สารบัญ:

ตัววิเคราะห์ RF433: 7 ขั้นตอน
ตัววิเคราะห์ RF433: 7 ขั้นตอน

วีดีโอ: ตัววิเคราะห์ RF433: 7 ขั้นตอน

วีดีโอ: ตัววิเคราะห์ RF433: 7 ขั้นตอน
วีดีโอ: (RF433 part2) รีโมทไร้สาย RF 433MHz แบบชนิด NO NC 2024, กรกฎาคม
Anonim
ตัววิเคราะห์ RF433
ตัววิเคราะห์ RF433
ตัววิเคราะห์ RF433
ตัววิเคราะห์ RF433

คำแนะนำนี้สร้างเครื่องมือวัดเพื่อช่วยวิเคราะห์การส่งสัญญาณ RF 433MHz ซึ่งมักใช้สำหรับการสื่อสารระยะไกลที่ใช้พลังงานต่ำในระบบอัตโนมัติภายในบ้านและเซ็นเซอร์ มันอาจจะปรับเปลี่ยนการทำงานการส่งสัญญาณ 315MHz ที่ใช้ในบางประเทศได้อย่างง่ายดาย นี่จะเป็นการใช้ RXB6 รุ่น 315MHz แทนรุ่น 433MHz ปัจจุบัน

วัตถุประสงค์ของเครื่องมือนี้คือสองเท่า ประการแรก มีเครื่องวัดความแรงของสัญญาณ (RSSI) ซึ่งสามารถใช้ตรวจสอบความครอบคลุมรอบสถานที่ให้บริการและค้นหาจุดดำใดๆ ประการที่สอง สามารถบันทึกข้อมูลที่สะอาดจากเครื่องส่งสัญญาณ เพื่อให้การวิเคราะห์ข้อมูลและโปรโตคอลที่ใช้โดยอุปกรณ์ต่างๆ ง่ายขึ้น สิ่งนี้มีประโยชน์หากพยายามออกแบบส่วนเสริมที่เข้ากันได้กับหน่วยที่มีอยู่ โดยปกติการดักจับข้อมูลจะซับซ้อนโดยเสียงรบกวนจากพื้นหลังในเครื่องรับ ซึ่งทำให้เกิดทรานซิชันปลอมจำนวนมาก และทำให้ยากต่อการค้นหาการส่งสัญญาณที่แท้จริง

เครื่องนี้ใช้เครื่องรับ superhet RXB6 ใช้ชิปตัวรับ Synoxo-SYN500R ซึ่งมีเอาต์พุตแบบอะนาล็อก RSSI นี่เป็นเวอร์ชันบัฟเฟอร์ของสัญญาณ AGC ที่ใช้ควบคุมอัตราขยายของเครื่องรับและให้ความแรงของสัญญาณในช่วงกว้าง

เครื่องรับถูกตรวจสอบโดยโมดูล ESP8266 (ESP-12F) ซึ่งแปลงสัญญาณ RSSI นอกจากนี้ยังขับเคลื่อนจอแสดงผล OLED ในพื้นที่ขนาดเล็ก (SSD1306) อุปกรณ์อิเล็กทรอนิกส์ยังสามารถบันทึกข้อมูลเวลาในการเปลี่ยนข้อมูลได้

การจับภาพสามารถทริกเกอร์ได้ภายในเครื่องโดยปุ่มบนตัวเครื่อง ข้อมูลที่บันทึกไว้จะถูกบันทึกลงในไฟล์เพื่อการวิเคราะห์ในภายหลัง

โมดูล ESP12 เรียกใช้เว็บเซิร์ฟเวอร์เพื่อให้สามารถเข้าถึงไฟล์ได้ และอาจมีการเรียกใช้การดักจับจากที่นี่

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

ขั้นตอนที่ 1: ส่วนประกอบและเครื่องมือที่จำเป็น

โน๊ตสำคัญ:

ฉันพบว่าเครื่องรับ RXB6 433Mhz บางตัวมีเอาต์พุต RSSI ที่ไม่ทำงานแม้ว่า AGC และฟังก์ชันที่เหลือก็ใช้ได้ ฉันสงสัยว่าอาจมีการใช้ชิป Syn500R โคลนบางตัว ฉันพบว่าเครื่องรับที่มีป้ายกำกับว่า WL301-341 ใช้ชิปที่เข้ากันได้กับ Syn5500R และ RSSI ใช้งานได้ พวกเขายังมีข้อดีของการไม่ใช้การคัดกรองทำให้ตัวเก็บประจุ AGC ปรับเปลี่ยนได้ง่ายขึ้น ฉันอยากจะแนะนำให้ใช้หน่วยเหล่านี้

ส่วนประกอบต่อไปนี้มีความจำเป็น

โมดูล wifi ESP-12F

  • ตัวควบคุม 3.3V xc6203
  • ตัวเก็บประจุ 220uF 6V
  • ไดโอด schottky 2 ตัว
  • ปุ่มกด 6 มม.
  • n ช่อง MOSFET เช่น AO3400
  • p ช่อง MOSFET เช่น AO3401
  • ตัวต้านทาน 2x4k7, 3 x 100K, 1 x 470K
  • กระดานต้นแบบชิ้นเล็ก
  • RXB6 หรือ WL301-341 superhet 433MHz เครื่องรับ
  • SSD1306 0.96 จอแสดงผล OLED (รุ่น SPI สีเดียว)
  • แบตเตอรี่ LIPO 802030 400mAh
  • ขั้วต่อ 3 ขาสำหรับชาร์จ
  • ต่อสายไฟ
  • ลวดทองแดงเคลือบฟลักซ์ตัวเอง
  • อีพอกซีเรซิน
  • เทปสองหน้า
  • ตู้พิมพ์ 3 มิติ

เครื่องมือที่จำเป็น

  • หัวแร้งหัวแร้ง
  • Desolder ถักเปีย
  • แหนบ
  • คีม

ขั้นตอนที่ 2: แผนผัง

แผนผัง
แผนผัง

วงจรค่อนข้างตรงไปตรงมา

ตัวควบคุม LDO 3.3V จะแปลง LIP เป็น 3.3V ที่จำเป็นสำหรับโมดูล ESP-12F

จ่ายไฟให้กับทั้งจอแสดงผลและตัวรับสัญญาณผ่าน MOSFETS แบบสวิตช์สองตัว ดังนั้นจึงปิดเมื่อโมดูล ESP อยู่ในโหมดสลีป

ปุ่มเริ่มต้นระบบโดยจ่าย 3.3V ให้กับอินพุต EN ของ ESP8266 จากนั้น GPIO5 จะรักษาสิ่งนี้ไว้ในขณะที่โมดูลทำงานอยู่ ปุ่มยังได้รับการตรวจสอบโดยใช้ GPIO12 เมื่อปล่อย GPIO5 แล้ว EN จะถูกลบออกและเครื่องจะปิดลง

สายข้อมูลจากเครื่องรับถูกตรวจสอบโดย GPIO4 สัญญาณ RSSI ถูกตรวจสอบโดย AGC ผ่านตัวแบ่งศักย์ 2:1

จอแสดงผล SSD1306 ถูกควบคุมผ่าน SPI ซึ่งประกอบด้วยสัญญาณ GPIO 5 ตัว อาจใช้เวอร์ชัน I2C ได้ แต่จะต้องเปลี่ยนไลบรารีที่ใช้และทำการแมป GPIO บางส่วนใหม่

ขั้นตอนที่ 3: การปรับเปลี่ยนตัวรับ

การปรับเปลี่ยนตัวรับสัญญาณ
การปรับเปลี่ยนตัวรับสัญญาณ
การปรับเปลี่ยนตัวรับสัญญาณ
การปรับเปลี่ยนตัวรับสัญญาณ
การปรับเปลี่ยนตัวรับสัญญาณ
การปรับเปลี่ยนตัวรับสัญญาณ

ตามที่ให้มา RXB6 ไม่ได้ทำให้สัญญาณ RSSI พร้อมใช้งานบนพินข้อมูลภายนอก

การปรับเปลี่ยนอย่างง่ายทำให้สิ่งนี้เป็นไปได้ ขั้วต่อสัญญาณ DER บนตัวเครื่องเป็นเพียงการทำซ้ำของสัญญาณสัญญาณข้อมูลเท่านั้น พวกมันต่อเข้าด้วยกันผ่านตัวต้านทาน 0 โอห์มที่ติดป้าย R6 ต้องลบออกโดยใช้หัวแร้ง ตอนนี้ส่วนประกอบที่ชื่อ R7 จะต้องถูกเชื่อมโยงข้าม ปลายบนสุดคือสัญญาณ RSSI และด้านล่างจะไปที่ตัวเชื่อมต่อ DER สามารถใช้ตัวต้านทาน 0 โอห์มได้ แต่ฉันเพิ่งเชื่อมโยงด้วยลวดเล็กน้อย ตำแหน่งเหล่านี้สามารถเข้าถึงได้นอกกระป๋องกรองโลหะซึ่งไม่จำเป็นต้องถอดออกสำหรับการดัดแปลงนี้

การดัดแปลงสามารถทดสอบได้โดยติดโวลต์มิเตอร์ข้าม DER และ GND โดยที่เครื่องรับเปิดเครื่อง โดยจะแสดงแรงดันไฟฟ้าระหว่างประมาณ 0.4V (ไม่มีกำลังรับ) และประมาณ 1.8V พร้อมแหล่งสัญญาณในพื้นที่ 433MHz (เช่น รีโมทคอนโทรล)

การปรับเปลี่ยนครั้งที่สองไม่จำเป็นอย่างยิ่ง แต่เป็นที่ต้องการอย่างยิ่ง ตามที่ระบุ เวลาตอบสนอง AGC ของเครื่องรับถูกตั้งค่าให้ค่อนข้างช้าโดยใช้เวลาหลายร้อยมิลลิวินาทีในการตอบสนองต่อสัญญาณที่ได้รับ ซึ่งจะช่วยลดความละเอียดของเวลาในระหว่างการดักจับ RSSI และยังทำให้ตอบสนองน้อยลงในการใช้ RSSI เป็นตัวกระตุ้นสำหรับการดักจับข้อมูล

มีตัวเก็บประจุตัวเดียวที่ควบคุมเวลาตอบสนอง AGC แต่น่าเสียดายที่มันอยู่ใต้กระป๋องกรองโลหะ อันที่จริงมันค่อนข้างง่ายที่จะถอดตะแกรงกรองออก เนื่องจากมันถือไว้ด้วย 3 lugs และสามารถให้รางวัลได้โดยการให้ความร้อนแต่ละอันสลับกันและยกขึ้นด้วยไขควงขนาดเล็ก เมื่อถอดออกแล้วสามารถทำความสะอาดรูเพื่อประกอบใหม่ได้โดยใช้สายถักที่บัดกรีแล้วหรือเจาะใหม่ด้วยบิตประมาณ 0.8 มม.

การปรับเปลี่ยนคือการลบตัวเก็บประจุ AGC C4 ที่มีอยู่และแทนที่ด้วยตัวเก็บประจุ 0.22uF ซึ่งจะทำให้การตอบสนอง AGC เร็วขึ้นประมาณ 10 เท่า ไม่มีผลเสียต่อประสิทธิภาพของผู้รับ ในภาพ ฉันแสดงแทร็กคัตและลิงก์ผ่านไปยังแทร็กนี้จากตัวเก็บประจุ AGC ไม่จำเป็น แต่ทำให้จุด AGC พร้อมใช้งานบนแผ่นรองด้านนอกกระป๋องกรองใต้คริสตัล ในกรณีที่ต้องการเพิ่มความจุกลับเข้าไปอีก ฉันไม่จำเป็นต้องทำเช่นนั้น จากนั้นจึงเปลี่ยนการตรวจคัดกรองได้

หากใช้หน่วย WL301-341 RX รูปภาพจะแสดงสิ่งนี้โดยเน้นที่ตัวเก็บประจุ AGC พินสัญญาณ RSSI ก็แสดงเช่นกัน สิ่งนี้ไม่ได้เชื่อมโยงกับสิ่งใดเลย หนึ่งสามารถเชื่อมต่อลวดละเอียดเข้ากับขาได้โดยตรง อีกทางหนึ่งมีหมุดจัมเปอร์กลางสองตัวเชื่อมต่อกันและทั้งคู่มีเอาต์พุตข้อมูล สามารถตัดรอยแยกระหว่างกัน จากนั้น RSSI ที่เชื่อมโยงผ่านไปยังตัวสำรองเพื่อให้สัญญาณ RSSI พร้อมใช้งานบนเอาต์พุตของจัมเปอร์

ขั้นตอนที่ 4: การก่อสร้าง

การก่อสร้าง
การก่อสร้าง
การก่อสร้าง
การก่อสร้าง
การก่อสร้าง
การก่อสร้าง
การก่อสร้าง
การก่อสร้าง

มีส่วนประกอบประมาณ 10 ชิ้นที่จำเป็นต้องใช้นอกโมดูล ESP-12 สิ่งเหล่านี้สามารถประกอบและเชื่อมต่อกับชิ้นส่วนของบอร์ดต้นแบบ ฉันใช้บอร์ดสร้างต้นแบบเฉพาะของ ESP ที่ฉันใช้เพื่ออำนวยความสะดวกในการติดตั้งตัวควบคุมและส่วนประกอบ smd อื่นๆ สิ่งนี้ติดโดยตรงที่ด้านบนของโมดูล ESP-12

กล่องที่ฉันใช้คือการออกแบบที่พิมพ์ 3 มิติโดยมีการเยื้อง 3 จุดที่ฐานเพื่อใช้ตัวรับ จอแสดงผล และโมดูล esp มีคัตเอาท์สำหรับจอแสดงผลและรูสำหรับจุดชาร์จและปุ่มกด ซึ่งควรใส่และยึดด้วยพอกซีเรซินจำนวนเล็กน้อย

ฉันใช้สายเบ็ดเพื่อเชื่อมต่อระหว่าง 3 โมดูล จุดชาร์จ และปุ่มต่างๆ จากนั้นยึดให้เข้าที่โดยใช้เทปสองด้านสำหรับ ESP และตัวรับสัญญาณ และอีพ็อกซี่หยดเล็กๆ เพื่อยึดด้านข้างของจอแสดงผลให้เข้าที่ แบตเตอรี่ต่อเข้ากับจุดชาร์จและติดตั้งที่ด้านบนของตัวรับสัญญาณโดยใช้เทปกาวสองหน้า

ขั้นตอนที่ 5: ซอฟต์แวร์และการกำหนดค่า

ซอฟต์แวร์ถูกสร้างขึ้นในสภาพแวดล้อม Arduino

ซอร์สโค้ดสำหรับสิ่งนี้อยู่ที่ https://github.com/roberttidey/RF433Analyser รหัสสามารถมีค่าคงที่บางอย่างสำหรับการเปลี่ยนรหัสผ่านเพื่อความปลอดภัยก่อนที่จะคอมไพล์และแฟลชไปยังอุปกรณ์ ES8266

  • WM_PASSWORD กำหนดรหัสผ่านที่ใช้โดย wifiManager เมื่อกำหนดค่าอุปกรณ์บนเครือข่าย wifi ในพื้นที่
  • update_password กำหนดรหัสผ่านที่ใช้เพื่ออนุญาตการอัปเดตเฟิร์มแวร์

เมื่อใช้ครั้งแรก อุปกรณ์จะเข้าสู่โหมดกำหนดค่า wifi ใช้โทรศัพท์หรือแท็บเล็ตเพื่อเชื่อมต่อกับจุดเข้าใช้งานที่อุปกรณ์ตั้งค่าไว้ จากนั้นไปที่ 192.168.4.1 จากที่นี่ คุณสามารถเลือกเครือข่าย wifi ในพื้นที่และป้อนรหัสผ่าน ต้องทำเพียงครั้งเดียวหรือหากเปลี่ยนเครือข่าย wifi หรือรหัสผ่าน

เมื่ออุปกรณ์เชื่อมต่อกับเครือข่ายท้องถิ่นแล้ว อุปกรณ์จะฟังคำสั่ง สมมติว่าที่อยู่ IP ของมันคือ 192.168.0.100 จากนั้นใช้ 192.168.0.100:AP_PORT/upload ก่อนเพื่ออัปโหลดไฟล์ในโฟลเดอร์ข้อมูล ซึ่งจะทำให้ 192.168.0.100/edit ดูและอัปโหลดไฟล์เพิ่มเติมได้ และยังอนุญาตให้ 192.168.0.100 เข้าถึงอินเทอร์เฟซผู้ใช้ได้อีกด้วย

จุดที่ควรทราบในซอฟต์แวร์คือ

  • สามารถสอบเทียบ ADC ใน ESP8266 เพื่อปรับปรุงความแม่นยำได้ สตริงในไฟล์กำหนดค่าจะตั้งค่าดิบที่ได้รับสำหรับแรงดันไฟฟ้าขาเข้าสองค่า สิ่งนี้ไม่สำคัญโดยเฉพาะอย่างยิ่งเนื่องจาก RSSI เป็นสัญญาณที่ค่อนข้างสัมพันธ์กันขึ้นอยู่กับเสาอากาศ ฯลฯ
  • แรงดัน RSSI เป็น db เป็นเส้นตรงพอสมควร แต่โค้งสุดขั้ว ซอฟต์แวร์มีกำลังลูกบาศก์พอดีเพื่อปรับปรุงความแม่นยำ
  • เลขคณิตส่วนใหญ่ใช้เลขจำนวนเต็มที่มีมาตราส่วน ดังนั้นค่า RSSI จึงเป็น 100 เท่าของค่าจริง ค่าที่เขียนลงในไฟล์หรือแสดงจะถูกแปลงกลับ
  • ซอฟต์แวร์ใช้เครื่องสถานะอย่างง่ายเพื่อควบคุมการดักจับ RSSI และการเปลี่ยนข้อมูล
  • การเปลี่ยนข้อมูลจะได้รับการตรวจสอบโดยใช้รูทีนบริการขัดจังหวะ การประมวลผลลูป Arduino ปกติถูกระงับระหว่างการเก็บข้อมูลและสุนัขเฝ้าบ้านยังคงมีชีวิตอยู่ในเครื่อง นี่คือการพยายามปรับปรุงเวลาแฝงในการขัดจังหวะเพื่อให้การวัดเวลามีความเที่ยงตรงมากที่สุด

การกำหนดค่า

สิ่งนี้ถูกเก็บไว้ใน esp433Config.txt

สำหรับการดักจับ RSSI สามารถตั้งค่าช่วงเวลาและระยะเวลาการสุ่มตัวอย่างได้

สำหรับการบันทึกข้อมูล ระดับทริกเกอร์ RSSI สามารถตั้งค่าจำนวนการเปลี่ยนและระยะเวลาสูงสุดได้ ระดับทริกเกอร์ที่เหมาะสมคือประมาณ +20dB บนพื้นหลังไม่มีระดับสัญญาณ สตริง pulseWidths ยังช่วยให้จัดหมวดหมู่ความกว้างพัลส์อย่างง่ายเพื่อให้การวิเคราะห์ง่ายขึ้น แต่ละบรรทัดที่บันทึกไว้มี pulseLevel ความกว้างเป็นไมโครวินาที และรหัสซึ่งเป็นดัชนีในสตริง pulseWidths ซึ่งมากกว่าความกว้างที่วัดได้

CalString สามารถปรับปรุงความแม่นยำของ ADC ได้

idleTimeout ควบคุมจำนวนมิลลิวินาทีของการไม่ใช้งาน (ไม่มีการจับภาพ) ก่อนที่อุปกรณ์จะปิดโดยอัตโนมัติ การตั้งค่าเป็น 0 หมายความว่าจะไม่หมดเวลา

การตั้งค่าปุ่มสามปุ่มจะควบคุมความแตกต่างของการกดปุ่มแบบสั้นและแบบยาว

displayUpdate ให้ช่วงเวลารีเฟรชการแสดงผลในเครื่อง

ขั้นตอนที่ 6: การใช้งาน

เครื่องจะเปิดขึ้นโดยการกดปุ่มเป็นเวลาสั้นๆ

การแสดงผลในขั้นต้นจะแสดงที่อยู่ IP ในเครื่องเป็นเวลาสองสามวินาทีก่อนที่จะเริ่มแสดงระดับ RSSI แบบเรียลไทม์

การกดปุ่มสั้นๆ จะเป็นการเริ่มต้นการดักจับ RSSI ไปยังไฟล์ โดยปกติการดำเนินการนี้จะสิ้นสุดลงเมื่อระยะเวลา RSSI สิ้นสุดลง แต่การกดปุ่มสั้นๆ เพิ่มเติมจะยุติการจับภาพด้วย

การกดปุ่มกลางจะเริ่มต้นการบันทึกการเปลี่ยนแปลงข้อมูล หน้าจอจะแสดงการรอทริกเกอร์ เมื่อ RSSI สูงกว่าระดับทริกเกอร์ จะเริ่มบันทึกการเปลี่ยนข้อมูลตามกำหนดเวลาสำหรับจำนวนการเปลี่ยนที่ระบุ

การกดปุ่มค้างไว้นานกว่าระยะเวลานานของปุ่มจะเป็นการปิดเครื่อง

คำสั่งจับภาพสามารถเริ่มต้นได้จากเว็บอินเตอร์เฟส

ขั้นตอนที่ 7: เว็บอินเตอร์เฟส

เว็บอินเตอร์เฟส
เว็บอินเตอร์เฟส
เว็บอินเตอร์เฟส
เว็บอินเตอร์เฟส

การเข้าถึงอุปกรณ์โดยใช้ที่อยู่ IP จะแสดงอินเทอร์เฟซเว็บที่มี 3 แท็บ การจับภาพ สถานะและการกำหนดค่า

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

นอกจากนี้ยังมีปุ่มดักจับ RSSI และปุ่มดักจับข้อมูล ซึ่งอาจใช้เพื่อเริ่มการดักจับ หากระบุชื่อไฟล์ ระบบจะใช้ชื่อดังกล่าว มิฉะนั้น ระบบจะสร้างชื่อเริ่มต้นขึ้น

แท็บการกำหนดค่าจะแสดงการกำหนดค่าปัจจุบันและอนุญาตให้เปลี่ยนและบันทึกค่า svalue

เว็บอินเตอร์เฟสรองรับการโทรต่อไปนี้

/แก้ไข - เข้าถึงระบบการจัดเก็บอุปกรณ์; อาจใช้ดาวน์โหลดไฟล์วัดต่างๆ ได้

  • /status - ส่งคืนสตริงที่มีรายละเอียดสถานะ
  • /loadconfig -ส่งคืนสตริงที่มีรายละเอียดการกำหนดค่า
  • /saveconfig - ส่งและบันทึกสตริงเพื่ออัปเดต config
  • /loadcapture - ส่งคืนสตริงที่มีการวัดจากไฟล์
  • /setmeasureindex - เปลี่ยนดัชนีที่จะใช้สำหรับการวัดครั้งต่อไป
  • /getcapturefiles - รับสตริงพร้อมรายการไฟล์หน่วยวัดที่มีอยู่
  • /capture - ทริกเกอร์การดักจับ RSSI หรือ data
  • / firmware - เริ่มการอัพเดตเฟิร์มแวร์

แนะนำ: