สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
วันก่อนฉันต้องการตรวจสอบ AVR ของฉัน แต่ฉันอยู่ชั้นบนและพระเจ้ารู้ว่ามันเป็นความยุ่งยากมากเกินไปที่จะลงไปที่ไมโครคอนโทรลเลอร์ แต่มีคอมพิวเตอร์ว่างสองเครื่องนั่งอยู่ที่ชั้นบนถัดจากก้นขี้เกียจของฉัน ดังนั้นฉันจึงหยุดงานครึ่งวันและตัดสินใจเขียนแอปพลิเคชันที่ผูกสองพอร์ต: พอร์ตอนุกรมเพื่อเชื่อมต่อกับ Arduino/AVR และ TCP/IP พอร์ตที่ฉันสามารถ telnet เข้าจากเครือข่ายไร้สายของฉันหรือผ่านทางอินเทอร์เน็ต แอปพลิเคชันจะทำหน้าที่เป็นพร็อกซีระหว่างเครือข่าย TCP/IP และ AVR หากต้องการดูวิดีโอได้ดีขึ้น ให้คลิกสองครั้งแล้วเปิดขึ้นมาในหน้าต่างของตัวเองและขยายให้ใหญ่ขึ้น มิฉะนั้น ให้หรี่ตาและคุณจะเห็นสิ่งที่กำลังพิมพ์อยู่ ดังนั้นฉันจึงแก้ไขแอปพลิเคชันการเชื่อมต่อซีเรียล AVR Terminal ที่ฉันเขียนไปแล้ว และฉันได้เพิ่มการรองรับ TCP/IP เข้าไป ฉันเขียนเฟิร์มแวร์บางอย่างที่มีบางอย่างเช่นเชลล์ UNIX ทำให้ฉันสามารถเข้าถึงพิน การตั้งค่าฟิวส์ ฯลฯ จากระยะไกลได้ คุณสามารถเปิดไฟ LED และทุกสิ่งได้จากระยะไกล มันยังรองรับการปรับความเร็วสัญญาณนาฬิกาในแบบเรียลไทม์และมีระบบรหัสผ่านเทียมที่ให้กรอบงานสำหรับรายการควบคุมการเข้าถึงหรือการตรวจสอบสิทธิ์สำหรับคำสั่งระดับราก (เช่น การปิดระบบย่อย ฯลฯ) นี่คือสิ่งที่สามารถทำได้:
- แสดงความถี่ซีพียูของคุณ
- ตั้งค่าพินใด ๆ เป็นอินพุตหรือเอาต์พุต
- อ่านสถานะของพินใด ๆ
- ส่งลอจิก 1 และ 0 ไปยังพินใดๆ เพื่อเปิดไฟ LED ฯลฯ
- ปิดเครื่องและเปิดเครื่องอุปกรณ์ต่อพ่วง SPI, TWI, USART และ ADC
- อ่านฟิวส์ล่าง ฟิวส์สูง ฟิวส์ภายนอก และล็อคบิตในเวลาจริง
- เริ่มตัวจับเวลาสำหรับเหตุการณ์และสิ่งต่าง ๆ กำหนดเวลาโดยอัตโนมัติ
- กรอบงานสำหรับระบบการตรวจสอบสิทธิ์ใน EEPROM
- สร้างพรีสเกลเลอร์นาฬิกาที่พร้อมใช้งานแบบเรียลไทม์
- เขียนด้วยภาษา C++ และคอมไพล์สำหรับ ATmega328P
คำแนะนำนี้มีรายละเอียดวิธีดาวน์โหลดซอฟต์แวร์ (และเฟิร์มแวร์หากต้องการ) ติดตั้งและเริ่มเข้าถึง AVR จากเครือข่ายไร้สายภายในบ้านหรือทางอินเทอร์เน็ต
ขั้นตอนที่ 1: สิ่งที่คุณต้องการ
- AVR แบบสแตนด์อโลนหรือ Arduino/โคลน (สำหรับคำแนะนำโดยละเอียดเกี่ยวกับวิธีสร้างระบบ AVR แบบสแตนด์อโลนของคุณเองที่ค่อนข้างสมบูรณ์ รวมถึงคริสตัลภายนอก ตัวเก็บประจุแบบแยกส่วน และแหล่งพลังงานที่มีการควบคุม ดูคำแนะนำอื่นๆ ของฉัน)
- การเชื่อมต่อซีเรียลหรือ USB กับพีซีโฮสต์ของคุณ
- เวอร์ชันเทอร์มินัล AVR ที่มีเซิร์ฟเวอร์ TCP/IP แบบฝังตัว
- อีกทางเลือกหนึ่งคือ AVR Shell (avrsh) หากคุณต้องการเรียกใช้เฟิร์มแวร์บน AVR/Arduino เป้าหมายของคุณเพื่อเข้าถึงอุปกรณ์ต่อพ่วงของคุณ
เกตเวย์ TCP/IP ทำงานได้กับเฟิร์มแวร์ใดก็ตามที่คุณอาจใช้หรือต้องการเขียน ตราบใดที่มันสื่อสารผ่าน UART ไปยังพีซี น่าเสียดายที่ไม่มีเวอร์ชัน Java ดังนั้น AVR Terminal จึงทำงานบน Windows เท่านั้นในขณะนี้
ขั้นตอนที่ 2: ดาวน์โหลดและติดตั้ง AVR Terminal และ TCP/IP Server
AVR Terminal เป็นแอปพลิเคชั่น windows ที่ฉันแนะนำในคำสั่งก่อนหน้านี้ มันสามารถพูดคุยกับ AVR ของคุณผ่าน RS232 USART รวมถึงฟังการเชื่อมต่อ TCP/IP ขาเข้าและส่งต่อผ่านการเชื่อมต่อ RS232 สำหรับการตอบสนองจาก AVR ที่รอของคุณ ไม่ใช่คุณสมบัติที่สมบูรณ์ แต่มีการแนะนำคุณสมบัติเบื้องต้นโดยละเอียดที่นี่และในคำแนะนำอื่น ๆ ของฉัน สามารถดาวน์โหลดเวอร์ชันล่าสุดได้ที่นี่ ซอฟต์แวร์ไม่มีการติดตั้งแบบสมบูรณ์ คุณสามารถเรียกใช้ซอฟต์แวร์จากไดเร็กทอรีของมัน กล่องข้อความในแถบเครื่องมือที่ระบุว่า ANY คือที่อยู่ IP ที่จะผูกไว้สำหรับการฟัง ใดๆ จะผูกที่อยู่ IP ใดๆ และทั้งหมด หรือคุณอาจระบุที่อยู่ IP ที่จะผูกไว้โดยเฉพาะก็ได้ กล่องข้อความทางด้านขวาของที่อยู่ IP คือพอร์ต IP ที่เซิร์ฟเวอร์จะถูกผูกไว้ ค่าเริ่มต้นคือ 23232 แต่คุณสามารถเปลี่ยนสิ่งนี้เป็นสิ่งที่คุณต้องการ
ขั้นตอนที่ 3: ติดตั้งเชลล์ของคุณ
ก่อนที่ AVR ของคุณจะสามารถสื่อสารกับคุณได้ คุณจะต้องมีระบบปฏิบัติการหรือเชลล์ใน AVR เป้าหมาย มีอยู่สองสามอย่างรวมถึง AVR Shell และ Bitlash shell ของฉัน
อีกวิธีหนึ่งคือใช้ประสบการณ์นี้เป็นโอกาสในการเขียนเชลล์ขั้นต่ำของคุณเอง
ขั้นตอนที่ 4: Telnet และ Enjoy
จำข้อมูลการกำหนดค่าของคุณหรือคุณอาจเก็บไว้เป็นค่าเริ่มต้น ในรูปตัวอย่างของฉัน ฉันอยู่บนโฮสต์ชื่อ "newton" และ telnet ไปที่เครื่องที่ AVR ของฉันเชื่อมต่ออยู่ ซึ่งเป็นโฮสต์ชื่อ "quadcpu1" คุณสามารถดูเอาต์พุต telnet มาตรฐานได้ ดังนั้น หากคุณคงไว้เป็นค่าเริ่มต้น คุณสามารถเข้าถึง AVR/Arduino จากเครือข่าย TCP/IP ของคุณด้วย:telnet 23232
หรือถ้าคุณอยู่ในกล่องเดียวกัน:telnet localhost 23232
อย่าลืมใช้การกำหนดค่าที่คุณเปลี่ยนหากคุณเปลี่ยน ที่ควรจะเป็น ซอร์สโค้ดสำหรับทั้งเซิร์ฟเวอร์ telnet และเฟิร์มแวร์ AVR มีให้ใช้ฟรีในรูปแบบโอเพ่นซอร์ส และควรให้ข้อมูลที่ดีเพียงพอแก่คุณเพื่อให้คุณแก้ไขหรือเขียนเวอร์ชันของคุณเองได้ ขั้นตอนต่อไปอาจเป็นการเขียนการใช้งาน Java หรือ Qt ของเซิร์ฟเวอร์ TCP/IP เพื่อให้ผู้ใช้ Mac และ Linux ได้รับประโยชน์