สารบัญ:

ปล้น. ผู้ช่วยแจ้งเตือนทางโทรศัพท์: 13 ขั้นตอน
ปล้น. ผู้ช่วยแจ้งเตือนทางโทรศัพท์: 13 ขั้นตอน

วีดีโอ: ปล้น. ผู้ช่วยแจ้งเตือนทางโทรศัพท์: 13 ขั้นตอน

วีดีโอ: ปล้น. ผู้ช่วยแจ้งเตือนทางโทรศัพท์: 13 ขั้นตอน
วีดีโอ: แม่อยากให้เป็นตำรวจ แต่หนูอยากเป็นนักเต้น 2024, กันยายน
Anonim
ปล้น. ผู้ช่วยแจ้งเตือนทางโทรศัพท์
ปล้น. ผู้ช่วยแจ้งเตือนทางโทรศัพท์

By khinds10www.kevinhinds.comติดตามเพิ่มเติมโดยผู้เขียน:

โซฟาเด็กที่ทำลายไม่ได้!
โซฟาเด็กที่ทำลายไม่ได้!
โซฟาเด็กที่ทำลายไม่ได้!
โซฟาเด็กที่ทำลายไม่ได้!
พีซีแบบติดผนังที่ง่ายและรวดเร็ว
พีซีแบบติดผนังที่ง่ายและรวดเร็ว
พีซีแบบติดผนังที่ง่ายและรวดเร็ว
พีซีแบบติดผนังที่ง่ายและรวดเร็ว
หน้าจอเตาผิงดิจิตอล
หน้าจอเตาผิงดิจิตอล
หน้าจอเตาผิงดิจิตอล
หน้าจอเตาผิงดิจิตอล

เกี่ยวกับ: การพิมพ์ 3 มิติและการออกแบบโครงการ RaspberryPI ในอีกไม่กี่ปีข้างหน้า ข้อมูลเพิ่มเติมเกี่ยวกับ khinds10 »

ผู้ช่วยการแจ้งเตือนทางโทรศัพท์เดสก์ท็อปพร้อมฟีเจอร์ (R. O. B.) Robotic Operating Buddy

ขั้นตอนที่ 1: แฟลช RaspberriPi Hard Disk / ติดตั้งซอฟต์แวร์ที่จำเป็น (โดยใช้ Ubuntu Linux)

สร้างฮาร์ดดิสก์ใหม่ของคุณสำหรับ DashboardPI

ใส่ microSD เข้ากับคอมพิวเตอร์ของคุณผ่านอะแดปเตอร์ USB และสร้างภาพดิสก์โดยใช้คำสั่ง dd

ค้นหาการ์ด microSD ที่ใส่ของคุณโดยใช้คำสั่ง df -h ยกเลิกการต่อเชื่อมและสร้างภาพดิสก์ด้วยคำสั่งคัดลอกดิสก์ dd

$ df -h /dev/sdb1 7.4G 32K 7.4G 1% /สื่อ/XXX/1234-5678

$ umount /dev/sdb1

ข้อควรระวัง: ตรวจสอบให้แน่ใจว่าคำสั่งนั้นถูกต้องอย่างสมบูรณ์ คุณสามารถทำให้ดิสก์อื่นเสียหายได้ด้วยคำสั่งนี้

if=ตำแหน่งของไฟล์รูปภาพ RASPBIAN JESSIE LITE ของ=ตำแหน่งของการ์ด microSD ของคุณ

$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (หมายเหตุ: ในกรณีนี้ คือ /dev/sdb, /dev/sdb1 เป็นพาร์ติชั่นโรงงานที่มีอยู่บน ไมโครเอสดี)

การตั้งค่า RaspberriPi. ของคุณ

ใส่การ์ด microSD ใหม่ของคุณเข้ากับ raspberrypi และเปิดเครื่องด้วยจอภาพที่เชื่อมต่อกับพอร์ต HDMI

เข้าสู่ระบบ

ผู้ใช้: pi pass: raspberry

เปลี่ยนรหัสผ่านบัญชีของคุณเพื่อความปลอดภัย

sudo passwd pi

เปิดใช้งานตัวเลือกขั้นสูง RaspberriPi

sudo raspi-config

เลือก:

1 ขยายระบบไฟล์

9 ตัวเลือกขั้นสูง

ชื่อโฮสต์ A2 เปลี่ยนเป็น "RobbieAssistant"

A4 SSH เปิดใช้งานเซิร์ฟเวอร์ SSH

A7 I2C เปิดใช้งานอินเทอร์เฟซ i2c

เปิดใช้งานแป้นพิมพ์ภาษาอังกฤษ/สหรัฐอเมริกา

sudo nano /etc/default/keyboard

เปลี่ยนบรรทัดต่อไปนี้: XKBLAYOUT="us"

รีบูต PI สำหรับการเปลี่ยนแปลงรูปแบบแป้นพิมพ์ / การปรับขนาดระบบไฟล์เพื่อให้มีผล

$ sudo shutdown -r ตอนนี้

เชื่อมต่ออัตโนมัติกับ WiFi ของคุณ

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

เพิ่มบรรทัดต่อไปนี้เพื่อให้ raspberrypi ของคุณเชื่อมต่อกับ WiFi ที่บ้านของคุณโดยอัตโนมัติ (หากเครือข่ายไร้สายของคุณชื่อ "linksys" ในตัวอย่างต่อไปนี้)

network={ ssid="linksys" psk="WIRELESS PASSWORD HERE" } รีบูต PI เพื่อเชื่อมต่อกับเครือข่าย WiFi

$ sudo shutdown -r ตอนนี้

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

$ ifconfig ค้นหา "inet addr: 192.168. XXX. XXX" ในผลลัพธ์ของคำสั่งต่อไปนี้สำหรับที่อยู่ IP ของ PI ของคุณ

ไปที่เครื่องอื่นและลงชื่อเข้าใช้ raspberrypi ของคุณผ่าน ssh

$ ssh [email protected]. XXX. XXX

เริ่มการติดตั้งแพ็คเกจที่จำเป็น

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get ติดตั้ง build-essential tk-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libncurses5-dev libncursesw5-dev libpypthline6- python3-requests python3-setuptools python3-urllib python3-urllib3 python3-requests vim git python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio pymtools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev vim git python-smbus i2c-tools python-imaging python-smbus build-essential pythgpon-dev python -gpiozero python-psutil xz-utils

$ sudo pip ติดตั้งคำขอ

อัปเดตการตั้งค่าเขตเวลาท้องถิ่น

$ sudo dpkg-reconfigure tzdata

เลือกเขตเวลาของคุณโดยใช้อินเทอร์เฟซ

ตั้งค่าคำสั่ง l ไดเร็กทอรีอย่างง่าย [ตัวเลือก]

vi ~/.bashrc

เพิ่มบรรทัดต่อไปนี้:

นามแฝง l='ls -lh'

ที่มา ~/.bashrc

แก้ไขการเน้นไวยากรณ์เริ่มต้นของ VIM [ตัวเลือก]

sudo vi /etc/vim/vimrc

uncomment บรรทัดต่อไปนี้:

ไวยากรณ์บน

สร้างโฟลเดอร์บันทึกสำหรับแอปพลิเคชันเพื่อเรียกใช้ mkdir /home/pi/RobbieAssistant/logs

chmod 777 /home/pi/RobbieAssistant/logs

กำหนดค่าแอปพลิเคชันให้ทำงานอย่างถูกต้องในไฟล์กำหนดค่า settings.py ค้นหาไฟล์ settings-shadow.py ในโฟลเดอร์ /includes/ ของโปรเจ็กต์และคัดลอกไปที่ settings.py และปรับให้เข้ากับการตั้งค่าปัจจุบันของคุณ

# คีย์พยากรณ์อากาศ io API สำหรับข้อมูลสภาพอากาศในท้องถิ่น

weatherAPIURL = 'https://api.forecast.io/forecast/'

weatherAPIKey = 'คีย์ API ของคุณสำหรับ FORECAST. IO'

# ตัวเลือกสำหรับการเรียกใช้ตัวบันทึกอุณหภูมิ/ความชื้นระยะไกล

DashboardServer = 'mydevicelogger.com'

# ค้นหา google เพื่อรับละติจูด/ลองจิจูดสำหรับตำแหน่งบ้านของคุณ

ละติจูด = 41.4552578

ลองจิจูด = -72.1665444

ขั้นตอนที่ 2: อุปกรณ์ที่จำเป็น

วัสดุที่จำเป็น
วัสดุที่จำเป็น
วัสดุที่จำเป็น
วัสดุที่จำเป็น
วัสดุที่จำเป็น
วัสดุที่จำเป็น
วัสดุที่จำเป็น
วัสดุที่จำเป็น

RaspberriPi Zero

DHT11 เครื่องทำความชื้น

ไฟ LED (x4) เขียว / เหลือง / น้ำเงิน / แดง 2.6 จอแสดงผล Digole

ขั้นตอนที่ 3: สร้างและต่อสายอุปกรณ์

สร้างและต่อสายอุปกรณ์
สร้างและต่อสายอุปกรณ์

เตรียมจอแสดงผล Digole สำหรับ i2C

ที่ด้านหลังของ Digole Display ให้บัดกรีจัมเปอร์เพื่อกำหนดให้จอแสดงผลใช้โปรโตคอล i2c

ขั้นตอนที่ 4: ใช้เครื่องพิมพ์ 3 มิติ พิมพ์หน้าปก กล่อง และแผงด้านหลัง

ใช้เครื่องพิมพ์ 3 มิติ พิมพ์ปก กล่อง และแผงด้านหลัง
ใช้เครื่องพิมพ์ 3 มิติ พิมพ์ปก กล่อง และแผงด้านหลัง

ใช้ไฟล์ X STL ต่อไปนี้ในโฟลเดอร์ 3DPrint, R. O. B. หุ่นยนต์, สายรัด LED และที่ยึดจอแสดงผล

buttonContainer-base.stl

buttonContainer-lid.stl

displaymount-final.stl

led-harness-final.stl

MiniNintendoROB.zip

หุ่นยนต์พิมพ์โดย: Mini Nintendo R. O. B. - โดย RabbitEngineering

www.thingiverse.com/thing:1494964

ฉันใช้เทปสีแดงเพื่อทำให้ตาแดงด้วยพื้นหลังกระบังหน้าสีดำ

ขั้นตอนที่ 5: การเดินสายส่วนประกอบ

การเดินสายไฟส่วนประกอบ
การเดินสายไฟส่วนประกอบ

ดิโกล ดิสเพลย์

GND -> GND

ข้อมูล -> SDA

CLK -> SCL

VCC -> 3V

DHT11 เครื่องทำความชื้น

VCC -> 5V

GND -> GND

ข้อมูล -> GPIO 25

ตัวต้านทานสีน้ำเงิน

VCC -> GPIO 17 (พร้อมตัวต้านทาน 270ohm)

GND -> GND

ตัวต้านทานสีเหลือง

VCC -> GPIO 13 (พร้อมตัวต้านทาน 270ohm)

GND -> GND

ตัวต้านทานสีเขียว

VCC -> GPIO 6 (พร้อมตัวต้านทาน 270ohm)

GND -> GND

ตัวต้านทานสีแดง

VCC -> GPIO 12 (พร้อมตัวต้านทาน 270ohm)

GND -> GND

ปุ่มกดชั่วขณะสีแดง

VCC -> GPIO 16 (พร้อมตัวต้านทาน 270ohm)

GND -> GND

ปุ่มกดสีน้ำเงินชั่วขณะ

VCC -> GPIO 26 (พร้อมตัวต้านทาน 270ohm)

GND -> GND

ขั้นตอนที่ 6: เชื่อมต่อส่วนประกอบกับ Robot

เชื่อมต่อส่วนประกอบกับหุ่นยนต์
เชื่อมต่อส่วนประกอบกับหุ่นยนต์
เชื่อมต่อส่วนประกอบกับหุ่นยนต์
เชื่อมต่อส่วนประกอบกับหุ่นยนต์
เชื่อมต่อส่วนประกอบกับหุ่นยนต์
เชื่อมต่อส่วนประกอบกับหุ่นยนต์

หลังจากที่คุณพิมพ์ที่ยึดหน้าจอแล้ว ให้เชื่อมต่อกับจอแสดงผล diole

เชื่อมต่อจอแสดงผลกับ RPi ด้วยการเดินสายที่เพียงพอเพื่อติด RPi ที่ด้านหลังของหุ่นยนต์

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

เสร็จสิ้น เดินสายไฟและประกอบหุ่นยนต์โดยเชื่อมต่อ RPi ที่ด้านหลัง และ DHT11 ติดกาวที่ด้านล่าง

ขั้นตอนที่ 7: ตรวจสอบการกำหนดค่า I2C

เริ่มต้น RaspberryPi ของคุณและตรวจสอบให้แน่ใจว่าบัส I2C รู้จักการแสดงเซ็กเมนต์ 7/14 ที่เชื่อมต่อทั้งหมดของคุณ [แต่ละจอแสดงผลจะได้รับที่อยู่ที่ไม่ซ้ำกันซึ่งอธิบายข้างต้นโดยวิธีประสานจัมเปอร์ของจอแสดงผลแต่ละชุดในรูปแบบต่างๆ]

หากคุณมีจอแสดงผลที่มีการบัดกรีจัมเปอร์อย่างถูกต้อง คุณควรมีเอาต์พุตต่อไปนี้สำหรับคำสั่ง i2cdetect:

sudo i2cdetect -y 1

0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- --

10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

20: -- -- -- -- -- -- -- 27 -- -- -- -- -- -- -- --

30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

70: -- -- -- -- -- -- -- --

ขั้นตอนที่ 8: ติดตั้ง DHT11

$ cd ~

$ git clone

$ cd Adafruit_Python_DHT/

$ sudo python setup.py ติดตั้ง

$ sudo python ez_setup.py

$ ตัวอย่างซีดี /

$ vi simpletest.py เปลี่ยนบรรทัดต่อไปนี้:

เซ็นเซอร์ = Adafruit_DHT. DHT11

แสดงความคิดเห็นบรรทัดออก

พิน = 'P8_11'

ยกเลิกหมายเหตุบรรทัดและเปลี่ยนหมายเลขพินเป็น16

พิน = 25

เรียกใช้การทดสอบ

หลาม simpletest.py

คุณควรเห็นการอ่านค่าเมตริกของอุณหภูมิและความชื้นที่แสดงบนบรรทัดคำสั่ง

ขั้นตอนที่ 9: โคลนที่เก็บ

$ cd ~$ git โคลน

ขั้นตอนที่ 10: เพิ่ม Pushbullet API (โดยใช้ Python 3.5)

การใช้แอป pushbullet สำหรับโทรศัพท์ของคุณ ลงชื่อสมัครใช้เพื่อรับคีย์ API เพื่อให้สคริปต์ python ธรรมดาสามารถจับภาพและพุชการแจ้งเตือนของฮับข้อมูลและแฟล็กตัวบ่งชี้

ติดตั้ง Python 3.5 สำหรับฟังก์ชัน asyncio

$ sudo apt-get update sudo apt-get install build-essential tk-dev sudo apt-get install libncurses5-dev libncursesw5-dev libreadline6-dev sudo apt-get ติดตั้ง libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev sudo apt-get install libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev หากไม่พบแพ็คเกจใดแพ็คเกจหนึ่ง ให้ลองใช้หมายเลขเวอร์ชันที่ใหม่กว่า (เช่น libdb5.4-dev แทน libdb5.3-dev)

$ wget https://www.python.org/ftp/python/3.5.2/Python-3…. tar zxvf Python-3.5.2.tgz cd Python-3.5.2./configure --prefix=/usr/local/opt/python-3.5.2 ทำให้ sudo ทำการติดตั้ง sudo ln -s /usr/local/opt/python -3.5.2/bin/pydoc3.5 /usr/bin/pydoc3.5 sudo ln -s /usr/local/opt/python-3.5.2/bin/python3.5 /usr/bin/python3.5 sudo ln -s /usr/local/opt/python-3.5.2/bin/python3.5m /usr/bin/python3.5m sudo ln -s /usr/local/opt/python-3.5.2/bin/pyvenv-3.5 /usr/bin/pyvenv-3.5 sudo ln -s /usr/local/opt/python-3.5.2/bin/pip3.5 /usr/bin/pip3.5 cd ~ echo 'alias python35="/usr/local /opt/python-3.5.2/bin/python3.5"' >>.bashrc echo 'alias idle35="/usr/local/opt/python-3.5.2/bin/python3.5"' >>.bashrc ติดตั้งการพึ่งพา python3

$ sudo apt-get install python3-setuptools sudo apt-get install python3-pip sudo pip3 ติดตั้ง asyncpushbullet sudo pip3 ติดตั้งคำขอ วิธีเลือก ดาวน์โหลดที่เก็บ python โดยตรงเพื่อรับการพึ่งพา python โดยไม่ต้องใช้ pip ติดตั้ง

git clone https://github.com/rharder/asyncpushbullet cd asyncpushbullet && sudo /usr/local/opt/python-3.5.2/bin/python3.5 setup.py ติดตั้ง ไปที่หน้าการตั้งค่า pushbullet ในบัญชีของคุณเพื่อสร้าง คีย์ API เพื่อใช้

กำหนดค่าสคริปต์ pushbullet-listener.py ของคุณให้มี API ที่ถูกต้องและโฮสต์ส่วนกลางของแดชบอร์ด

# คีย์ API ของคุณจาก PushBullet.com API_KEY = "o. XXXYYYZZZ111222333444555666"

# โฮสต์ของโฮสต์เซิร์ฟเวอร์ส่วนกลางแดชบอร์ด dashboardServer = 'MY-SERVER-HERE.com'

ขั้นตอนที่ 11: เพิ่มสคริปต์เพื่อเริ่มต้นที่ Dashboard Boot และรีสตาร์ท Dashboard Pi. ของคุณ

$ crontab -e

@reboot nohup /usr/local/opt/python-3.5.2/bin/python3.5 /home/pi/PushBullet/pushbullet-listener.py >/dev/null 2>&1

@reboot nohup /usr/local/opt/python-3.5.3/bin/python3.5 /home/pi/RobbieAssistant/PushBullet/pushbullet-listener.py > /dev/null 2>&1

@reboot nohup python /home/pi/RobbieAssistant/Robbie.py > /dev/null 2>&1

@reboot nohup python /home/pi/RobbieAssistant/Temp.py > /dev/null 2>&1

@reboot nohup python /home/pi/RobbieAssistant/Weather.py > /dev/null 2>&1

ขั้นตอนที่ 12: ไม่บังคับ: สร้างภาพ Nintendo ของคุณเองเพื่อแสดงบนจอแสดงผล

อัปโหลดไฟล์ 128x128 ของคุณเองไปยัง URL ต่อไปนี้:

www.digole.com/tools/PicturetoC_Hex_converter.php

เลือกไฟล์ภาพที่จะอัพโหลด ใส่ขนาดที่ต้องการลงบนหน้าจอ (กว้าง/สูง)

เลือก "256 สีสำหรับ OLED/LCD สี (1 ไบต์/พิกเซล)" ในเมนูแบบเลื่อนลง "ใช้สำหรับ"

รับเอาต์พุตฐานสิบหก

เพิ่มเอาต์พุตฐานสิบหกลงในไฟล์ display/build/ header (.h) ใช้ไฟล์อื่นเป็นแนวทางสำหรับไวยากรณ์

รวมไฟล์ใหม่ในไฟล์ digole.c #include myimage.h

รวมเบ็ดบรรทัดคำสั่งใหม่ให้กับไฟล์รูปภาพของคุณในไฟล์. หมายเหตุ: คำสั่งด้านล่างบอกว่าวาดภาพของคุณที่ตำแหน่ง 10 พิกเซลมากกว่า 10 พิกเซลลง คุณสามารถเปลี่ยนเป็นพิกัด X, Y อื่นได้ คุณยังสามารถเปลี่ยนค่า 128, 128 เป็นขนาดใดก็ได้ของรูปภาพใหม่ของคุณ

} อื่น if (strcmp (digoleCommand, "myimage") == 0) { drawBitmap256 (10, 10, 128, 128, &myimageVariableHere, 0); // myimageVariableHere ถูกกำหนดไว้ในไฟล์ (.h) ของคุณ }

ตอนนี้สร้างใหม่ (ละเว้นข้อผิดพลาด) ด้านล่างเพื่อให้ภาพใหม่ของคุณแสดงผลด้วยคำสั่งต่อไปนี้

$./digole myimage

สร้างใหม่ [รวม] Digole Display Driver สำหรับการเปลี่ยนแปลงเพิ่มเติมของคุณ

$ cd display/build

$ gcc diole.c

$ mv a.out../../digole

$ chmod +x../../digole

ขั้นตอนที่ 13: เสร็จแล้ว

เสร็จแล้ว!

แนะนำ: