Mục lục:

R.O.B. Hỗ trợ thông báo qua điện thoại: 13 bước
R.O.B. Hỗ trợ thông báo qua điện thoại: 13 bước

Video: R.O.B. Hỗ trợ thông báo qua điện thoại: 13 bước

Video: R.O.B. Hỗ trợ thông báo qua điện thoại: 13 bước
Video: Toàn cảnh quốc tế 29/1: 600.000 lính nga tham chiến ! Tướng Ukraine “TÁI MÉT” gấp rút cảnh báo nóng 2024, Tháng Chín
Anonim
R. O. B. Trợ lý thông báo qua điện thoại
R. O. B. Trợ lý thông báo qua điện thoại

Bởi khinds10www.kevinhinds.comFollow More của tác giả:

Ghế dài trẻ em không thể phá hủy!
Ghế dài trẻ em không thể phá hủy!
Ghế dài trẻ em không thể phá hủy!
Ghế dài trẻ em không thể phá hủy!
Máy tính treo tường nhanh chóng và dễ dàng
Máy tính treo tường nhanh chóng và dễ dàng
Máy tính treo tường nhanh chóng và dễ dàng
Máy tính treo tường nhanh chóng và dễ dàng
Màn hình lò sưởi kỹ thuật số
Màn hình lò sưởi kỹ thuật số
Màn hình lò sưởi kỹ thuật số
Màn hình lò sưởi kỹ thuật số

Giới thiệu: In 3D và thiết kế các dự án RaspberryPI trong vài năm nay Thông tin thêm Về khinds10 »

Hỗ trợ thông báo trên điện thoại để bàn có tính năng Robot điều hành Buddy (R. O. B.)

Bước 1: Nháy đĩa cứng RaspberriPi / Cài đặt phần mềm cần thiết (Sử dụng Ubuntu Linux)

Tạo đĩa cứng mới của bạn cho DashboardPI

Cắm thẻ nhớ microSD vào máy tính của bạn qua bộ điều hợp USB và tạo ảnh đĩa bằng lệnh dd

Xác định vị trí thẻ microSD đã lắp của bạn thông qua lệnh df -h, ngắt kết nối thẻ và tạo hình ảnh đĩa bằng lệnh đĩa sao chép đĩa dd

$ df -h / dev / sdb1 7.4G 32K 7.4G 1% / media / XXX / 1234-5678

$ umount / dev / sdb1

Thận trọng: đảm bảo lệnh hoàn toàn chính xác, bạn có thể làm hỏng các đĩa khác bằng lệnh này

if = location of RASPBIAN JESSIE LITE image file of = location of your microSD card

$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img of = / dev / sdb (lưu ý: trong trường hợp này, đó là / dev / sdb, / dev / sdb1 là một phân vùng nhà máy hiện có trên microSD)

Thiết lập RaspberriPi của bạn

Cắm thẻ microSD mới của bạn vào raspberrypi và bật nguồn bằng màn hình được kết nối với cổng HDMI

Đăng nhập

user: pi pass: raspberry

Thay đổi mật khẩu tài khoản của bạn để bảo mật

sudo passwd pi

Bật tùy chọn nâng cao RaspberriPi

sudo raspi-config

Lựa chọn:

1 Mở rộng hệ thống tệp

9 Tùy chọn Nâng cao

Tên máy chủ A2 thay đổi nó thành "RobbieAssistant"

A4 SSH Bật máy chủ SSH

A7 I2C Kích hoạt giao diện i2c

Bật bàn phím tiếng Anh / Mỹ

sudo nano / etc / default / keyboard

Thay đổi dòng sau: XKBLAYOUT = "us"

Khởi động lại PI để thay đổi bố cục bàn phím / thay đổi kích thước hệ thống tệp có hiệu lực

$ sudo shutdown -r ngay bây giờ

Tự động kết nối với WiFi của bạn

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Thêm các dòng sau để raspberrypi của bạn tự động kết nối với WiFi tại nhà của bạn (ví dụ: nếu mạng không dây của bạn được đặt tên là "linksys", trong ví dụ sau)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Khởi động lại PI để kết nối với mạng WiFi

$ sudo shutdown -r ngay bây giờ

Bây giờ PI của bạn cuối cùng đã có trên mạng cục bộ, bạn có thể đăng nhập từ xa vào nó qua SSH. Nhưng trước tiên bạn cần lấy địa chỉ IP mà nó hiện có.

$ ifconfig Tìm kiếm "inet addr: 192.168. XXX. XXX" trong đầu ra của lệnh sau cho Địa chỉ IP của PI của bạn

Đi đến một máy khác và đăng nhập vào raspberrypi của bạn qua ssh

$ ssh [email protected]. XXX. XXX

Bắt đầu cài đặt các gói bắt buộc

$ sudo apt-get cập nhật

$ sudo apt-get nâng cấp

$ sudo apt-get install 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 libreadline6-dev python3-dev python3-dev python3-dev python3-dev python3 python3-yêu cầu python3-setuptools python3-urllib python3-urllib3 python3-yêu cầu vim git python-smbus i2c-tools python-images python-smbus build-essential python-dev rpi.gpio python3 python3-pip vim git python-smbus i2c-tools python-images python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev vim git python-smbus i2c-tools python-images python-smbus build-essential python-dev rpi.gpio python3 python3-pip python -gpiozero python-psutil xz-utils

Yêu cầu cài đặt $ sudo pip

Cập nhật cài đặt múi giờ địa phương

$ sudo dpkg-định cấu hình lại tzdata

chọn múi giờ của bạn bằng giao diện

Thiết lập lệnh l thư mục đơn giản [tùy chọn]

vi ~ /.bashrc

thêm dòng sau:

bí danh l = 'ls -lh'

nguồn ~ /.bashrc

Sửa lỗi tô sáng cú pháp mặc định của VIM [tùy chọn]

sudo vi / etc / vim / vimrc

bỏ ghi chú dòng sau:

cú pháp trên

tạo thư mục nhật ký để ứng dụng chạy mkdir / home / pi / RobbieAssistant / logs

chmod 777 / home / pi / RobbieAssistant / log

Định cấu hình Ứng dụng để chạy chính xác trong tệp cấu hình settings.py Tìm tệp settings-shadow.py trong thư mục / include / của dự án và sao chép nó vào settings.py và điều chỉnh theo cài đặt hiện tại của bạn

Khóa API # dự báo.io để biết thông tin thời tiết địa phương

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

weatherAPIKey = 'KHÓA API CỦA BẠN CHO FORECAST. IO'

# tùy chọn để chạy trình ghi nhiệt độ / độ ẩm từ xa

dashboardServer = 'mydevicelogger.com'

# search google để lấy Vĩ độ / Kinh độ cho vị trí nhà của bạn

vĩ độ = 41,4552578

kinh độ = -72.1665444

Bước 2: Nguồn cung cấp cần thiết

Nguồn cung cấp cần thiết
Nguồn cung cấp cần thiết
Nguồn cung cấp cần thiết
Nguồn cung cấp cần thiết
Nguồn cung cấp cần thiết
Nguồn cung cấp cần thiết
Nguồn cung cấp cần thiết
Nguồn cung cấp cần thiết

RaspberriPi Zero

DHT11 Humidistat

Đèn LED (x4) Xanh lục / Vàng / Xanh lam / Đỏ Màn hình Digole 2,6"

Bước 3: Xây dựng và kết nối thiết bị

Xây dựng và kết nối thiết bị
Xây dựng và kết nối thiết bị

Chuẩn bị Màn hình Digole cho i2C

Ở mặt sau của Màn hình Digole, hàn jumper để gán màn hình sử dụng giao thức i2c

Bước 4: Sử dụng máy in 3d, in bìa, hộp và các tấm mặt sau

Sử dụng máy in 3d, in bìa, hộp và các tấm mặt sau
Sử dụng máy in 3d, in bìa, hộp và các tấm mặt sau

Sử dụng các tệp X STL sau trong thư mục 3DPrint, R. O. B. Robot, Đèn LED khai thác và Giá treo màn hình

buttonContainer-base.stl

buttonContainer-lid.stl

displaymount-final.stl

dẫn-khai thác-cuối cùng.stl

MiniNintendoROB.zip

Robot in bởi: Mini Nintendo R. O. B. - bởi RabbitEngineering

www.thingiverse.com/thing:1494964

Tôi dùng băng dính đỏ để làm mắt đỏ với nền kính che mặt màu đen

Bước 5: Nối dây thành phần

Hệ thống dây thành phần
Hệ thống dây thành phần

Hiển thị Digole

GND -> GND

DATA -> SDA

CLK -> SCL

VCC -> 3V

DHT11 Humidistat

VCC -> 5V

GND -> GND

DATA -> GPIO 25

Điện trở BLUE

VCC -> GPIO 17 (với điện trở 270ohm)

GND -> GND

Điện trở VÀNG

VCC -> GPIO 13 (với điện trở 270ohm)

GND -> GND

Điện trở XANH

VCC -> GPIO 6 (với điện trở 270ohm)

GND -> GND

Điện trở RED

VCC -> GPIO 12 (với điện trở 270ohm)

GND -> GND

Nút bấm khoảnh khắc RED

VCC -> GPIO 16 (với điện trở 270ohm)

GND -> GND

Nút nhấn BLUE Mo moment

VCC -> GPIO 26 (với điện trở 270ohm)

GND -> GND

Bước 6: Kết nối các thành phần với Robot

Kết nối các thành phần với Robot
Kết nối các thành phần với Robot
Kết nối các thành phần với Robot
Kết nối các thành phần với Robot
Kết nối các thành phần với Robot
Kết nối các thành phần với Robot

Sau khi bạn đã in giá đỡ màn hình, hãy kết nối nó với màn hình digole

Kết nối Màn hình với RPi bằng đủ dây để dán RPi vào mặt sau của rô bốt

In bộ điều khiển và nối các nút với đủ dây để đưa nó vào mặt sau của rô bốt

Hoàn tất việc đấu dây và lắp ráp rô bốt với RPi được kết nối với mặt sau và DHT11 được dán vào mặt dưới

Bước 7: Kiểm tra cấu hình I2C

Khởi động RaspberryPi của bạn và đảm bảo bus I2C nhận ra tất cả các màn hình 7/14 phân đoạn được kết nối của bạn. [mỗi màn hình được cung cấp một địa chỉ duy nhất được mô tả ở trên bằng cách bạn hàn các jumper của mỗi màn hình theo các cách kết hợp khác nhau]

Nếu bạn có màn hình với jumper được hàn chính xác, bạn sẽ có đầu ra sau cho lệnh 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: -- -- -- -- -- -- -- --

Bước 8: Cài đặt DHT11

$ cd ~

$ git clone

$ cd Adafruit_Python_DHT /

$ sudo python setup.py cài đặt

$ sudo python ez_setup.py

$ cd ví dụ /

$ vi simpletest.py Thay đổi dòng sau:

sensor = Adafruit_DHT. DHT11

Nhận xét dòng ra

pin = 'P8_11'

Bỏ ghi chú dòng và thay đổi số pin thành 16

pin = 25

Chạy thử nghiệm

python simpletest.py

Bạn sẽ thấy số liệu về Nhiệt độ và Độ ẩm được hiển thị trên dòng lệnh.

Bước 9: Kho lưu trữ nhân bản

$ cd ~ $ git clone

Bước 10: Thêm API Pushbullet (sử dụng Python 3.5)

Sử dụng ứng dụng pushbullet cho điện thoại của bạn, đăng ký để nhận khóa API để có một tập lệnh python đơn giản có thể nắm bắt và đẩy các thông báo và cờ chỉ báo của trung tâm dữ liệu

Cài đặt Python 3.5 cho chức năng 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 install libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev sudo apt-get install libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev Nếu không tìm thấy một trong các gói, hãy thử số phiên bản mới hơn (ví dụ: libdb5.4-dev thay vì 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 make sudo make install 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 id35 =" / usr / local / opt / python-3.5.2 / bin / python3.5 "'>>.bashrc Cài đặt phần phụ thuộc python3

$ sudo apt-get install python3-setuptools sudo apt-get install python3-pip sudo pip3 install asyncpushbullet yêu cầu cài đặt sudo pip3 Cách tùy chọn Tải xuống kho lưu trữ python trực tiếp để lấy các phần phụ thuộc của python mà không cần sử dụng pip cài đặt nó

git clone https://github.com/rharder/asyncpushbullet cd asyncpushbullet && sudo /usr/local/opt/python-3.5.2/bin/python3.5 setup.py install Truy cập trang cài đặt pushbullet trong tài khoản của bạn để tạo Khóa API để sử dụng

Định cấu hình tập lệnh pushbullet-listener.py của bạn để có API chính xác và máy chủ trung tâm bảng điều khiển

# Khóa API của bạn từ PushBullet.com API_KEY = "o. XXXYYYZZZ111222333444555666"

# dashboard bảng điều khiển máy chủ lưu trữ trung tâmServer = 'MY-SERVER-HERE.com'

Bước 11: Thêm Tập lệnh vào Bắt đầu lúc Khởi động bảng điều khiển và Khởi động lại Bảng điều khiển của bạn 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

Bước 12: TÙY CHỌN: Tạo hình ảnh Nintendo của riêng bạn để hiển thị trên màn hình

Tải tệp 128x128 của riêng bạn lên URL sau:

www.digole.com/tools/PicturetoC_Hex_converter.php

Chọn tệp hình ảnh của bạn để tải lên, thêm kích thước bạn muốn trên màn hình (Chiều rộng / Chiều cao)

Chọn "256 màu cho OLED / LCD màu (1 byte / pixel)" trong menu thả xuống "Dùng cho"

Nhận đầu ra hex.

Thêm đầu ra hex vào tệp hiển thị / xây dựng / tiêu đề (.h), sử dụng các tệp khác làm hướng dẫn cho cú pháp.

Bao gồm tệp mới trong tệp digole.c #include myimage.h

Bao gồm một móc dòng lệnh mới vào tệp hình ảnh của bạn trong. Lưu ý: lệnh bên dưới nói rằng vẽ hình ảnh của bạn ở vị trí 10 pixel trên 10 pixel xuống. Bạn có thể thay đổi nó thành các tọa độ X, Y khác nhau, bạn cũng có thể thay đổi các giá trị 128, 128 thành bất kỳ kích thước nào mà hình ảnh mới của bạn thực sự là.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere được định nghĩa trong tệp (.h) của bạn}

Bây giờ xây dựng lại (bỏ qua các lỗi) bên dưới để hình ảnh mới của bạn hiển thị bằng lệnh sau.

$./digole myimage

Xây dựng lại [Đã bao gồm] Trình điều khiển hiển thị Digole cho các thay đổi tùy chọn của bạn

$ cd hiển thị / bản dựng

$ gcc digole.c

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

$ chmod + x../../digole

Bước 13: Đã hoàn thành

Bạn đã hoàn thành!

Đề xuất: