สารบัญ:

วิทยุ LoRa Ra-01 พร้อม STM32 และ ESP32: 11 ขั้นตอน
วิทยุ LoRa Ra-01 พร้อม STM32 และ ESP32: 11 ขั้นตอน

วีดีโอ: วิทยุ LoRa Ra-01 พร้อม STM32 และ ESP32: 11 ขั้นตอน

วีดีโอ: วิทยุ LoRa Ra-01 พร้อม STM32 และ ESP32: 11 ขั้นตอน
วีดีโอ: โปรเจค LoRa 433MHZ SX1278 + ESP32 วัดค่า pm 2.5 แบบไร้สาย 3 จุด ส่งค่าขึ้น Web Dashboard 2024, กรกฎาคม
Anonim
Image
Image
สาธิต
สาธิต

เนื่องจากหัวข้อนี้เป็นที่นิยมในหมู่ผู้ที่ติดตามโพสต์ของฉัน ฉันจึงตัดสินใจพูดเกี่ยวกับ LoRa วันนี้ อย่างไรก็ตาม ฉันจะพูดถึงเรื่องนี้ด้วยองค์ประกอบใหม่: คราวนี้โดยไม่ต้องใช้ ESP32 แต่จะใช้ STM32 แทน ฉันต้องการโพสต์เกี่ยวกับ STM32 เสมอ เนื่องจากประกอบด้วยไมโครคอนโทรลเลอร์ 32 บิตทั้งตระกูลที่ผลิตโดย STMicroelectronics ฉันมีเพื่อนหลายคนที่ใช้ชิปนี้นอกประเทศบราซิล พวกเขาสามารถยืนยันความสำเร็จของอุปกรณ์การผลิตในยุโรปนี้ได้ อันดับแรก ฉันจะแนะนำ STM32 และพูดคุยเกี่ยวกับโมดูล LoRa Ra-01 ด้วย นอกจากนี้ ฉันจะพูดถึงการเขียนโปรแกรม STM32 ใน Arduino IDE

วิดีโอนี้จะแสดงชุดพัฒนา STM32 ที่ไม่ได้มีไว้สำหรับการเขียนโปรแกรมใน Arduino แต่จะแสดงด้วยภาษา C หรือภาษาที่ใช้กับ STMicroelectronics ถ้าผมจำไม่ผิด มีบริษัทแปดแห่งที่ผลิตคอมไพเลอร์สำหรับ STM32 ซึ่งแสดงให้เราเห็นว่าชิปตัวนี้มีวัฒนธรรมระดับโลกมากมาย

ฉันต้องการอธิบายให้คุณฟังว่า STMicroelectronics นั้นใหญ่กว่าไมโครชิปอย่างน้อยสี่เท่า และผลิตตระกูล STM32 ประกอบด้วยสถาปัตยกรรมตั้งแต่ชิปขนาดเล็กมากไปจนถึง STM32 F7 ซึ่งฉันคิดว่า "ทรงพลังมาก"

ในการประกอบ เราใช้ STM32 Maple Mini ซึ่งดูเหมือน Arduino Nano อย่างไรก็ตามมันมีพลังมากกว่ามาก เราจะใช้ Ai-Thinker Ra-01 ด้วย มันแยกจากวิทยุ LoRa ซึ่งจะสื่อสารกับ STM32 ผ่าน SPI (การสื่อสารของชิป Semtech LoRa)

ขั้นตอนที่ 1: การสาธิต

ในวิดีโอของเรา คุณจะเห็นในชุดประกอบว่าเรามี STM32 Maple Mini ที่เชื่อมต่อผ่าน SPI กับโมดูล Ra-01 แอสเซมบลีนี้ส่งข้อมูลไปยัง ESP32 "อันเป็นที่รัก" ของเราซึ่งมีจอแสดงผล i2c แบบฝังที่แสดงแพ็คเกจ คุณจะเห็นได้ว่า ESP32 ใช้เวลาเพียง 81 มิลลิวินาทีในการเตรียม ส่ง และรับแพ็คเกจ เช่นเดียวกับการแสดงผลบนหน้าจอ หากระยะทางเพิ่มขึ้นและมีการเปลี่ยนแปลงในซอฟต์แวร์ เวลานี้มีแนวโน้มเพิ่มขึ้น

เป้าหมายของเราในการประกอบนี้คือการแสดง STM32 ซึ่งเป็นชิปตัวอื่น โดยส่งข้อมูลในวิทยุ Lora มาตรฐาน สิ่งสำคัญคือต้องจำไว้ว่ามีชิ้นส่วนฮาร์ดแวร์สองชิ้นที่คุยกันผ่านโปรโตคอลวิทยุ LoRa

ขั้นตอนที่ 2: โมดูล LoRa Ra-01

โมดูล LoRa Ra-01
โมดูล LoRa Ra-01

โดยพื้นฐานแล้ว เรามีชิป Semtech LoRa พร้อมส่วนประกอบที่ไม่ต่อเนื่องบนบอร์ด รวมถึงเอาต์พุตเสาอากาศ อินเทอร์เฟซคือ SPI ในตอนนี้ เราต้องตั้งคำถามเรื่องความเร็วของชิปซึ่งอยู่ที่ 300Kbps ขึ้นไป เรารู้ว่า LoRa ไม่ทำงานที่ความเร็วนี้ เนื่องจากหมุนได้ที่ 37K หรือน้อยกว่าเท่านั้น ทำไม? หากต้องการไปให้ไกล คุณต้องลดอัตราบิตลง สิ่งสำคัญคือต้องจำไว้ว่าความเร็วไม่ได้เป็นปัญหาของ LoRa แต่เป็นเรื่องของขอบเขต ความถี่ของอุปกรณ์นี้คือ 433MHz และกำลังส่งอยู่ที่ประมาณ 18 dBm ด้วยกำลัง 3v3

ขั้นตอนที่ 3: Maple Mini

เมเปิ้ล มินิ
เมเปิ้ล มินิ

ฉันพิจารณาเรื่องนี้เป็นพิเศษเกี่ยวกับ STM32 อะไรคือความแตกต่างระหว่างชุดเครื่องมือนี้กับชุดพัฒนา STMicroelectronics (พลังงานต่ำพิเศษ STM32 L4 ซีรี่ส์) ชุดนี้มีประสิทธิภาพมากกว่า แต่ Maple Mini ใช้งานได้กับ Arduino IDE ซึ่งทำให้ง่ายขึ้นมากสำหรับผู้ที่ไม่มีความรู้เกี่ยวกับการเขียนโปรแกรม เราสามารถพูดได้ว่า Maple Mini ทำงานเหมือนกับ Arduino ชนิดหนึ่งที่มีแฟลชขนาด 128 KB Maple Mini ยังมี RAM ขนาด 20 KB, อินพุต USB, ไฟ LED, ปุ่ม, ไฮไลท์สำหรับ IO 34 ตัว, PWM 16 บิต 12 ตัว และอินพุตอะนาล็อก 12 บิต 9 ตัว

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

ปักหมุด
ปักหมุด

ที่นี่คือ Maple Mini Pinout

ขั้นตอนที่ 5: ติดตั้งการสนับสนุนสำหรับการ์ด ARM 32 บิต

ติดตั้งการสนับสนุนสำหรับการ์ด ARM 32 บิต
ติดตั้งการสนับสนุนสำหรับการ์ด ARM 32 บิต

ใน Arduino IDE ให้ไปที่ Tools-> Board-> Board Manager …

ในหน้าต่างที่เปิดขึ้น ให้ค้นหา Arduino SAM Boards และติดตั้ง Arduino SAM Boards (32-bit ARM Cortex-M3)

ขั้นตอนที่ 6: ห้องสมุดลอร่า

ห้องสมุดลอร่า
ห้องสมุดลอร่า

ตอนนี้ไปที่ Sketch-> Include Library-> Manage Libraries …

ค้นหา LoRa และติดตั้ง LoRa โดย Sandeep Mistry

ขั้นตอนที่ 7: SMT32 Arduino

SMT32 Arduino
SMT32 Arduino

ดาวน์โหลด zip ได้ที่

เปิดเครื่องรูดและคัดลอกโฟลเดอร์ไปยังเอกสาร / Arduino / hardware

ขั้นตอนที่ 8: การประกอบ

การประกอบ
การประกอบ

คุณจะเห็นว่ารูปแบบของเราเรียบง่ายเพียงใด ฉันเชื่อมต่อผ่าน SPI โมดูล Ai-Thinker (LoRa) กับ STM32

ขั้นตอนที่ 9: การตั้งค่า

การตั้งค่า
การตั้งค่า

หลังจากดาวน์โหลดแหล่งที่มา

โค้ดที่มีอยู่ในส่วนท้ายของบทความนี้ จากนั้นไปที่บิลด์ จากนั้นทำตามขั้นตอนในภาพนี้

ขั้นตอนที่ 10: รหัสตาม ESP32 LoRa ส่งและรับวิดีโอ

รหัสตาม ESP32 LoRa ส่งและรับวิดีโอ
รหัสตาม ESP32 LoRa ส่งและรับวิดีโอ

ซอร์สโค้ดที่เราใช้ในโครงการนี้เหมือนกับที่เราเคยใช้ในแอสเซมบลีกับ ESP32 ในวิดีโอ: ESP32 LoRa พร้อม Arduino IDE: ส่งและรับ TX RX โดยมีข้อยกเว้นประการหนึ่ง: ไม่มีจอแสดงผล ส่วนนี้ของ i2C ถูกลบออกจากโค้ดที่ฉันดาวน์โหลดด้านล่างแล้ว หากต้องการทราบว่าโค้ดนี้ทำงานอย่างไร ให้ดูวิดีโอ

ขั้นตอนที่ 11: ไฟล์

ดาวน์โหลดไฟล์:

ไฟล์ PDF

ฉันไม่

แนะนำ: