جدول المحتويات:

R.O.B. مساعد إشعارات الهاتف: 13 خطوة
R.O.B. مساعد إشعارات الهاتف: 13 خطوة

فيديو: R.O.B. مساعد إشعارات الهاتف: 13 خطوة

فيديو: R.O.B. مساعد إشعارات الهاتف: 13 خطوة
فيديو: نطق الرساله وتفعيل النطق الآلي #ايفون 2024, يونيو
Anonim
R. O. B. مساعد إعلام الهاتف
R. O. B. مساعد إعلام الهاتف

بواسطة khinds10www.kevinhinds.com تابع المزيد من قبل المؤلف:

أريكة أطفال غير قابلة للتدمير!
أريكة أطفال غير قابلة للتدمير!
أريكة أطفال غير قابلة للتدمير!
أريكة أطفال غير قابلة للتدمير!
أجهزة كمبيوتر سريعة وسهلة التثبيت على الحائط
أجهزة كمبيوتر سريعة وسهلة التثبيت على الحائط
أجهزة كمبيوتر سريعة وسهلة التثبيت على الحائط
أجهزة كمبيوتر سريعة وسهلة التثبيت على الحائط
شاشة الموقد الرقمية
شاشة الموقد الرقمية
شاشة الموقد الرقمية
شاشة الموقد الرقمية

حول: الطباعة ثلاثية الأبعاد وتصميم مشاريع RaspberryPI لبضع سنوات حتى الآن المزيد عن khinds10 »

مساعد إشعارات هاتف سطح المكتب يضم (R. O. B.) صديق التشغيل الآلي

الخطوة 1: تفليش القرص الصلب RaspberriPi / تثبيت البرنامج المطلوب (باستخدام Ubuntu Linux)

قم بإنشاء القرص الثابت الجديد الخاص بك لـ DashboardPI

أدخل microSD في جهاز الكمبيوتر الخاص بك عبر محول USB وقم بإنشاء صورة القرص باستخدام الأمر dd

حدد موقع بطاقة microSD التي تم إدخالها عبر الأمر df -h ، وقم بإلغاء تحميلها وإنشاء صورة القرص باستخدام الأمر disk copy dd

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

umount / dev / sdb1

تحذير: تأكد من أن الأمر دقيق تمامًا ، يمكنك إتلاف الأقراص الأخرى باستخدام هذا الأمر

if = موقع ملف صورة RASPBIAN JESSIE LITE = موقع بطاقة microSD الخاصة بك

$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img من = / dev / sdb (ملاحظة: في هذه الحالة ، يكون / dev / sdb ، / dev / sdb1 قسمًا مصنعًا موجودًا على microSD)

إعداد RaspberriPi الخاص بك

أدخل بطاقة microSD الجديدة في raspberrypi وقم بتشغيلها باستخدام شاشة متصلة بمنفذ HDMI

تسجيل الدخول

المستخدم: pi pass: Raspberry

قم بتغيير كلمة مرور حسابك من أجل الأمان

sudo passwd بي

تفعيل خيارات RaspberriPi المتقدمة

sudo raspi-config

يختار:

1 قم بتوسيع نظام الملفات

9 خيارات متقدمة

قم بتغيير اسم مضيف A2 إلى "RobbieAssistant"

A4 SSH قم بتمكين خادم SSH

A7 I2C تمكين واجهة i2c

قم بتمكين لوحة المفاتيح الإنجليزية / الأمريكية

sudo نانو / الخ / الافتراضي / لوحة المفاتيح

قم بتغيير السطر التالي: XKBLAYOUT = "لنا"

إعادة تشغيل 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 ترقية

$ sudo apt-get install build-basic tk-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libncurses5-dev libncursesw5-dev libthonline6-dev libncursesw5-dev libthonline6-dev python3- طلبات python3-setuptools python3-urllib python3-urllib3-python3- طلبات vim git python-smbus i2c-tools python-imaging python-smbus build-basic python-dev rpi.gpio python3 python3-pip-vim-smbus-python-i2c-tools python-imaging python-smbus build-basic python-dev rpi.gpio python3 python3-pip libi2c-dev vim git python-smbus i2c-tools python-imaging python-smbus build-basic python-dev rpi.gpio python3 python3-pip python -gpiozero python-psutil xz-utils

طلبات تثبيت $ sudo pip

قم بتحديث إعدادات المنطقة الزمنية المحلية

sudo dpkg-إعادة تكوين tzdata

حدد منطقتك الزمنية باستخدام الواجهة

قم بإعداد أمر الدليل البسيط l [اختياري]

vi ~ /.bashrc

أضف السطر التالي:

الاسم المستعار l = 'ls -lh'

المصدر ~ /

إصلاح تمييز البنية الافتراضية لـ VIM [اختياري]

sudo vi / etc / vim / vimrc

uncomment السطر التالي:

بناء الجملة على

أنشئ مجلد السجلات للتطبيق لتشغيل mkdir / home / pi / RobbieAssistant / logs

chmod 777 / home / pi / RobbieAssistant / logs

تكوين التطبيق ليعمل بشكل صحيح في ملف settings.py التكوين ابحث عن ملف settings-shadow.py في / include / مجلد المشروع وانسخه إلى settings.py واضبط إعداداتك الحالية

# Forecast.io مفتاح API لمعلومات الطقس المحلية

الطقس APIURL = 'https://api.forecast.io/forecast/'

weatherAPIKey = 'مفتاح API الخاص بك للتنبؤ.

# اختياري لتشغيل مسجل درجة الحرارة / الرطوبة عن بعد

dashboardServer = 'mydevicelogger.com'

# ابحث في google للحصول على خط العرض / خط الطول لموقع منزلك

خط العرض = 41.4552578

خط الطول = -72.1665444

الخطوة الثانية: الإمدادات المطلوبة

الإمدادات اللازمة
الإمدادات اللازمة
الإمدادات اللازمة
الإمدادات اللازمة
الإمدادات اللازمة
الإمدادات اللازمة
الإمدادات اللازمة
الإمدادات اللازمة

RaspberriPi Zero

رطوبة DHT11

أضواء LED (x4) أخضر / أصفر / أزرق / أحمر شاشة ديجول مقاس 2.6 بوصة

الخطوة 3: بناء الجهاز وتوصيله

بناء وتوصيل الجهاز
بناء وتوصيل الجهاز

قم بإعداد شاشة Digole لـ i2C

في الجزء الخلفي من شاشة Digole ، قم بتوصيل وصلة المرور لتعيين الشاشة لاستخدام بروتوكول i2c

الخطوة 4: باستخدام طابعة ثلاثية الأبعاد ، اطبع الغلاف والصندوق واللوحات الخلفية

باستخدام طابعة ثلاثية الأبعاد ، اطبع الغلاف والصندوق واللوحات الخلفية
باستخدام طابعة ثلاثية الأبعاد ، اطبع الغلاف والصندوق واللوحات الخلفية

باستخدام ملفات 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: الأسلاك المكونة

مكون الأسلاك
مكون الأسلاك

شاشة Digole

GND -> GND

البيانات -> SDA

CLK -> SCL

VCC -> 3 فولت

DHT11 رطوبة

VCC -> 5 فولت

GND -> GND

البيانات -> GPIO 25

المقاوم الأزرق

VCC -> GPIO 17 (بمقاوم 270 أوم)

GND -> GND

المقاوم الأصفر

VCC -> GPIO 13 (بمقاوم 270 أوم)

GND -> GND

المقاوم الأخضر

VCC -> GPIO 6 (بمقاوم 270 أوم)

GND -> GND

المقاوم الأحمر

VCC -> GPIO 12 (بمقاوم 270 أوم)

GND -> GND

زر انضغاطي أحمر مؤقت

VCC -> GPIO 16 (بمقاوم 270 أوم)

GND -> GND

زر الضغط الأزرق اللحظي

VCC -> GPIO 26 (بمقاوم 270 أوم)

GND -> GND

الخطوة 6: قم بتوصيل المكونات بالروبوت

قم بتوصيل المكونات بالروبوت
قم بتوصيل المكونات بالروبوت
قم بتوصيل المكونات بالروبوت
قم بتوصيل المكونات بالروبوت
قم بتوصيل المكونات بالروبوت
قم بتوصيل المكونات بالروبوت

بعد طباعة حامل الشاشة ، قم بتوصيله بالشاشة الرقمية

قم بتوصيل الشاشة بـ 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 $

$ cd Adafruit_Python_DHT /

sudo python setup.py install

sudo python ez_setup.py

أمثلة $ cd /

أبسط $ vi قم بتغيير السطر التالي:

جهاز استشعار = Adafruit_DHT. DHT11

التعليق على السطر

دبوس = 'P8_11'

قم بفك تعليق الخط وتغيير الرقم السري إلى 16

دبوس = 25

قم بإجراء الاختبار

بيثون أبسط

يجب أن تشاهد قراءة مترية لدرجة الحرارة والرطوبة معروضة في سطر الأوامر.

الخطوة 9: مستودع النسخ

$ cd ~ $ git clone

الخطوة 10: إضافة Pushbullet API (باستخدام Python 3.5)

باستخدام تطبيق pushbullet لهاتفك ، قم بالتسجيل لتلقي مفتاح API للحصول على برنامج نصي بيثون بسيط يكون قادرًا على التقاط ودفع إشعارات مركز البيانات وعلامات المؤشرات

قم بتثبيت Python 3.5 لوظيفة Asyncio

$ sudo apt-get update sudo apt-get install build-basic 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 إذا تعذر العثور على إحدى الحزم ، فجرب رقم إصدار أحدث (مثل 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 / بن / 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 install قم بزيارة صفحة إعدادات pushbullet في حسابك لإنشاء مفتاح API لاستخدام

قم بتكوين البرنامج النصي pushbullet-listener.py للحصول على واجهة برمجة التطبيقات الصحيحة والمضيف المركزي للوحة القيادة

# مفتاح API الخاص بك من PushBullet.com API_KEY = "o. XXXYYYZZZ111222333444555666"

# dashboard Central server hostboardServer = '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 الخاصة بك لعرضها على الشاشة

قم بتحميل ملف 128 × 128 الخاص بك إلى عنوان URL التالي:

www.digole.com/tools/PicturetoC_Hex_converter.php

اختر ملف الصورة لتحميله ، أضف الحجم الذي تريده أن يكون على الشاشة (العرض / الارتفاع)

حدد "256 لونًا للون OLED / LCD (1 بايت / بكسل)" في القائمة المنسدلة "مستعملة لـ"

الحصول على الناتج السداسي.

أضف الإخراج السداسي إلى ملف عرض / بناء / رأس (.h) ، واستخدم الملفات الأخرى كدليل لبناء الجملة.

قم بتضمين الملف الجديد في ملف digole.c #include myimage.h

قم بتضمين رابط سطر أوامر جديد لملف صورتك في ملف. ملاحظة: الأمر أدناه يقول ارسم صورتك في موضع 10 بكسل فوق 10 بكسل لأسفل. يمكنك تغييره إلى إحداثيات X و Y مختلفة ، كما يمكنك تغيير القيم 128 ، 128 إلى أي حجم تكون صورتك الجديدة في الواقع.

} else if (strcmp (digoleCommand، "myimage") == 0) {drawBitmap256 (10، 10، 128، 128، & myimageVariableHere، 0)؛ // myimageVariableHere محدد في ملفك (.h)}

الآن أعد البناء (تجاهل الأخطاء) أدناه لعرض صورتك الجديدة باستخدام الأمر التالي.

$./digole myimage

إعادة بناء [مضمن] Digole Display Driver لتغييراتك الاختيارية

عرض / بناء $ cd

$ دول مجلس التعاون الخليجي digole.c

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

$ chmod + x../../digole

الخطوة 13: انتهى

الانتهاء!

موصى به: