สารบัญ:

Edison Makes Me a Coffee (รหัส): 3 ขั้นตอน
Edison Makes Me a Coffee (รหัส): 3 ขั้นตอน

วีดีโอ: Edison Makes Me a Coffee (รหัส): 3 ขั้นตอน

วีดีโอ: Edison Makes Me a Coffee (รหัส): 3 ขั้นตอน
วีดีโอ: แอบกินขนม! #พ่อบ้านใจกล้า #แอบกิน #ขนม #ฝากติดตาม #ช่องยูทูป #พี่นนท์ #ครอบครัวเอ็นจอย #เอ็นจอยคับผม 2024, ธันวาคม
Anonim
เอดิสันทำให้ฉันเป็นกาแฟ (รหัส)
เอดิสันทำให้ฉันเป็นกาแฟ (รหัส)

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

ขั้นตอนที่ 1: ตั้งค่า Intel Edison. ของคุณ

ตั้งค่า Intel Edison ของคุณ
ตั้งค่า Intel Edison ของคุณ

เชื่อมต่อสาย USB สองเส้นจากคอมพิวเตอร์ของคุณเข้ากับบอร์ด Edison (หนึ่งสายสำหรับจ่ายไฟ อีกสายสำหรับข้อมูลอนุกรม) ใน OSX ให้เปิดการเชื่อมต่อแบบอนุกรมกับบอร์ดจาก terminal:screen /dev/tty.usbserial-AJ035OK6 115200 -Lการเข้าสู่ระบบเริ่มต้นของ Edison คือรูท เมื่อคุณเข้าไปแล้ว ให้กำหนดค่าเครือข่าย wifi:configure_edison --wifiLet's เพิ่มรายการแหล่งที่มาเพื่อให้สามารถดาวน์โหลดแพ็คเกจจาก Edison ได้ เปิดไฟล์นี้:root@edison:~# vi /etc/opkg/base-feeds.confและเพิ่มบรรทัดเหล่านี้ลงไป (พิมพ์ "i" เพื่อให้สามารถแทรกข้อความในตัวแก้ไข vi):src/gz all http:/ /repo.opkg.net/edison/repo/allsrc/gz เอดิสัน https://repo.opkg.net/edison/repo/edisonsrc/gz core2-32 https://repo.opkg.net/edison/repo/core2 -32จากนั้นอัปเดตแหล่งที่มาและติดตั้งไลบรารีที่จำเป็นสำหรับโครงการของเรา:root@edison:~# opkg updateroot@edison:~# opkg ติดตั้ง libmraa0 nanoroot@edison:~# opkg ติดตั้ง python-piproot@edison:~# curl https:/ /bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | pythonroot@edison:~# pip ติดตั้ง ubidots เสร็จสิ้น! ตอนนี้เราพร้อมที่จะเขียนโค้ดแล้ว ตรวจหาเมื่อมาถึงที่ทำงาน เราจะใช้ Scapy packet sniffer เพื่อตรวจจับการรับส่งข้อมูล ARP ในเครือข่าย wifi ในพื้นที่ Scapy เป็นเครื่องมือที่ยอดเยี่ยมที่ให้คุณจัดการแพ็กเก็ตเครือข่ายจากความง่ายของสคริปต์ Python หากปราศจากมัน เราจะต้องแยกวิเคราะห์รหัสไบนารีจำนวนมากเมื่อดมกลิ่นการรับส่งข้อมูลในเครือข่าย สคริปต์แรกของเราจะมองหาที่อยู่ MAC ที่จัดเก็บไว้ในไฟล์ csv ชื่อ "dictionary.csv" แล้วส่งค่า "1" ไปยังตัวแปร Ubidots หมายความว่าบุคคลนั้นมาถึง หากเห็นที่อยู่ MAC เป็นครั้งแรก สคริปต์จะสร้างตัวแปร Ubidots โดยอัตโนมัติเพื่อเก็บข้อมูล สังเกตบรรทัด: sniff(prn = arp_count, filter="arp", store = 0)ซึ่งเรียกฟังก์ชัน " arp_count(pkt)" ทุกครั้งที่มีการดมข้อมูลแพ็กเก็ต ARP ฟังก์ชันนั้นเป็นที่ที่เราเรียกใช้หลายกระบวนการเพื่ออัปเดตตัวแปร Ubidots เหตุผลที่ฉันใช้การประมวลผลหลายตัวก็เพราะว่าฉันต้องการฟังก์ชันคู่ขนาน ดังนั้น หากผู้ใช้สองคนมาถึงพร้อมกัน แพ็กเก็ตทั้งสองก็จะสามารถดมกลิ่นและอัปเดตใน Ubidots ตัวเลือก "store = 0" มีความสำคัญมากเพราะไม่เช่นนั้น แพ็กเก็ตจะ เริ่มเติม RAM ของ Edison และ Swap memory และจะหยุดหลังจากผ่านไปสองสามชั่วโมงhttps://halckemy.s3.amazonaws.com/uploads/document/file/46958/dictionary.csvhttps://halckemy.s3.amazonaws.com /uploads/document/file/46543/wifi_sniff.py

ขั้นตอนที่ 2: ทริกเกอร์เซอร์โวเมื่อแพ็คเก็ต ARP ถูกดมกลิ่น

ทริกเกอร์เซอร์โวเมื่อแพ็คเก็ต ARP ถูกดมกลิ่น
ทริกเกอร์เซอร์โวเมื่อแพ็คเก็ต ARP ถูกดมกลิ่น

สคริปต์ที่สองจะสำรวจว่าตัวแปร Ubidots ตลอดเวลา (อันที่เราส่ง "0" หรือ "1" ไปยัง) และเปิดใช้งานเซอร์โวเมื่อตัวแปรมีค่าเท่ากับ "1" ฉันใช้ไลบรารี MRAA (แนะนำโดยกลุ่ม Intel) ซึ่งช่วยให้คุณสามารถจัดการหมุด GPIO ทั้งหมดของ Edison จากเปลือก Linux หรือสคริปต์หลาม (จริงๆ แล้ว ไม่จำเป็นต้องเขียนโค้ดใน Arduino!) สิ่งนี้ทำให้ฉันจัดการเซอร์โวมอเตอร์จาก Python ได้อย่างรวดเร็วhttps://halckemy.s3.amazonaws.com/uploads/document/file/46556/pour_coffee.pyเซอร์โวติดอยู่กับพิน D3 ใน Grove Kit คุณสามารถตั้งค่าเซอร์โวนี้เพื่อกระตุ้นวาล์วทางกายภาพ เช่น เครื่องชงกาแฟ ฉันทำที่วางแก้วง่ายๆ เพื่อการสาธิต แต่คุณยังสามารถสร้าง "สวิตช์" ในแดชบอร์ดของคุณและควบคุมที่รินกาแฟได้ด้วยตนเอง:

ขั้นตอนที่ 3: โปรดลงคะแนน

โหวตค่ะ!!! สำหรับวิดีโอ:

แนะนำ: