Мазмуну:
- Жабдуулар
- 1 -кадам: Кабелдөө
- 2 -кадам: Турак жай
- 3 -кадам: Маалыматтар базасы
- 4 -кадам: Орнотуу
- 5 -кадам: Код
Video: Raspberry Pi менен SmartHome: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Бул долбоор үчүн мен веб -сайт жана мобилдик тарабынан башкарыла турган SmartHome жасадым. Бул үчүн мен Raspberry PIди маалымат базасы жана веб -сервер катары колдоном.
Жабдуулар
Эгер сиз муну баштоону кааласаңыз, сизге бир нече нерсе керек:
- 5 ак лед (5мм)
- 1 бир зымдын температурасы сенсору
- 1 LDR (жарыкка көз каранды каршылык)
- 2 servo мотор
- 1 microSD (Raspberry Pi үчүн)
- 1 Breadboard ыйгарым укуктары
- 1 Raspberry Pi 3 Model B+
- 3 Көбүк табак
- 1 кадам мотору (5V)
- 1 RFID-RC522 окурманы
- 8 резистор (220 Ом)
- 1 каршылык (10K Ohm)
- 2 Breadboards
- 2 пакет секирүүчү зымдар
- 1 16x2 ЖК дисплей
- 1 PCF8574AN
- 4 кичине терезе (3D басылган)
- 1 эшик (3D басып чыгарылган)
- 2 чоң терезе (3D басылган)
- 1 гараждын эшиги (3D басылган)
Эгер сизге мунун баары керек болсо, максималдуу наркы 150 евронун тегерегинде болот
1 -кадам: Кабелдөө
Баштоонун эң оңой жолу - бул зымдарды колдонуу, андыктан сизде негиздер бар, бул ыкма менен сиз кодду жазып жатканда баары иштээрин оңой эле текшере аласыз.
Ошентип, сиз Raspberry Piде бардыгын туташтыруу үчүн жетиштүү төөнөгүчтөрүңүздүн бар -жогун көрө аласыз. Бул учурда мен азыраак GPIO казыктары менен ЖКны башкаруу үчүн PCF8574AN колдондум.
Схеманы тартуу үчүн Fritzing колдондум. Бул сиздин кабелди жакшы уюштурулган түрдө көрө турган ыңгайлуу программа.
Экинчи сүрөттө көрүнүп тургандай, көптөгөн кабелдер бар, андыктан дагы эле уюшкандыкта иштөө керек.
2 -кадам: Турак жай
Турак жай үчүн мен дубал катары көбүк тактайларды колдондум. Тактайларды керектүү формада бычак менен кесип алдым. Терезелер, эшиктер жана гараждын эшиги 3D принтерде басылган. Албетте, мен үйдү алдын ала чийип койгом, ошондуктан кандай өлчөмдөрдү колдонуу керек экенин билчүмүн.
Мен үйдү тартуу үчүн SketchUp колдончумун. Мен дубалдарды түз кармап, чогуу кармап туруу үчүн желим тапанча колдондум, эгер сүрөттөрдөн көрсөңөр, терезе менен гараждын эшиги клей менен жабыштырылган, ошондуктан ал күчтүү болот. 3 -сүрөттө мен ташыган кутуча бар, баары сакталып калат
3 -кадам: Маалыматтар базасы
Биринчиден, сиз маалымат базасын Mysql Workbenchтин жардамы менен түзүшүңүз керек. Эгер бул ишке ашса, сиз Raspberry Piге Mysql маалымат базасын орнотушуңуз керек.
Биринчи кадам - бул Pi жаңыртылгандыгын текшерүү. Сиз төмөнкү буйрукту колдоно аласыз:
sudo apt-get update
жана
sudo apt-get жогорулатуу
Эми сиз Mysql серверин орното аласыз:
sudo apt-get mysql-server орнотуу
Эгерде Mysql сервери орнотулган болсо, Mysql кардарын орнотуңуз
sudo apt-get mysql-client орнотуу
Эгерде сиз азыр sql серверин төмөнкү буйрук менен карасаңыз:
sudo mysql
Сиз азыр.mwb файлын sql workbench жана алдыга инженер менен ачуу менен маалымат базаңыздын кодун импорттой аласыз. Сиз кодду көчүрүп, Raspberryден mysqlге чаптаңыз Маалыматтар базасы түзүлөт.
Колдонуучу бардык уруксаттарды алышы үчүн, колдонуучу атыңызды столго кошуңуз
smarthome боюнча бардык артыкчылыктарды берүү.* 'yourname'@'%' 'your name' менен аныкталган;
Албетте, азыр дасторконду жаңыртуу керек
FLUSH артыкчылыктары;
Муну текшерүү үчүн сиз жөн гана аракет кылсаңыз болот:
smarthome колдонуу;
тарыхтан * тандаңыз;
Колдонуучу таблицасында колдонуучулардын аттары төш белгиси менен чогуу келет, бул жерде сиз жаңы колдонуучуларды кошо аласыз. Түзмөктөрдүн столунда сиз бардык активдүү сенсорлорду id. The historiek таблицасында таба аласыз, температура сенсору, гараждын эшигинин статусу жана башка нерселер сыяктуу.
4 -кадам: Орнотуу
Сүрөттү Raspberry Piге орнотуу үчүн Putty колдонсоңуз болот, бул бекер программа. Бул жерден негизги сүрөт файлын таба аласыз:
Интерфейстер
Албетте, сиз Piдеги айрым интерфейстерди иштетишиңиз керек. Алгач конфигурация барагына өтүңүз.
sudo raspi-config
Эми сиз 1-Wire жана Spi категорияларына кирип, экөө тең аларды иштете аласыз. Булар температура сенсоруна керек болот.
WiFi
Пи боюнча Wi -Fi алуу үчүн кийинки кадамдарды аткарыңыз.
Алгач root катары кириңиз
sudo-i
Андан кийин wifi тармагыңыздын атын жана сырсөзүн толтуруңуз
wpa_passphrase = "wifiname" "сырсөз" >> /etc/wpa_supplicant/wpa_supplicant.conf
Андан кийин WPA кардарын киргизиңиз
wpa_cli
интерфейсти тандоо
wlan0 интерфейси
Эми конфигурацияны кайра жүктөңүз
кайра конфигурациялоо
Эми сиз туташып турганыңызды текшере аласыз
ip a
Пакеттер
Биринчи нерсе - акыркы версияларын жаңыртуу
sudo apt update
Питон үчүн биз орнотобуз жана Pi туура версияны тандап жатканына ынанабыз
update-alternatives --install/usr/bin/python python /usr/bin/python2.7 1update-alternatives --install/usr/bin/python python/usr/bin/python3 2
Веб -сервер Сайтты иштетиши үчүн, Apache2 орнотушубуз керек
sudo apt install apache2 -y
Кээ бир python пакеттери да орнотулушу керек
- Колба
- Flask-Cors
- Flask-MySQL
- Flask-SocketIO
- PyMySQL
- Python-socketIO
- өтүнүчтөр
- пип
- gpio
- Gevent
- Gevent-websocket
Эгерде табылбаган пакетте көйгөйлөр болсо, аны оң баскыч менен чыкылдатып, орнотууга уруксат бериңиз.
5 -кадам: Код
backend
Арткы бет үчүн биз кодду python менен жазабыз жана pycharmдын жардамы менен жазабыз. Арткы жактан келген маршруттарды почтальон менен текшерүүгө болот. Бул колдонмо менен POST жана GET ыкмаларын колдоно аласыз. Арткы жагында мен көп жактуу иштедим, ошондуктан бардыгы фондо иштейт жана бирге иштей алат. Raspberry Pi сүрөтүн орнотуу үчүн Putty колдонсоңуз болот, бул бекер программа.
frontend
Алдыңкы жагында жарыкты күйгүзө турган бир нече баскычтар бар, гараж портун жана эшигин ачат. JavaScript жана CSSти колдонуу менен баскычтардын стили активдүү болгондо өзгөрөт. Ошондой эле тирүү температура жана мурунку температуралар бар диаграмма бар. Колдонуучунун баракчасында сиз ар кандай колдонуучуларды көрө аласыз, ошондой эле колдонуучуну маалымат базасына кошо аласыз жана гараждын эшигин ким акыркы жолу ачканын же жапканын көрө турган колдонуучулардын тарыхы бар.
Сиз алдыңкы жана арткы жагындагы кодду таба аласыз
github.com/NMCT-S2-Project-1/nmct-s2-proje…
Сунушталууда:
Батарея менен иштөөчү LED Light (s) Solar Charging менен: 11 кадам (Сүрөттөр менен)
Батарея менен иштөөчү LED Жарыгы (лары) Күндүн кубаттуулугу менен: Аялым самын жасоону үйрөтөт, анын сабактарынын көбү кечинде болчу, кышында бул жерде саат 16:30 чамасында караңгы кирип калат, анын кээ бир окуучулары бизди табууда кыйналышкан. үй Бизде маңдайкы жазуу бар болчу, бирок көчө лигасы менен да
Батарея менен иштеген офис. Күн системасы Чыгыш/Батыш Күн панелдери жана шамал турбинасы менен: 11 кадам (Сүрөттөр менен)
Батарея менен иштеген офис. Күн системасы Чыгыш/Батыш Күн панелдери жана шамал турбинасы менен которулат: Долбоор: 200 чарчы фут офис батарея менен иштеши керек. Офис ошондой эле бул система үчүн зарыл болгон бардык контроллерлерди, батареяларды жана компоненттерди камтышы керек. Күн жана шамал энергиясы батареяларды заряддайт. Кичине гана көйгөй бар
Акустикалык левитация Arduino Uno менен кадам-кадам (8-кадам): 8 кадам
Акустикалык левитация менен Arduino Uno Step-by-Step (8-кадам): ультрадыбыштуу үн өткөргүчтөр L298N Dc аял адаптеринин электр энергиясы менен камсыздоосу эркек токту Arduino UNOBreadboard Бул кантип иштейт: Биринчиден, сиз Arduino Uno кодун жүктөп бересиз (бул санарип менен жабдылган микроконтроллер) жана аналогдук порттор кодду айландыруу үчүн (C ++)
Raspberry Pi менен убакыттын өтүшү менен видеолорду жасаңыз (коддун 11 линиясы): 12 кадам (сүрөттөр менен)
Raspberry Pi (11 Линдин коду) менен Time Lapse Videos жасаңыз: Мен жакында эле столумдун казанына биринчи жолу уруктарды отургуздум. Мен алардын өсүшүн көрүп абдан кубандым, бирок баарыбыз билебиз, бул жай процесс. Өсүштү көрө албаганым мени чындап капалантты, бирок капыстан ичиндеги электроника хоббичи сени ойготту
Ethernet порту менен WiFi менен Raspberry Piде бөлүшүү: 7 кадам (сүрөттөр менен)
Raspberry Piдеги Ethernet порту менен WiFi менен бөлүшүү: Сизде эски лазердик принтер же сканер барбы, бирок ал дагы деле жакшы иштейт, бирок wifi шайкеш келбейт? Же, балким, сиз тышкы катуу дискиңизди түйүнүңүздөгү камдык түзмөк катары туташтыргыңыз келет жана үй роутериңизде ethernet порттору түгөндү. Бул инстр