สารบัญ:
- ขั้นตอนที่ 1: การสาธิต
- ขั้นตอนที่ 2: โมดูล LoRa Ra-01
- ขั้นตอนที่ 3: Maple Mini
- ขั้นตอนที่ 4: การตรึง
- ขั้นตอนที่ 5: ติดตั้งการสนับสนุนสำหรับการ์ด ARM 32 บิต
- ขั้นตอนที่ 6: ห้องสมุดลอร่า
- ขั้นตอนที่ 7: SMT32 Arduino
- ขั้นตอนที่ 8: การประกอบ
- ขั้นตอนที่ 9: การตั้งค่า
- ขั้นตอนที่ 10: รหัสตาม ESP32 LoRa ส่งและรับวิดีโอ
- ขั้นตอนที่ 11: ไฟล์
วีดีโอ: วิทยุ LoRa Ra-01 พร้อม STM32 และ ESP32: 11 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
เนื่องจากหัวข้อนี้เป็นที่นิยมในหมู่ผู้ที่ติดตามโพสต์ของฉัน ฉันจึงตัดสินใจพูดเกี่ยวกับ 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
โดยพื้นฐานแล้ว เรามีชิป 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 บิต
ใน 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
ดาวน์โหลด zip ได้ที่
เปิดเครื่องรูดและคัดลอกโฟลเดอร์ไปยังเอกสาร / Arduino / hardware
ขั้นตอนที่ 8: การประกอบ
คุณจะเห็นว่ารูปแบบของเราเรียบง่ายเพียงใด ฉันเชื่อมต่อผ่าน SPI โมดูล Ai-Thinker (LoRa) กับ STM32
ขั้นตอนที่ 9: การตั้งค่า
หลังจากดาวน์โหลดแหล่งที่มา
โค้ดที่มีอยู่ในส่วนท้ายของบทความนี้ จากนั้นไปที่บิลด์ จากนั้นทำตามขั้นตอนในภาพนี้
ขั้นตอนที่ 10: รหัสตาม ESP32 LoRa ส่งและรับวิดีโอ
ซอร์สโค้ดที่เราใช้ในโครงการนี้เหมือนกับที่เราเคยใช้ในแอสเซมบลีกับ ESP32 ในวิดีโอ: ESP32 LoRa พร้อม Arduino IDE: ส่งและรับ TX RX โดยมีข้อยกเว้นประการหนึ่ง: ไม่มีจอแสดงผล ส่วนนี้ของ i2C ถูกลบออกจากโค้ดที่ฉันดาวน์โหลดด้านล่างแล้ว หากต้องการทราบว่าโค้ดนี้ทำงานอย่างไร ให้ดูวิดีโอ
ขั้นตอนที่ 11: ไฟล์
ดาวน์โหลดไฟล์:
ไฟล์ PDF
ฉันไม่
แนะนำ:
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: 3 ขั้นตอน
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: เป็นโปรเจ็กต์เครื่องรับย่านความถี่ทั้งหมด ใช้ห้องสมุด Arduino Si4734 ห้องสมุดนี้มีตัวอย่างมากกว่า 20 ตัวอย่าง คุณสามารถฟัง FM ด้วย RDS สถานี AM (MW) ในพื้นที่ SW และสถานีวิทยุสมัครเล่น (SSB) เอกสารทั้งหมดที่นี่
อินเทอร์เฟซ ESP32 พร้อม SSD1306 Oled พร้อม MicroPython: 5 ขั้นตอน
อินเทอร์เฟซ ESP32 พร้อม SSD1306 Oled พร้อม MicroPython: Micropython เป็นการเพิ่มประสิทธิภาพของ python และมีขนาดเล็กของ python ซึ่งหมายถึงการสร้างสำหรับอุปกรณ์ฝังตัวซึ่งมีข้อจำกัดด้านหน่วยความจำและใช้พลังงานต่ำ Micropython สามารถใช้ได้กับคอนโทรลเลอร์หลายตระกูล ซึ่งรวมถึง ESP8266, ESP32, Ardui
PWM พร้อม ESP32 - Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: 6 ขั้นตอน
PWM พร้อม ESP32 | Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: ในคำแนะนำนี้เราจะดูวิธีสร้างสัญญาณ PWM ด้วย ESP32 โดยใช้ Arduino IDE & โดยทั่วไปแล้ว PWM จะใช้เพื่อสร้างเอาต์พุตแอนะล็อกจาก MCU ใดๆ และเอาต์พุตแอนะล็อกนั้นอาจเป็นอะไรก็ได้ระหว่าง 0V ถึง 3.3V (ในกรณีของ esp32) & จาก
วิทยุ FM พร้อม RDS (ข้อความวิทยุ) การควบคุม BT และฐานการชาร์จ: 5 ขั้นตอน
วิทยุ FM พร้อม RDS (ข้อความวิทยุ) การควบคุม BT และฐานการชาร์จ: Bonjour นี่คือ "คำแนะนำ"ที่สองของฉัน เนื่องจากฉันชอบทำสิ่งที่ไม่ค่อยมีประโยชน์ นี่คือโครงการสุดท้ายของฉัน: นี่คือวิทยุ FM พร้อมข้อความวิทยุ ฐานชาร์จซึ่งสามารถตรวจสอบได้ผ่าน Bluetooth และ Android APP ดังนั้นฉันจะ
ESP8266 และ ESP32 พร้อม WiFiManager: 10 ขั้นตอน
ESP8266 และ ESP32 ด้วย WiFiManager: คุณคุ้นเคยกับ WiFiManager หรือไม่? เป็นไลบรารีที่ทำหน้าที่เป็นตัวจัดการการเชื่อมต่อแบบไร้สาย และด้วยเหตุนี้ เราจึงมีวิธีที่ง่ายกว่าในการกำหนดค่าทั้งจุดเข้าใช้งานและสถานี ฉันได้รับข้อเสนอแนะหลายข้อเพื่อหารือเกี่ยวกับเรื่องนี้ ดังนั้น