สารบัญ:
- ขั้นตอนที่ 1: อะไหล่
- ขั้นตอนที่ 2: ประกอบกล้องและติดตั้ง Raspbian
- ขั้นตอนที่ 3: เปิดใช้งานกล้อง
- ขั้นตอนที่ 4: ขยายระบบไฟล์
- ขั้นตอนที่ 5: ตัวเลือกการบูต
- ขั้นตอนที่ 6: กำหนดค่า RPi Into USB Keyboard (HID)
- ขั้นตอนที่ 7: ติดตั้ง RPi-Cam-Web-Interface
- ขั้นตอนที่ 8: ให้สิทธิ์การเข้าถึงข้อมูล Www แก่อุปกรณ์ /dev/hidg0
- ขั้นตอนที่ 9: กำหนดค่าเว็บอินเตอร์เฟส
- ขั้นตอนที่ 10: ปรับแต่งลักษณะที่ปรากฏของเว็บ
- ขั้นตอนที่ 11: การทดสอบและการใช้งาน
วีดีโอ: Remote CNC Stop and Monitor: 11 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
โปรเจ็กต์นี้มีวิธีการที่ไม่แพงสำหรับการดำเนินการ STOP (ALT+S) จากระยะไกลไปยัง Mach3 ทำได้ด้วยกล้อง Raspberry Pi (RPi) + ที่เชื่อมต่อกับพีซีผ่านสาย USB การตรวจสอบและเปิดใช้งาน STOP บน CNC ทำได้โดยใช้เว็บแอปพลิเคชันการสตรีมวิดีโอที่ทำงานบน RPi การใช้โซลูชันนี้ควรทำโดยยอมรับความเสี่ยงของคุณเอง ฉันขอแนะนำอย่างยิ่งให้ติดต่อผู้ผลิต CNC ของคุณและซื้อและติดตั้งจุดหยุดฉุกเฉินระยะไกลที่แนะนำซึ่งระบุไว้
หมายเหตุ: การดำเนินการนี้ไม่เหมือนกับการหยุดฉุกเฉิน (Estop) ที่ต่อสายเข้ากับแผงควบคุม CNC ของคุณ แต่เป็นการดำเนินการของปุ่มลัดเพื่อดำเนินการ STOP ของ Mach3
ขั้นตอนที่ 1: อะไหล่
- Raspberry Pi Zero W
- สายกล้อง Raspberry Pi Zero 1.3
- กล้อง Raspberry Pi (หมายเหตุ: ไม่รองรับเว็บแคม USB)
- เคสสำหรับ Raspberry Pi และ Camera
- การ์ด micro SD 16 GB
- สาย USB
ขั้นตอนที่ 2: ประกอบกล้องและติดตั้ง Raspbian
ประกอบกล้อง RPi สายเคเบิล และ RPi เข้าด้วยกันตามคำแนะนำที่พบในวิธีเชื่อมต่อโมดูลกล้อง Raspberry Pi กับ Raspberry Pi Zero W และเคสอย่างเป็นทางการ หมายเหตุ: ไม่รองรับเว็บแคม USB
ติดตั้ง Raspbian เวอร์ชันล่าสุดบน Raspberry Pi Zero W ฉันแนะนำให้ทำตามคำแนะนำทีละขั้นตอนที่ Raspberry Pi Zero Headless Quick Start ของ Adafruit
ทำการเชื่อมต่อ SSH กับ RPi ตามที่กล่าวไว้ในคำแนะนำข้างต้น และเริ่มการกำหนดค่าระบบทั่วไปโดยเรียกใช้ยูทิลิตี้ raspi-config
sudo raspi-config
ขั้นตอนที่ 3: เปิดใช้งานกล้อง
ในหน้าต่างหลัก raspi-config เลือกหมายเลข 5 ตัวเลือกการเชื่อมต่อ - กำหนดค่าการเชื่อมต่อกับอุปกรณ์ต่อพ่วง ในหน้าต่างถัดไป เลือก P1 กล้อง - เปิด/ปิดการเชื่อมต่อกับกล้อง Raspberry Pi หน้าต่างถัดไปจะถามว่าคุณต้องการเปิดใช้งานส่วนต่อประสานกล้องหรือไม่? เลือกและกด Enter หน้าจอสุดท้ายจะระบุว่าเปิดใช้งานอินเทอร์เฟซของกล้องแล้ว และกด Enter สำหรับ สิ่งนี้จะนำคุณกลับไปที่หน้าต่างหลักของ raspi-config
ขั้นตอนที่ 4: ขยายระบบไฟล์
ในหน้าต่างหลัก raspi-config เลือกหมายเลข 7 ตัวเลือกขั้นสูง - กำหนดการตั้งค่าขั้นสูง ในหน้าต่างถัดไป เลือก A1 ขยายระบบไฟล์ - ตรวจสอบให้แน่ใจว่าใช้ที่เก็บข้อมูลการ์ด SD ทั้งหมด หลังจากเลือกรายการนี้ หน้าต่างจะปรากฏขึ้นเพื่อระบุว่ามีการปรับขนาดพาร์ติชั่นรูทแล้ว ระบบไฟล์จะขยายใหญ่ขึ้นเมื่อรีบูตครั้งถัดไป กดปุ่ม Enter เพื่อเลือก นี่จะคืนหน้าต่างหลัก raspi-config ให้คุณ
ขั้นตอนที่ 5: ตัวเลือกการบูต
ในหน้าต่างหลัก raspi-config เลือกหมายเลข 3 ตัวเลือกการบูต - กำหนดค่าตัวเลือกสำหรับการเริ่มต้น ในหน้าจอถัดไป เลือก B1 Desktop / CLI - เลือกว่าจะบู๊ตในสภาพแวดล้อมเดสก์ท็อปหรือไม่ ซึ่งจะนำคุณไปยังหน้าต่างสุดท้าย และเลือก B1 คอนโซล - คอนโซลข้อความ กำหนดให้ผู้ใช้เข้าสู่ระบบ การเลือกสิ่งนี้จะนำคุณกลับไปที่หน้าต่างหลัก raspi-config
คุณสามารถออกจาก raspi-config โดยเลือก ซึ่งอาจต้องรีบูต ดำเนินการรีบูตและ SSH กลับเข้าสู่ RPi
ขั้นตอนที่ 6: กำหนดค่า RPi Into USB Keyboard (HID)
STOP ถูกสร้างขึ้นโดยการส่งการกดแป้น ALT+s ผ่าน RPi ไปยังพีซีที่ใช้ Mach3 ด้วยเหตุนี้ RPi จึงต้องกำหนดค่าให้ปรากฏและทำงานเป็นแป้นพิมพ์ USB กับพีซี ซึ่งช่วยให้สามารถส่งคำสั่งปุ่มลัด เช่น ALT+s ไปยังพีซีได้ คำแนะนำสำหรับการกำหนดค่า RPi อยู่ที่ Turn Raspberry Pi Zero เป็น USB Keyboard (HID)
หลังจากรีบูตให้ป้อนคำสั่งต่อไปนี้:
ls -l /dev/hid*
คุณควรเห็นอุปกรณ์ /dev/hidg0 ปรากฏในรายการดังที่แสดงด้านบน การเข้าถึงแบบกลุ่มและการเข้าถึงแบบอ่านและเขียนของอุปกรณ์นี้จะมีการเปลี่ยนแปลงในขั้นตอนต่อจากนี้
ขั้นตอนที่ 7: ติดตั้ง RPi-Cam-Web-Interface
ติดตั้งซอฟต์แวร์สตรีมมิ่งวิดีโอและเว็บเซิร์ฟเวอร์ตามคำแนะนำที่ RPi-Cam-Web-Interface
ระหว่างการติดตั้ง คุณจะถูกถามถึงตัวเลือกการกำหนดค่าต่อไปนี้:
- โฟลเดอร์ย่อยของแคม: html
- สตาร์ทอัตโนมัติ: (ใช่/ไม่ใช่) ใช่
- เซิร์ฟเวอร์: (apache/nginx/lighttpd) apache
- เว็บพอร์ต: 80
- ผู้ใช้: (blank=nologin) ผู้ดูแลระบบ (ตัวอย่าง)
- รหัสผ่าน: #34By97Zz (ตัวอย่าง)
- jpglink: (ใช่/ไม่ใช่) ไม่ใช่
- phpversion: (5/7) 7
ฉันเลือกอินพุตเริ่มต้นเพื่อทำให้การติดตั้งง่ายขึ้น แต่เพิ่มผู้ใช้และรหัสผ่านเพื่อรักษาความปลอดภัยหน้าเว็บ RPi เลือกและดำเนินการติดตั้งต่อ ในตอนท้ายคุณจะถูกขอให้เริ่มระบบกล้องตอนนี้ เลือกและดำเนินการต่อ หากสำเร็จ คุณจะถูกนำไปที่พรอมต์คำสั่ง
เชื่อมต่อกับหน้าเว็บ RPi https:// /html/
ขั้นตอนที่ 8: ให้สิทธิ์การเข้าถึงข้อมูล Www แก่อุปกรณ์ /dev/hidg0
เมื่อติดตั้งแอพพลิเคชั่นและฮาร์ดแวร์ทั้งหมดแล้ว การปรับแต่งล่าสุดสามารถทำได้เพื่อสิ้นสุดการติดตั้ง วัตถุประสงค์ในขั้นตอนนี้คือการให้สิทธิ์ www-data แก่ผู้ใช้ในการเข้าถึงอุปกรณ์คีย์บอร์ด USB /dev/hidg0
ขั้นแรก สร้างกลุ่มชื่อ hid และเพิ่ม www-data ในกลุ่ม:
sudo addgroup hid
sudo adduser www-data hid
ถัดไป เปิด /etc/rc.local ด้วยคำสั่งนี้ (อีกครั้ง):
sudo nano /etc/rc.local
เพิ่มสิ่งต่อไปนี้ก่อนบรรทัดที่มี exit 0 แต่ใต้บรรทัดที่คุณเพิ่มในขั้นตอน Configure the RPi Into USB Keyboard (HID):
sudo chown root:hid /dev/hidg0sudo chmod 660 /dev/hidg0
คำสั่งดังกล่าวจะให้การเข้าถึงอุปกรณ์ที่จำเป็น /dev/hidg0 สำหรับผู้ใช้ www-data หลังจากทำการแก้ไขข้างต้นและรีบูต คุณจะเห็นอุปกรณ์ /dev/hidg0 พร้อมคำสั่งต่อไปนี้:
ls -l /dev/hid*
สังเกตว่าตอนนี้กลุ่มสำหรับอุปกรณ์นี้ถูกซ่อนและกลุ่มมีสิทธิ์อ่านและเขียนแล้ว
======================================
ทางเลือก: หากคุณต้องการใช้สคริปต์ที่เข้าถึง GPIO, I2C และ/หรือ SPI ผ่านหน้าเว็บ RPi คุณจะต้องเปิดใช้งานอินเทอร์เฟซเหล่านี้ใน raspi-config ประการที่สอง คุณจะต้องให้สิทธิ์ www-data แก่ผู้ใช้ในการเข้าถึงอินเทอร์เฟซเหล่านี้
sudo usermod -a -G gpio, i2c, spi www-data
ขั้นตอนที่ 9: กำหนดค่าเว็บอินเตอร์เฟส
อัปโหลดไฟล์ userbuttons.txt ด้านล่างไปยังโฮมไดเร็กทอรี RPi ของคุณ '/home/pi/'
จากโฮมไดเร็กตอรี่ของคุณ ให้คัดลอก userbuttons.txt ไปยังโฟลเดอร์ '/var/www/html/':
cd ~sudo cp userbuttons.txt /var/www/html/userbutton
เปลี่ยนความเป็นเจ้าของและการอนุญาตสำหรับปุ่มผู้ใช้:
sudo chown www-data:www-data /var/www/html/userbutton
สร้างสคริปต์เชลล์ stop_cnc.sh:
sudo nano /var/www/html/macros/stop_cnc.sh
คัดลอกและวางข้อความต่อไปนี้ในไฟล์นี้:
#!/bin/bashfunction write_report { echo -ne $1 > /dev/hidg0}# CTRL=x10 SHIFT=x20 ALT=x40# ALT + swrite_report "\x40\0\x16\0\0\0\0\0" # Nullwrite_report "\0\0\0\0\0\0\0\0" #echo "หยุด CNC" >> /var/www/html/macros/testmacro.txt
หลังจากบันทึก /var/www/html/macros/stop_cnc.sh ให้ระบุการอนุญาตที่จำเป็นสำหรับไฟล์ด้วยคำสั่งเหล่านี้:
sudo chown www-data:www-data /var/www/html/macros/stop_cnc.shsudo chmod 764 /var/www/html/macros/stop_cnc.sh
======================================ตัวเลือก: หากคุณต้องการมีปุ่มสำหรับ CYCLE START และ FEED HOLD คุณสามารถเพิ่มปุ่มต่อไปนี้ใน /var/www/html/userbuttons:
sudo nano /var/www/html/userbuttons
ค้นหาและลบ # ออกจากบรรทัดที่แสดงด้านล่างในไฟล์ userbuttons:
#FEED HOLD, feed_hold.sh, btn btn-warning btn-lg,#CYCLE START, cycle_start.sh, btn btn-success btn-lg,
สร้างสคริปต์เชลล์ cycle_start.sh:
sudo nano /var/www/html/macros/cycle_start.sh
คัดลอกและวางข้อความต่อไปนี้ในไฟล์นี้:
#!/bin/bashfunction write_report { echo -ne $1 > /dev/hidg0}# CTRL=x10 SHIFT=x20 ALT=x40# ALT + r - CYCLE STARTwrite_report "\x40\0\x15\0\0\0\0 \0"# Nullwrite_report "\0\0\0\0\0\0\0\0"#echo "เริ่มวงจร" >> /var/www/html/macros/cycle_start.txt
สร้างสคริปต์เชลล์ feed_hold.sh:
sudo nano /var/www/html/macros/feed_hold.sh
คัดลอกและวางข้อความต่อไปนี้ในไฟล์นี้:
#!/bin/bashfunction write_report { echo -ne $1 > /dev/hidg0 } # CTRL=x10 SHIFT=x20 ALT=x40 # SPACE - FEED HOLD write_report "\0\0\x2c\0\0\0\0\ 0" # Null write_report "\0\0\0\0\0\0\0\0"#echo "FEED HOLD" >> /var/www/html/macros/feed_hold.txt
เปลี่ยนความเป็นเจ้าของและการอนุญาตของเชลล์สคริปต์:
sudo chown www-data:www-data /var/www/html/macros/cycle_start.shsudo chown www-data:www-data /var/www/html/macros/feed_hold.shsudo chmod 764 /var/www/html/ macros/cycle_start.shsudo chmod 764 /var/www/html/macros/feed_hold.sh
ขั้นตอนที่ 10: ปรับแต่งลักษณะที่ปรากฏของเว็บ
ก่อนขั้นตอนก่อนหน้า หน้าเว็บปรากฏเป็นภาพ 'ก่อน' ที่แสดงด้านบน หลังจากการปรับเปลี่ยนในปุ่ม STOP จะปรากฏขึ้น การเปลี่ยนแปลงที่แนะนำบางประการในการตั้งค่ากล้อง:
- ความละเอียด: มุมมองสูงสุด 972p 4:3
- คำอธิบายประกอบ (สูงสุด 127 อักขระ): ข้อความ: CNC Cam %Y.%M.%D_%h:%m:%s
- คุณภาพการแสดงตัวอย่าง (1…100) ค่าเริ่มต้น 10: 50Width (128…1024) ค่าเริ่มต้น 512: 1024Divider (1-16) ค่าเริ่มต้น 1: 1
ชื่อแถบชื่อเรื่องและชื่อ 'RPi Cam Control v6.4.34: mycam@raspberrypi' อาจถูกแก้ไขโดยการปรับแต่งไฟล์ /var/www/html/config.php
sudo nano /var/www/html/config.php
แก้ไข 'RPi Cam Control' หากคุณต้องการเปลี่ยนชื่อเรื่อง:
// ชื่อของแอปพลิเคชันนี้กำหนด ('APP_NAME', 'RPi Cam Control');
ในส่วนการตั้งค่า 'ระบบ' คุณสามารถเปลี่ยนรูปแบบเป็นกลางคืน และคลิกตกลงเพื่อเปลี่ยนพื้นหลังเป็นสีดำ
ขั้นตอนที่ 11: การทดสอบและการใช้งาน
เชื่อมต่อสาย USB เข้ากับพอร์ต USB ของ RPi (ไม่ใช่ PWR USB) และเชื่อมต่อปลายอีกด้านหนึ่งเข้ากับพีซีที่ใช้ Mach3 สายเคเบิลนี้จะจ่ายไฟให้กับ RPi และควบคุม Mach3 บนพีซี ดังนั้น อย่าเชื่อมต่อแหล่งจ่ายไฟภายนอกกับ PWR USB บน RPi ซึ่งอาจทำให้พีซีหรือ RPi เสียหายได้
โฟกัส - หน้าต่างที่มีโฟกัสของแป้นพิมพ์อยู่ในขณะนี้ การกดแป้นพิมพ์จากแป้นพิมพ์จะเกิดขึ้นในหน้าต่างนี้
ตามที่กล่าวไว้ก่อนหน้านี้ USB ของ RPi จะส่งปุ่มลัด ALT+s ไปยัง USB ของพีซีที่เชื่อมต่อ ในการทดสอบการตั้งค่า (ไม่มี Mach3) ให้เปิดแอปพลิเคชัน (ควรเป็นโปรแกรมแก้ไขข้อความ) ที่มีตัวเลือกเมนูที่ขึ้นต้นด้วย S ดังที่แสดงด้านบนในแอปพลิเคชัน Notepad++ โปรดสังเกตว่า S ถูกขีดเส้นใต้ในเมนูซึ่งบ่งชี้ว่าการกดแป้น ALT+s จะเปิดใช้งานเมนู คุณสามารถลองใช้แป้นพิมพ์พีซีเพื่อทดสอบผลลัพธ์ได้ ดังในตัวอย่างข้างต้น เมนูค้นหาปรากฏขึ้น ผลลัพธ์ของคุณจะแตกต่างกัน ขึ้นอยู่กับแอปพลิเคชันที่คุณเปิดด้วยเมนูที่มีตัวเลือกที่มี S หากการทดสอบของคุณสำเร็จ ให้ทดสอบการตั้งค่าของคุณด้วยเว็บแอปพลิเคชัน กำหนดโฟกัสไปที่แอปพลิเคชันเดิมเหมือนเมื่อก่อน และเข้าถึงเว็บแอปพลิเคชันของ RPi จากอุปกรณ์อื่น คุณยังสามารถใช้สมาร์ทโฟนเพื่อเข้าถึง RPi คลิกปุ่ม STOP บนเว็บเพจ และเมนูเดียวกันควรเลื่อนลงมาเหมือนเมื่อก่อน
หากการทดสอบของคุณสำเร็จ คุณก็พร้อมที่จะใช้กับ Mach3 ฉันใช้ Mach3 2010 Screenset และใช้งานได้ดี
ตรวจสอบให้แน่ใจว่า Mach3 อยู่ในโฟกัสสำหรับอินพุตคีย์บอร์ดของพีซี การแตะแถบชื่อเรื่องของ Mach3 ก็เพียงพอแล้วที่จะทำประกันได้ Mach3 ควรเป็นแอปพลิเคชั่นเดียวที่ทำงานบนเดสก์ท็อปของพีซี
การใช้วิธีนี้ควรทำโดยยอมรับความเสี่ยงเอง
แนะนำ:
Raspberry Pi Stop-Motion Animation Rig: 16 ขั้นตอน (พร้อมรูปภาพ)
Raspberry Pi Stop-Motion Animation Rig: แอนิเมชั่นสต็อปโมชันเป็นเทคนิคที่วัตถุได้รับการจัดการทางกายภาพ และถ่ายภาพแบบเฟรมต่อเฟรมเพื่อสร้างภาพลวงตาของภาพเคลื่อนไหว การจัดแสดงแอนิเมชั่นสต็อปโมชันขนาดเล็กของเราสร้างขึ้นด้วย Raspberry Pi , ซึ่งเป็น "จิ๋วและแอฟ
Contact Less and Corrosion Free Water Level Indicator and Motor Control.: 5 ขั้นตอน
Contact Less and Corrosion Free Water Level Indicator and Motor Control.: HI ในคำแนะนำนี้เราจะดูวิธีรับสถานะของถังเก็บน้ำตามระดับน้ำ (สูง, ปานกลาง, ต่ำ) ของถังเหนือศีรษะโดยใช้ไฟ LED สีต่างกันสามดวงใน วิธีแบบไม่สัมผัสด้วยความช่วยเหลือของเซ็นเซอร์อัลตราโซนิกและบอร์ด Arduino unoP
Stop Rants With the Rant Buddy: 8 ขั้นตอน (พร้อมรูปภาพ)
Stop Rants With the Rant Buddy: ในบ้านของฉัน เราพบว่ามีอะไรให้บ่นมากมาย: รถบัสมาสาย เครื่องทำน้ำเย็นในที่ทำงานไม่เย็นพอ เดลี่ปิดเร็ว แต่หากปล่อยไว้โดยไม่ถูกตรวจสอบ เสียงบ่นเล็กๆ น้อยๆ เหล่านี้อาจวนเวียนเป็นคำพูดโวยวายเต็มอารมณ์ นั่นคือที่ที่การหยุดพูดจาโผงผางอันแสนสะดวกนี้
แปลง IR Remote ของคุณเป็น RF Remote: 9 ขั้นตอน (พร้อมรูปภาพ)
แปลง IR Remote ของคุณเป็น RF Remote: ในคำแนะนำของวันนี้ ฉันจะแสดงให้คุณเห็นว่าคุณสามารถใช้โมดูล RF ทั่วไปได้อย่างไรโดยไม่ต้องใช้ไมโครคอนโทรลเลอร์ ซึ่งในที่สุดจะนำเราไปสู่การสร้างโครงการที่คุณสามารถแปลง IR Remote ของอุปกรณ์ใดๆ เป็น RF ระยะไกล. ข้อได้เปรียบหลักของการแปลงเป็น
IR Remote Hacking and Automation: 13 ขั้นตอน (พร้อมรูปภาพ)
IR Remote Hacking and Automation: สวัสดีทุกคน ตั้งแต่วัยเด็กฉันเคยสงสัยเกี่ยวกับรีโมตคอนโทรลของทีวีและมันทำงานอย่างไร คำแนะนำนี้บอกเล่าเรื่องราวว่าฉันจัดการถอดรหัส/แฮ็กรีโมตคอนโทรลเก่าและใช้สำหรับระบบอัตโนมัติในบ้านได้อย่างไร คำแนะนำนี้มี