สารบัญ:

การควบคุมการเข้าถึง RFID ด้วย Arduino Yun และ Raspberry Pi: 11 ขั้นตอน
การควบคุมการเข้าถึง RFID ด้วย Arduino Yun และ Raspberry Pi: 11 ขั้นตอน

วีดีโอ: การควบคุมการเข้าถึง RFID ด้วย Arduino Yun และ Raspberry Pi: 11 ขั้นตอน

วีดีโอ: การควบคุมการเข้าถึง RFID ด้วย Arduino Yun และ Raspberry Pi: 11 ขั้นตอน
วีดีโอ: #33 ESP8266 WiFi Web Server, Arduino style - Introduction 2024, กรกฎาคม
Anonim
การควบคุมการเข้าถึง RFID ด้วย Arduino Yun และ Raspberry Pi
การควบคุมการเข้าถึง RFID ด้วย Arduino Yun และ Raspberry Pi
การควบคุมการเข้าถึง RFID ด้วย Arduino Yun และ Raspberry Pi
การควบคุมการเข้าถึง RFID ด้วย Arduino Yun และ Raspberry Pi
การควบคุมการเข้าถึง RFID ด้วย Arduino Yun และ Raspberry Pi
การควบคุมการเข้าถึง RFID ด้วย Arduino Yun และ Raspberry Pi

ยินดีต้อนรับสู่คำแนะนำของฉัน! คุณเคยค้นหาระบบ RFID Access Control System ทางออนไลน์ที่สามารถมีผู้ใช้หลายคนโดยไม่ต้องใช้มาสเตอร์คีย์เพื่อตั้งโปรแกรมหรือไม่? ระบบที่สามารถเข้าระบบด้วยชื่อบุคคล? ระบบที่คุณสามารถเพิ่มหรือลบการเข้าถึงของใครบางคนได้อย่างง่ายดาย? มองไม่เพิ่มเติม! ระบบนี้มีอินเทอร์เฟซผู้ใช้แบบกราฟิกที่ใช้งานง่ายผ่านเว็บเบราว์เซอร์ คำแนะนำนี้จะแนะนำคุณในแต่ละขั้นตอนเกี่ยวกับวิธีสร้างและตั้งโปรแกรมระบบนี้ ฉันได้ค้นหาบทช่วยสอนเกี่ยวกับวิธีการทำเช่นนี้เมื่อฉันต้องการสร้าง ฉันรวบรวมข้อมูลจากบทช่วยสอน ฟอรัม และวิดีโอต่างๆ จนกระทั่งฉันสร้างเอง สิ่งที่ใกล้เคียงที่สุดที่ฉันสามารถหาได้กับสิ่งที่ฉันต้องการคือคำแนะนำนี้: https://www.instructables.com/id/Control-Access-of… แต่มันไม่ใช่ทุกสิ่งที่ฉันต้องการทำ ฉันใช้การเดินสายพื้นฐานจากคำแนะนำนั้น แต่ปรับปรุงให้ดีขึ้น

ขั้นตอนที่ 1: มันทำงานอย่างไร

ระบบนี้ใช้ทั้ง Arduino และ Raspberry Pi Arduino ที่ฉันเลือกคือ YUN สำหรับความสามารถในการมี wifi และสร้างเครือข่ายของตัวเอง ฉันเลือก Raspberry Pi Zero เนื่องจากมีขนาดเล็กและมี Wifi ในตัวและมีราคาที่ดี

เมื่อ Arduino เริ่มทำงาน มันจะออกอากาศ wifi และเริ่มการเชื่อมต่อทั้งหมด มันอ่านนาฬิกาเรียลไทม์ (RTC) และตั้งเวลาของระบบ หน้าจอ LCD จะแสดงข้อความต้อนรับ Raspberry Pi เชื่อมต่อกับเครือข่าย wifi ที่ YUN ออกอากาศ เมื่อคุณสแกนบัตร RFID Arduino จะอ่านแต่ละไบต์และสร้างชุดเลขฐานสิบหก โดยจะเริ่มสคริปต์หลามเพื่อเปรียบเทียบสตริงนั้นกับฟิลด์ในตาราง MySQL บน Raspberry Pi หากตรงกัน ไฟ LED สีเขียวจะกะพริบ แสดง Access Granted บน LCD ส่งสัญญาณให้เปิดประตูเพื่อเปิดประตู เริ่มสคริปต์ python เพื่อบันทึกรหัส RFID วันที่และเวลา และให้สิทธิ์เข้าถึง MySQL อื่น ตาราง LED กะพริบเป็นสีน้ำเงิน แสดง Logging บนหน้าจอ LCD จากนั้นแสดงข้อความต้อนรับอีกครั้ง เมื่อรหัส RFID ไม่ตรงกัน LED จะกะพริบเป็นสีแดง หน้าจอ LCD จะแสดง Access Denied กะพริบ LED สีน้ำเงิน บันทึกข้อมูล และแสดงข้อความต้อนรับอีกครั้ง

เว็บเซิร์ฟเวอร์เป็นวิธีที่คุณเพิ่มหรือลบผู้ใช้ แก้ไขข้อมูล และดูบันทึกการเข้าใช้ PHP จะกรอกชื่อผู้ใช้ด้วยรหัส RFID ที่ตรงกันในบันทึกการเข้าใช้ คุณยังสามารถส่งออกทั้งบันทึกการเข้าใช้และฐานข้อมูลผู้ใช้เป็นไฟล์ CSV ที่สามารถดูได้ในสเปรดชีต บันทึกการเข้าถึงจะล้างข้อมูลใดๆ ที่เก่ากว่า 60 วัน

ขั้นตอนที่ 2: อะไหล่

อะไหล่
อะไหล่
อะไหล่
อะไหล่

Arduino Yun

Raspberry Pi Zero W

การ์ด Micro SD - 2 GB สำหรับ YUN และ 32GB สำหรับ Raspberry Pi

นวัตกรรมเครื่องอ่าน RFID ID-20

บอร์ดฝ่าวงล้อมสำหรับเครื่องอ่าน RFID

หน้าจอ LCD ขนาด 16X2 ตัวอักษร

Serial Backpack สำหรับหน้าจอ LCD

RGB LED

DS3231 RTC - จำเป็นก็ต่อเมื่อไม่สามารถเชื่อมต่ออินเทอร์เน็ตได้

Buzzer

สายจัมเปอร์

ส่วนหัวและหมุด

บัตร RFID 125KHz

แหล่งจ่ายไฟควบคุมการเข้าออก 12V

DC Relay ที่สามารถควบคุมได้ด้วย 5V DC และผ่าน 12V DC - ฉันใช้โซลิดสเตตรีเลย์

ปลั๊กเสียบที่จุดบุหรี่ในรถยนต์ 12V

ที่ชาร์จ USB ในรถยนต์ 12V พร้อมพอร์ต USB 2 พอร์ตที่มีกำลังไฟอย่างน้อย 2 แอมป์

กลอนประตูไฟฟ้า 12V

กล่องพลาสติก - ใหญ่พอที่จะใส่เครื่องอ่านและจอ LCD

กล่องไฟฟ้าขนาด 10" X 10" X 4" สำหรับจัดเก็บส่วนประกอบ

ปลั๊กอีเทอร์เน็ตแบบโมดูลาร์ 2 ช่อง (ตัวเมีย) พร้อมความสามารถในการเจาะ

สายเคเบิลอีเธอร์เน็ต

บอร์ด PCB ต้นแบบขนาดเล็ก (อันที่มีรูและวงแหวนทองแดงรอบ ๆ รูเพื่อทำ PCB ของคุณเอง)

สายเกจ 16 เส้น

สายไมโคร USB 2 เส้น

ความยาวของสายไฟ 2 เส้น (ยาวพอที่จะไปจากที่ชนประตูเป็นกล่องหลัก)

ขั้นตอนที่ 3: ประกอบ Reader Box และส่วนประกอบ

ประกอบ Reader Box และส่วนประกอบ
ประกอบ Reader Box และส่วนประกอบ
ประกอบ Reader Box และส่วนประกอบ
ประกอบ Reader Box และส่วนประกอบ

ก่อนอื่นเราจะเตรียมผู้อ่าน บัดกรีส่วนหัวของพิน 90 องศากับบอร์ดฝ่าวงล้อม RFID จากนั้นประสานบอร์ดฝ่าวงล้อมเข้ากับเครื่องอ่าน RFID และวางไว้

ต่อไปเราจะเตรียมหน้าจอ LCD โดยการบัดกรีหมุดของกระเป๋าเป้สะพายหลังแบบอนุกรมกับ PCB หน้าจอ LCD เมื่อบัดกรีหมุดทั้งหมดแล้ว ให้ตัดหมุด excell ที่ยื่นขึ้นไปให้สูงด้วยหัวกัดแนวทแยง วางจอ LCD ไว้ด้านข้าง

ตัด PCB สี่เหลี่ยมจัตุรัสให้มีรู 2 แถวคูณ 6 นำส่วนหัว 6 พิน 2 อันแล้วประสานเข้ากับบอร์ด PCB ต่อข้อต่อประสานตามแนวหมุดยาวเพื่อสร้างเส้นบัดกรี 2 เส้น แต่แยก 2 เส้นออกจากกัน นี่จะเป็นทางแยกของเราสำหรับ 5 โวลต์ทั้งหมดและกราวด์ที่จำเป็นในกล่องเครื่องอ่าน

RGB LED จะมี 4 ลีด ดังนั้นให้ตัดบอร์ด PCB อีกชิ้นที่มี 4 รูคูณ 2 รู ประสาน 4 นำไปสู่บอร์ดและงอ LED 90 องศาให้อยู่ในแนวเดียวกับบอร์ด ประสานส่วนหัว 4 พินที่ด้านซ้ายของ PCB และเชื่อมต่อแต่ละพินกับตะกั่วของ LED ด้วยการบัดกรีทำให้เป็นแถวเล็ก ๆ 4 แถว การดำเนินการนี้ต้องใช้ความพยายามอย่างมั่นคงและอาจพยายามป้องกันไม่ให้แถวทั้ง 4 สัมผัสกัน

นำกล่องพลาสติกและเจาะรูที่ด้านหลังให้ใหญ่พอสำหรับสายอีเทอร์เน็ตที่จะใส่เข้าไป จากนั้นตัดรูสี่เหลี่ยมที่ด้านหน้าสำหรับหน้าจอ LCD และรูเล็กๆ ที่เล็กกว่า LED แล้วดัน LED เข้าไปแน่น.

ใช้สายจัมเปอร์และเชื่อมต่อสิ่งต่อไปนี้ เขียนสีที่ส่วนประกอบแต่ละส่วนได้รับการเจาะลงไปบนอีเทอร์เน็ต Modular Jack สายจัมเปอร์จะเจาะลงไปอย่างสวยงามที่ด้านหลังของสิ่งเหล่านี้

1 พินบน GND Junction --- อีเธอร์เน็ตเจาะลง (จำสีใด)

1 พินบน 5V Junction ------ อีเธอร์เน็ตเจาะลง (จำสีใด)

เครื่องอ่าน RFID พินออก:

PIN 1 -- ทางแยก GND

PIN 2 -- ทางแยก 5V

PIN 7 -- ชุมทาง GND

PIN 9 อีเธอร์เน็ตเจาะลง (จำสีใด) ----- ในที่สุดก็ถึง Arduino PIN 10

PIN 10 - ชุมทาง BUZZER GND

PIN 11 - ชุมทาง 5V

นำพินออก

สีแดง ---- อีเธอร์เน็ตเจาะลง (จำได้ว่าสีอะไร) ------ ในที่สุดก็ถึง Arduino Pin 9

สีเขียว - อีเธอร์เน็ตเจาะลง (จำสีใด) ------ ในที่สุดก็ถึง Arduino Pin 8

สีน้ำเงิน ---- อีเธอร์เน็ตเจาะลง (จำสีใด) ------ ในที่สุดก็ถึง Arduino Pin 7

GND ---- แยก GND

หน้าจอ LCD ขาออก:

RX ------- อีเธอร์เน็ตเจาะลง (จำได้ว่าสีอะไร) ----- ในที่สุดก็ถึง Arduino Pin 11

5V -------- 5V ทางแยก

GND ----- ชุมทาง GND

ออดเชื่อมต่อกับ GND Junction (-) และ Pin 10 ของ RFID Breakout (+)

หลังจากนี้จะมีการชกลงที่ไม่ได้ใช้ 1 ครั้ง สิ่งนี้ต้องการเพียง 7 จาก 8 สายของสายเคเบิลอีเธอร์เน็ต

เลื่อนสายอีเทอร์เน็ตผ่านรูด้านหลังที่สร้างและเสียบเข้ากับซ็อกเก็ต ใช้เทปกาวสองหน้าตามขอบของหน้าจอ LCD แล้วกดที่ช่องตัวอ่านสี่เหลี่ยมจัตุรัสด้านหน้าเพื่อจัดเรียงส่วนประกอบภายในกล่องและปิดให้สนิท

ตอนนี้กล่องเครื่องอ่านพร้อมแล้วและพร้อมสำหรับการติดตั้ง

ขั้นตอนที่ 4: ประกอบกล่องหลัก

ประกอบกล่องหลัก
ประกอบกล่องหลัก

ตัดไม้อัดชิ้นเล็กๆ ที่สามารถใส่ลงในกล่องหลักขนาด 10 X 10 X 4 ได้ แล้วขันให้แน่นกับด้านในของกล่องโดยขันสกรูผ่านด้านหลังของตู้เข้าไปในไม้อัด ไม้อัดจะเป็นส่วนยึดสำหรับส่วนประกอบของเรา

ติดตั้งแหล่งจ่ายไฟ 12v, Arduino Yun Case, Raspberry Pi Case, ซ็อกเก็ต 12V และรีเลย์ไปยังไม้อัด ตัดปลายสายไฟของคอมพิวเตอร์ออกแล้วดึงสายไฟ 3 เส้นออก ต่อสายไฟขาวดำเข้ากับไฟ 120V ของแหล่งจ่ายไฟ 12v และสีเขียวเข้ากับเคสโลหะโดยตรง เคาะรูใดรูหนึ่งในกล่องหลักเพื่อเดินสายไฟผ่าน

ซ็อกเก็ต 12v จะมีสายไฟ 2 เส้นออกมาคือสีแดงและสีดำตัดปลาย สีแดงจะไปที่ขั้ว +12v บนแหล่งจ่ายไฟ สีดำจะไปที่ขั้ว COM บนแหล่งจ่ายไฟ ตัดความยาวสายเกจ 16 เส้นเพื่อเข้าถึงรีเลย์จากแหล่งจ่ายไฟและดึงปลายทั้งสองข้างออก ที่ด้าน 12V ของรีเลย์ ขันสกรูสายนี้เข้ากับขั้วลบ จากนั้นไปที่ขั้ว GND บนแหล่งจ่ายไฟ ตัดสายเกจ 16 อันยาวอีกอันเพื่อไปจากด้าน 12v ของรีเลย์บนขั้วบวกและไปยังขั้ว PUSH บนแหล่งจ่ายไฟ ต่อสายไฟหนึ่งเข้ากับขั้ว NO บนแหล่งจ่ายไฟ (ติดลบที่ประตู) และอีกสายหนึ่งเข้ากับขั้วบวกบนรีเลย์ (ตอนนี้คุณจะมีสายไฟ 2 เส้นออกจากขั้วนี้) (ไปที่ขั้วบวกบน เคาะประตู.) คุณสามารถเดินสายไฟนี้ผ่านจุดชนวนเดียวกันกับสายไฟ

ตอนนี้ใช้สายจัมเปอร์ 2 เส้นและเชื่อมต่อจากด้าน 5V ของรีเลย์ไปยัง Arduino, Positive to Pin 12, Negative ถึง GND

RTC มี 4 พิน, กำลังไฟ, GND, SDA, SCL ต่อสายจัมเปอร์ 4 เส้นเข้ากับสิ่งเหล่านี้ พลังงานจะเสียบเข้ากับพิน 3.3V บน Arduino, GND ไปยังพิน GND บน Arduino, SDA ไปยังพิน SDA บน Arduino และ SCL ไปยังพิน SCL บน Arduino

ตอนนี้ใช้สายจัมเปอร์ 7 เส้นแล้วต่อยที่ด้านหลังของซ็อกเก็ตอีเทอร์เน็ตอีกอัน ซึ่งเป็นสีเดียวกับที่คุณใช้ก่อนหน้านี้

เสียบพิน 5V บน Arduino กับสีที่ตรงกับชุมทาง 5V และทำเช่นเดียวกันกับ GND กับ GND และสายไฟที่เหลือด้วย พิน 7, 8 และ 9 ใช้สำหรับ LED, พิน 10 สำหรับเครื่องอ่าน RFID และพิน 11 สำหรับ RX บนหน้าจอ LCD คุณสามารถใช้สายเคเบิลอีเทอร์เน็ตจากกล่องเครื่องอ่านผ่านช่องสัญญาณหลักบนกล่องหลัก แล้วเสียบเข้ากับซ็อกเก็ตที่คุณเพิ่งเจาะลงไป เสียบที่ชาร์จในรถยนต์ USB และเรียกใช้สาย Micro USB จากที่นั่นไปยัง Raspberry Pi และ Arduino ตอนนี้กล่องหลักถูกประกอบแล้ว และฮาร์ดแวร์ทั้งหมดเสร็จสิ้น

ขั้นตอนที่ 5: การตั้งค่าเริ่มต้นของ Arduino YUN

ก่อนเปิดเครื่อง YUN ให้เสียบการ์ด MicroSD ขนาด 2GB

ตั้งค่า YUN โดยใช้คำแนะนำบนไซต์ Arduino เพื่อตั้งค่า YUN ให้กับเครือข่ายท้องถิ่นของคุณและเพิ่มรหัสผ่าน ทำตามคำแนะนำเพื่อต่อเชื่อมการ์ด SD

การใช้ PUTTY เข้าสู่ระบบ YUN ด้วยที่อยู่ IP, ID จะเป็น root และ PW

เราจะต้องติดตั้ง MySQL และ Python Connector เพื่อให้สามารถเข้าถึง MySQL ในประเภท Raspberry Pi:

opkg ติดตั้งเซิร์ฟเวอร์ mysql opkg

ติดตั้ง python-mysql

ตอนนี้ตั้งค่า Arduino Yun เพื่อทำหน้าที่เป็นจุดเชื่อมต่อไร้สายด้วยที่อยู่ IP เริ่มต้น (192.168.240.1) ซึ่งเป็นค่าเริ่มต้น

ขั้นตอนที่ 6: ตั้งค่า Raspberry Pi

ก่อนอื่น คุณจะต้องเบิร์นสำเนา Rasbian ล่าสุดลงในการ์ด Micro SD ขนาด 32GB มีบทช่วยสอนมากมายเกี่ยวกับวิธีการทำเช่นนั้นฉันจะไม่ทำอย่างนั้น

นำ Raspberry Pi มาต่อกับคีย์บอร์ด จอภาพ และเมาส์ ใส่การ์ด SD ขนาด 32GB และเปิดเครื่อง

เข้าสู่ระบบด้วยชื่อผู้ใช้ pi และ pw raspberry คุณสามารถเปลี่ยนได้ในภายหลัง เมื่อหน้าจอโหลดขึ้นมา ให้คลิกที่ไอคอน wifi และเชื่อมต่อกับ wifi ที่บ้านของคุณ เขียนที่อยู่ IP เปิดหน้าต่างคอนโซล (ไอคอนสี่เหลี่ยมสีดำพร้อมเคอร์เซอร์) และพิมพ์คำสั่งเหล่านี้เพื่ออัปเดตรายการแพ็คเกจและอัปเดตซอฟต์แวร์ที่มีอยู่แล้วใน Pi

sudo apt-get update

sudo apt-get อัพเกรด

sudo raspi-config

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

ตอนนี้เราจะติดตั้งเดสก์ท็อประยะไกล (นี่คือเหตุผลที่เราต้องเปิดใช้งาน SSH) ในบรรทัดคำสั่งพิมพ์

sudo apt-get ติดตั้ง xrdp

ตอนนี้คุณสามารถเปิดเดสก์ท็อประยะไกลจากคอมพิวเตอร์ที่ใช้ Windows ของคุณและพิมพ์ที่อยู่ IP ของ Raspberry Pi และชื่อผู้ใช้และรหัสผ่าน ตั้งค่าแป้นพิมพ์ จอภาพ และเมาส์ไว้เพราะเราจะต้องใช้ในภายหลัง

เราจำเป็นต้องเพิ่มการหน่วงเวลาการบูตให้กับ Raspberry Pi ดังนั้นในภายหลังเมื่อเราจ่ายไฟให้กับ Raspberry Pi และ Arduino YUN ร่วมกัน จะทำให้ YUN wifi เริ่มทำงานก่อน Raspberry Pi จากประเภทคอนโซล:

sudo nano /boot/config.txt

เลื่อนไปที่ด้านล่างและเพิ่มบรรทัดนี้:

boot_delay=75

กด CNTRL X, Y, Enter เพื่อบันทึก สิ่งนี้จะเพิ่มการหน่วงเวลาบูต 75 วินาที รีบูต Raspberry Pi และตรวจสอบ

ขณะที่เราใช้งานคอมพิวเตอร์ของคุณอยู่ในขณะนี้ ก็เป็นเวลาที่ดีที่จะติดตั้ง PUTTY และ WinSCP ลงในคอมพิวเตอร์ของคุณ เราจะต้องดำเนินการต่อไป PUTTY เป็นหน้าต่างคอนโซลระยะไกลสำหรับ Raspberry Pi และ Arduino YUN ในภายหลัง และ WinSCP เป็น FTP ที่ปลอดภัยในการถ่ายโอนไฟล์จากคอมพิวเตอร์ของคุณไปยัง Raspberry Pi จากคอมพิวเตอร์ของคุณ

ขั้นตอนที่ 7: ตั้งค่า MySQL, PHP และ Python บน Raspberry Pi

จากคอมพิวเตอร์ของคุณให้เปิด PUTTY แล้วพิมพ์ที่อยู่ IP ของ Raspberry Pi แล้วเข้าสู่ระบบ เราจะติดตั้ง MySQL พิมพ์คำสั่ง:

sudo apt-get ติดตั้ง mysql-server

ตอนนี้เปิดประเภท MySQL:

sudo mysql -u root

ตอนนี้เราอยู่ในนั้นแล้ว เราต้องกำหนดค่า MySQL ให้ทำงานในแอปพลิเคชันของเรา ทุกที่ที่ฉันพิมพ์คำที่ล้อมรอบด้วย & นั่นคือที่ที่คุณจะป้อนข้อมูลของคุณ เก็บทั้งหมด ' ในคำสั่งและอย่าลืมใช้ ที่ส่วนท้ายของคำสั่ง พิมพ์:

สร้างผู้ใช้ '&user&'@'localhost' ระบุโดย '&รหัสผ่าน&';

ให้สิทธิ์ทั้งหมดใน *.* ถึง '&user&'@'localhost' ด้วยตัวเลือก GRANT;

ล้มเลิก;

คุณสร้างชื่อผู้ใช้และรหัสผ่านที่มีสิทธิ์ทั้งหมดใน MySQL ตอนนี้เข้าสู่ระบบด้วยข้อมูลประจำตัวใหม่ของคุณ

mysql -u &ผู้ใช้& -p

ตอนนี้จะขอรหัสผ่านของคุณ

&รหัสผ่าน&

ตอนนี้คุณอยู่ในชื่อผู้ใช้และรหัสผ่านของคุณ ตอนนี้เราจะสร้างฐานข้อมูลและตาราง:

สร้างฐานข้อมูล Arduino;

ให้สิทธิ์ทั้งหมดบน Arduino* ถึง '&ผู้ใช้&' ระบุโดย '&รหัสผ่าน& ' ด้วยตัวเลือก GRANT

ใช้ชื่อผู้ใช้และรหัสผ่านเดียวกันกับที่คุณสร้างขึ้นสำหรับการเข้าสู่ระบบ MySQL ด้านล่างเราจะสร้างตารางที่เรียกว่า usersrfid ภายใต้ฐานข้อมูล Arduino

ใช้ Arduino;

สร้างตาราง usersrfid(id INT(255) ไม่ใช่ NULL AUTO_INCREMENT คีย์หลัก);

เราแค่ต้องสร้างมันขึ้นมาเพื่อเพิ่มในภายหลัง id เป็นคอลัมน์แรกของตารางและจะเป็นตัวเลขที่เพิ่มค่าอัตโนมัติและแต่ละตารางต้องการคีย์หลัก ดังนั้นเราจึงตั้งค่าคอลัมน์นี้เป็นคีย์ ตอนนี้ออกจาก MySQL โดยพิมพ์:

ล้มเลิก;

ตอนนี้ เราต้องติดตั้งเว็บเซิร์ฟเวอร์, PHP, Python และตัวเชื่อมต่อทั้งหมดสำหรับ MySQL พิมพ์คำสั่งต่อไปนี้:

sudo apt-get ติดตั้ง mysql-client

sudo apt-get ติดตั้ง python-mysqldb

sudo apt-get ติดตั้ง apache2 php5 libapache2-mod-php5

sudo apt-get ติดตั้ง php5-mysqlnd

ต่อไปเราจะติดตั้ง PHPMyAdmin สิ่งนี้จะใช้เพื่อสร้างตาราง MySQL ของคุณโดยไม่ต้องใช้ command line.sudo apt-get install phpmyadmin

ตัวเลือกสองสามตัวจะปรากฏขึ้น เลือก apache2 ใช่เพื่อ dbcommon และป้อนรหัสผ่านสำหรับ phpmyadmin

ตอนนี้เราต้องแก้ไข apache2.conf เพื่อใช้ PHPMyAdmin เพื่อทำประเภทนี้:

sudo nano /etc/apache2/apache2.conf

เลื่อนลงมาด้านล่างแล้วพิมพ์:

รวม /etc/phpmyadmin/apache.conf

จากนั้นกด CNTRL X, Y จากนั้นกด Enter เพื่อบันทึก เมื่อบันทึกแล้วเราจะต้องรีสตาร์ทประเภท apache2:

sudo /etc/init.d/apache2 restart

ตอนนี้เปิดเว็บเบราว์เซอร์ใน Windows แล้วพิมพ์ในแถบที่อยู่ IP Address ของ raspberry Pi ตามด้วย /phpmyadmin และเข้าสู่ระบบ PHPMyAdmin ด้วยล็อกอิน MySQL และรหัสผ่านของคุณ

นี่คือที่ที่เราจะแก้ไขและเพิ่มฐานข้อมูลของคุณ

ในคอลัมน์ด้านซ้ายขยายบน arduino แล้วคลิก usersrfid ที่คุณสร้างไว้ก่อนหน้านี้ คลิกแทรกและเพิ่มคอลัมน์ของคุณ:

แรก, กลาง, สุดท้าย, สตรีท, ฉลาด, เมือง, รัฐ, zip, hphone, cphone, ตำแหน่ง, rfid, rev_rfid, access247, ภาพ

พวกเขาทั้งหมด varchar 500

จากนั้นสร้างตารางเพิ่มเติมอีก 2 ตารางโดยคลิกใหม่ในคอลัมน์ด้านซ้ายภายใต้ Arduino เรียก userrfid247 ตารางแรกและแทรกคอลัมน์:

id, แรก, สุดท้าย, ตำแหน่ง, rfid, รูปภาพ

id จะเป็น INT 255 ให้ตรวจสอบ AI เพื่อเพิ่มค่าอัตโนมัติและคลิกที่ปุ่มเพื่อสร้างคีย์หลัก ส่วนที่เหลือจะเป็น varchar 500

ตารางที่สองเรียก ControlUsers ด้วยคอลัมน์:

id, rfid, rfid_st, วันที่, ครั้งแรก, ล่าสุด

อีกครั้ง id จะเพิ่มอัตโนมัติ INT 255 คีย์หลักและส่วนที่เหลือคือ varchar 500

ตอนนี้ตาราง MySQL ทั้งหมดถูกสร้างขึ้นแล้ว ปล่อยให้ว่างไว้ก่อน

userrfid ตารางเป็นตารางหลักที่ผู้ใช้ทั้งหมดจะถูกเพิ่มด้วยข้อมูลและรหัส RFID ตาราง usersrfid247 เป็นที่ที่ผู้ใช้สามารถเข้าถึง 24/7 ได้ และ ControlUsers คือตารางที่บันทึกการเข้าถึงจะเป็น ฟิลด์เหล่านี้ทั้งหมดจะถูกเติมในภายหลัง

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

sudo chmod a+w /var/www/html

ตอนนี้ใช้เดสก์ท็อประยะไกลแล้วไปที่เดสก์ท็อป Raspberry Pi ไปที่ file explorer และไปที่ไดเร็กทอรี /var/www/html ลบไฟล์ index.html จากภายในโฟลเดอร์นั้นและสร้างโฟลเดอร์ใหม่ชื่อ images คลิกขวาที่โฟลเดอร์ใหม่และไปที่การอนุญาต อนุญาตให้ทุกคนเข้าถึงโฟลเดอร์

ขั้นตอนที่ 8: เชื่อมต่อ Raspberry Pi กับเครือข่าย YUN

จากเดสก์ท็อประยะไกลของคอมพิวเตอร์ไปยัง Raspberry Pi

เปลี่ยนเครือข่าย wifi เพื่อเชื่อมต่อกับ wifi ของ Arduino คุณจะสูญเสียการเชื่อมต่อเดสก์ท็อประยะไกล

เข้าสู่ระบบ Raspberry pi ผ่านแป้นพิมพ์ เมาส์ และจอภาพที่เราเชื่อมต่อทิ้งไว้ ที่บรรทัดคำสั่งพิมพ์ startx เพื่อไปที่ GUI และดูว่าที่อยู่ IP ใดที่ Arduino กำหนดให้กับ Raspberry Pi และจดไว้

กลับไปที่คอมพิวเตอร์ของคุณและเชื่อมต่อกับ Arduino wifi ตอนนี้คุณสามารถใช้เดสก์ท็อประยะไกลเพื่อเข้าถึง Raspberry Pi ด้วยที่อยู่ IP ใหม่

เราจำเป็นต้องตั้งค่าการเชื่อมต่อ wifi ของ Arduino ให้มีลำดับความสำคัญสูงกว่าบน Raspberry Pi ลงชื่อเข้าใช้ Raspberry Pi ด้วย Putty โดยใช้ที่อยู่ IP ใหม่ พิมพ์:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

ภายใต้เครือข่ายที่ระบุไว้สำหรับ Arduino ให้เพิ่มบรรทัดอื่นในวงเล็บแล้วพิมพ์:

ลำดับความสำคัญ=1

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

บันทึกด้วย CNTRL X, Y แล้ว Enter เพื่อบันทึกและรีบูต Raspberry Pi

กลับเข้าสู่ระบบ Raspberry ด้วย PUTTY โดยใช้ที่อยู่ IP ที่กำหนดจาก Arduino

ตอนนี้เราจะตั้งค่า MySQL ให้เข้าถึงได้จาก YUN จากระยะไกล โดยค่าเริ่มต้น MySQL จะปฏิเสธการเข้าถึงระยะไกลทั้งหมด เมื่อต้องการทำเช่นนี้ พิมพ์:

sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf

เลื่อนลงไปที่: ผูก *ที่อยู่ IP* วางเคอร์เซอร์ที่จุดเริ่มต้นของบรรทัดนั้นแล้วกด i (เพื่อแก้ไข) และใส่ # ที่นั่น กด ESC เพื่อหยุดการแก้ไขและเลื่อนลงมาด้านล่าง บันทึกและออกโดยพิมพ์:wq

เริ่มบริการ MySQL ใหม่:

sudo service mysql restart

ตอนนี้เราต้องการ MySQL เพื่อให้สามารถระบุที่อยู่ IP ของ YUN ได้ เข้าสู่ระบบ mysql เหมือนก่อนหน้านี้โดยพิมพ์:

mysql -u &ผู้ใช้& -p

ที่พร้อมท์ให้พิมพ์รหัสผ่านของคุณ

พิมพ์:

ให้สิทธิ์ทั้งหมดบน *.* ถึง '&user&'@'&YUNip&' ระบุโดย '&password& ' ด้วยตัวเลือก GRANT;

SELECT * FROM information_schema.user_privileges WHERE GRANTEE LIKE "'&user&'%";

คุณควรเห็น username@ipaddress แสดงอยู่ที่นั่น

สิทธิพิเศษในการล้าง:

ล้มเลิก;

ขั้นตอนที่ 9: ตั้งโปรแกรม Arduino YUN

ดาวน์โหลด Python Scripts จากหน้านี้ลงในคอมพิวเตอร์ของคุณ แก้ไขสคริปต์หลามโดยใช้ Notepad ++ ค้นหาข้อมูลฐานข้อมูลที่ด้านบนและแก้ไขให้ตรงกับข้อมูลประจำตัวของฐานข้อมูลของคุณ ที่อยู่ IP คือที่อยู่ IP ของ Raspberry Pi ใหม่ และข้อมูลการเข้าสู่ระบบของ MySQL ของคุณ

เชื่อมต่อคอมพิวเตอร์ของคุณกับเครือข่าย Arduino หากยังไม่ได้เชื่อมต่อ และพิมพ์ที่อยู่ IP ของ Arduino ลงในเว็บเบราว์เซอร์ ควรเป็น 192.168.240.1เข้าสู่ระบบ YUN และไปที่การกำหนดค่าขั้นสูงซึ่งจะนำคุณไปยัง Luci GUI ไปที่ส่วน DHCP ภายใต้เครือข่ายและตั้งค่า Raspberry Pi เป็น IP แบบคงที่ สิ่งนี้จะบอก Arduino ให้กำหนดที่อยู่ IP นั้นให้กับ Raspberry Pi เสมอเพื่อไม่ให้เปลี่ยนแปลง

เปิด WinSCP บนคอมพิวเตอร์ของคุณและอัปโหลดสคริปต์หลามที่แก้ไขแล้ว 3 ตัวไปที่ /mnt/sda1/arduino/python บน Arduino

ปิดใช้งานเซิร์ฟเวอร์ NTP บน YUN เพื่อให้ RTC ทำงานได้อย่างถูกต้อง เปิด Putty บนคอมพิวเตอร์ของคุณและเชื่อมต่อกับที่อยู่ IP ของ YUN และเข้าสู่ระบบ ในประเภทคำสั่ง:

/etc/init.d/sysntpd stop/etc/init.d/sysntpd ปิดการใช้งาน

หากคุณยังไม่ได้ดาวน์โหลดไลบรารี DS3132 จาก https://www.rinkydinkelectronics.com/library.php?id… คุณจะต้องเชื่อมต่อ wifi ของคอมพิวเตอร์กับเครือข่ายท้องถิ่นของคุณอีกครั้งเพื่อดำเนินการดังกล่าว หลังจากเชื่อมต่อกับ YUN อีกครั้ง

เปิด Arduino IDE บนคอมพิวเตอร์ของคุณและตั้งค่าเป็น YUN และพอร์ตเป็นที่อยู่ IP ไปที่ file>examples>DS3231>DS3231_Serial_easy และตั้งเวลาของ RTC จำวันที่เป็น d/m/year แล้วอัปโหลด

อัปโหลด Arduino Sketch สุดท้ายไปยัง Arduino โดยใช้ Arduino IDE

ขั้นตอนที่ 10: เว็บเซิร์ฟเวอร์ Raspberry Pi

ตอนนี้โหลดไฟล์ php, html และ css จากหน้านี้ลงในคอมพิวเตอร์ของคุณ แก้ไขสิ่งต่อไปนี้ด้วย Notepad++, dbinfo.php และ auth.php dbinfo.php จะต้องแก้ไขข้อมูลฐานข้อมูลไปยังที่อยู่ IP, ชื่อผู้ใช้, รหัสผ่าน ฯลฯ ของ MySQL จะต้องแก้ไข auth.php สำหรับการเข้าสู่ระบบเว็บไซต์และรหัสผ่านที่คุณต้องสร้าง เป็นไฟล์ขนาดเล็กและคุณสามารถค้นหาได้โดยง่ายเพียงแค่อ่านผ่านๆ

ตรวจสอบให้แน่ใจว่าคอมพิวเตอร์ของคุณยังคงเชื่อมต่อกับ Arduino Wifi และใช้ WinSCP และใส่ไฟล์ php, html และ css จากคอมพิวเตอร์ของคุณไปยัง Raspberry Pi ในไดเร็กทอรี /var/www/html

เปิดเว็บเบราว์เซอร์บนคอมพิวเตอร์ของคุณและพิมพ์ที่อยู่ IP ของ Raspberry Pi จากนั้นหน้าจอเข้าสู่ระบบของเว็บเพจจะปรากฏขึ้น เข้าสู่ระบบด้วย UID และรหัสผ่านที่คุณสร้างขึ้นเมื่อคุณแก้ไขไฟล์ auth.php ทุกอย่างจะว่างเปล่า ไปที่เพิ่มสมาชิกและเริ่มกรอกผู้ใช้ของคุณ

ขั้นตอนที่ 11: สนุก

เชื่อมต่อคอมพิวเตอร์ / โทรศัพท์ / แท็บเล็ตของคุณกับ wifi ของ Arduino เปิดเบราว์เซอร์พิมพ์ IP แบบคงที่ของ Raspberry Pi เข้าสู่หน้าเว็บและคุณสามารถเริ่มเพิ่มข้อมูลรับรองสมาชิกได้

หากต้องการค้นหารหัส RFID ของการ์ด ให้สแกนและตรวจสอบบันทึกการเข้าใช้ คัดลอกโค้ดแล้ววางลงในช่อง RFID ของสมาชิกใหม่

การเข้าถึงปกติถูกตั้งค่าเป็นวันอังคารระหว่าง 16:00 น. - 23:00 น. เท่านั้น หากต้องการเปลี่ยนการแก้ไขนี้ สคริปต์ python comparison.py จะมีบรรทัดในนั้น IF ที่มีวันในสัปดาห์และเวลาที่มีเครื่องหมายมากกว่าและน้อยกว่า เปลี่ยนวันและเวลาที่คุณต้องการให้ผู้ใช้ทุกคนเข้าถึงได้ การเข้าถึง 24/7 จะได้รับการยอมรับตลอดเวลา

เมื่อเพิ่มสมาชิกแล้ว ให้สแกนการ์ดและเห็นการเปิดประตู กลับไปที่บันทึกและดูเพิ่ม

สนุก

แนะนำ: