Talaan ng mga Nilalaman:

IoT Wireless Temperature at Motion Sensor: 11 Hakbang (na may Mga Larawan)
IoT Wireless Temperature at Motion Sensor: 11 Hakbang (na may Mga Larawan)

Video: IoT Wireless Temperature at Motion Sensor: 11 Hakbang (na may Mga Larawan)

Video: IoT Wireless Temperature at Motion Sensor: 11 Hakbang (na may Mga Larawan)
Video: Camera-LAMP with tracking and identification of a person. 2024, Nobyembre
Anonim
IoT Wireless Temperature at Motion Sensor
IoT Wireless Temperature at Motion Sensor

Naging inspirasyon ako ng maraming mga proyekto ng IoT na nasa Instructables, kaya sa proseso ng pag-aaral sinusubukan kong pagsamahin ang ilang kapaki-pakinabang na application na nauugnay. Bilang extension sa aking nakaraang Mga Instructable na nauugnay sa IoT Temperature sensor, nagdagdag ako ngayon ng maraming mga kakayahan sa subsystem. Ang idinagdag na pagpapaandar ay:

- Koneksyon sa NTP upang makuha ang oras

- LED na maaaring makontrol nang malayuan

- PIR sensor upang makita ang paggalaw

- Nakakonekta na Raspberry PI na tumatakbo homekit upang payagan ang koneksyon sa iPhone "Home"

Hakbang 1: Ang Konsepto, Pagkakonekta at Mga Bahagi

Ang Konsepto, Pagkakonekta at Mga Bahagi
Ang Konsepto, Pagkakonekta at Mga Bahagi

Ang konsepto tulad ng ipinakita sa itaas ay upang payagan ang pagsubaybay sa temperatura mula sa malayo na may karagdagang kakayahang makita ang paggalaw kung ang isang tao ay nasa bahay, at payagan ang abiso sa pamamagitan ng LED. Ang yunit ay maaaring ma-access nang lokal sa LAN o malayuan sa pamamagitan ng webserver. Maaari mo ring ikonekta ang Raspberry pie (opsyonal) sa naka-install na accessory ng Homekit upang payagan ang koneksyon sa iPhone "Home" App.

Kapareho ng nakaraang bersyon ang mga sumusunod na sangkap ay kinakailangan sa proyektong ito, mangyaring tandaan na ang link sa ibaba ay isang kaakibat na link, kaya kung ayaw mong mag-ambag, direktang dumiretso.

- NodeMcu Lua ESP8266 dev board. Kinukuha ko ang akin sa banggood.

- Sensor ng temperatura ng LM35

- PIR sensor

- LED

- Prototype board

- Arduino IDE

- Gumagana ang webserver na may pag-script ng php server na pinagana

- Raspberry pi (Opsyonal)

Hakbang 2: Gawin ang Arduino IDE upang Magtrabaho

Kunin ang Arduino IDE upang Magtrabaho
Kunin ang Arduino IDE upang Magtrabaho

Para sa mga detalye sa hakbang na ito, mangyaring tingnan ang aking naunang mga itinuturo Hakbang 2. sa sensor ng Temperatura ng IoT na may ESP8266.

Hakbang 3: Pagkonekta sa Temperature Sensor, LED at PIR

Pagkonekta sa Temperature Sensor, LED at PIR
Pagkonekta sa Temperature Sensor, LED at PIR
Pagkonekta sa Temperature Sensor, LED at PIR
Pagkonekta sa Temperature Sensor, LED at PIR
Pagkonekta sa Temperature Sensor, LED at PIR
Pagkonekta sa Temperature Sensor, LED at PIR

Ang sensor ng temperatura na LM35 ay may 3 mga binti, ang unang binti ay VCC, maaari mo itong ikonekta sa 3.3V (ang output ng ESP8266 board ay 3.3V). Ang gitnang binti ay Vout (kung saan binasa ang temperatura, maaari mo itong ikonekta sa analog input ng ESP8266 pin AD0, ito ay matatagpuan sa kanang tuktok na kanang bahagi ng pisara tulad ng ipinakita sa larawan. At ang kanang binti ay dapat na konektado sa lupa.

Ang sensor ng PIR ay binubuo din ng 3 mga binti, maaari mong makita ang isang maliit na marka ng +, 0, - sa PCB sa tabi ng binti. Kaya't ikonekta ang "+" sa 3.3V, "-" sa lupa, at ang gitnang pin na "0" upang i-pin ang D6 ng ESP8266.

Ang LED ay may 2 binti lamang, "+" (Anode), ang mas mahabang paa ay ikonekta ito sa pin D5 ng ESP8266 at "-" (Cathode) ang mga mas maiikling binti ay dapat na konektado sa ground (GND).

Hakbang 4: Pag-set up ng Cloud Webserver

Mayroong isang tiyak na palagay para sa hakbang na ito:

Mayroon ka nang gumaganang webserver, na naka-host sa isang tamang domain. At pamilyar ka sa paglilipat ng mga file sa iyong webserver sa pamamagitan ng FTP gamit ang Filezilla o ilang iba pang programa ng FTP.

I-upload ang nakalakip na zip file sa ugat ng iyong website. Ipagpalagay natin para sa pagsasanay na ito ang iyong website ay "https://arduinotestbed.com"

Ipinapalagay na ang lahat ng file ay matatagpuan sa ugat ng webserver, kung naimbak mo ito sa loob ng isa pang folder, mangyaring ayusin ang lokasyon ng file nang naaayon sa parehong file ng ArduinoData3.php at ang Arduino sketch. Kung hindi ka sigurado mangyaring ipaalam sa akin at susubukan ko ang abot ng makakaya kong makatulong.

Hakbang 5: Pagse-set up ng Database upang Hawakin ang Data ng Temperatura

Pag-set up ng Database upang Hawakin ang Data ng Temperatura
Pag-set up ng Database upang Hawakin ang Data ng Temperatura
Pag-set up ng Database upang Hawakin ang Data ng Temperatura
Pag-set up ng Database upang Hawakin ang Data ng Temperatura
Pag-set up ng Database upang Hawakin ang Data ng Temperatura
Pag-set up ng Database upang Hawakin ang Data ng Temperatura

gumagamit kami ng sqllite database para sa ehersisyo na ito. Ang Sqllite ay ang ilaw na nakabatay sa database na hindi nangangailangan ng isang server. Lokal na matatagpuan ang database sa iyong webserver. Kung nag-aalala ka tungkol sa seguridad dapat mong baguhin ang code upang magamit ang isang tamang database server tulad ng MySQL o MSSQL.

Bago ka magsimula kailangan mong baguhin ang database password na matatagpuan sa phpliteadmin.php file. Kaya buksan ang file na ito sa iyong webserver at i-edit ang impormasyon ng password sa linya 91 sa password na gusto mo.

Pagkatapos ay ituro sa phpliteadmin.php sa iyong webserver. Gamit ang aming halimbawa bago ka dapat magturo sa

Dahil walang database sa server ay ipapakita sa iyo ang screen upang likhain ang database. Ipasok ang "temperatura.db" sa bagong kahon ng pag-input ng database at mag-click sa pindutang "Lumikha". Ang database ay matagumpay na malilikha. Sa puntong ito ang database ay walang laman pa rin kaya kakailanganin mo ang sql script upang likhain ang istraktura ng talahanayan ng database upang ma-host ang data.

Hakbang 6: Lumikha ng "temperatura" na Talahanayan

Lumikha ng
Lumikha ng
Lumikha ng
Lumikha ng

Upang likhain ang talahanayan, mag-click sa tab na "SQL" at i-paste sa sumusunod na query sa sql.

MAGSIMULA NG TRANSACTION;

---- - istraktura ng talahanayan para sa temperatura ---- LIKHA NG TABLE 'temperatura' ('ID' INTEGER PRIMARY KEY HINDI NUL, kahalumigmigan INT HINDI NUL, temperatura REAL, timestamp DATETIME DEFAULT CURRENT_TIMESTAMP, 'heater' BOOLEAN, 'goaltemp' TUNAY); KUMUHA;

Pagkatapos mag-click sa pindutang "Pumunta" sa ibaba. Ang talahanayan ay dapat na matagumpay na nilikha.

Kung i-refresh mo ang pahina, dapat mo na ngayong makita ang talahanayan ng "temperatura" sa ilalim ng database ng temperatura.db sa kaliwang kamay. Kung nag-click ka sa talahanayan ng temperatura kung naglalaman ka pa ring walang data.

Ngayon na mayroon kaming database na nilikha maaari kang magturo sa sumusunod na url

arduinotestbed.com/ArduinoData3.php

Makikita mo ang temperatura dial na nagpapakita ng data ng dummy, ang sensor ng paggalaw at ang control panel upang i-on ang LED. Ang ibabang bahagi ng grap ay magiging walang laman dahil wala pang data.

Hakbang 7: I-upload ang Temperature Sensor Sketch sa Iyong ESP8266

I-upload ang Temperature Sensor Sketch sa Iyong ESP8266
I-upload ang Temperature Sensor Sketch sa Iyong ESP8266
I-upload ang Temperature Sensor Sketch sa Iyong ESP8266
I-upload ang Temperature Sensor Sketch sa Iyong ESP8266
I-upload ang Temperature Sensor Sketch sa Iyong ESP8266
I-upload ang Temperature Sensor Sketch sa Iyong ESP8266

Kopyahin ngayon ang lahat ng naka-attach na file at buksan ang "ESP8266TempPIRSensor.ino" lilikha ng interface ng Arduino ang folder para sa iyo. Ilipat ang natitirang mga file sa bagong folder na nilikha ng interface ng Arduino.

Baguhin ang tinukoy na webserver at ang lokasyon ng data_store3.php file kung kinakailangan. Pagkatapos i-upload ang sketch sa ESP8266.

Kung maayos ang lahat dapat itong matagumpay na na-upload at sa unang pagkakataon ang ESP ay pupunta sa AP mode. Maaari mong gamitin ang iyong laptop o mobile phone upang kumonekta dito. Dapat mong mahanap ang AP sa pangalang "ESP-TEMP".- Subukang kumonekta sa ESP-TEMP gamit ang iyong laptop ng mobile phone - Alamin kung ano ang IP address kung saan ka nakatalaga, sa pamamagitan ng paggawa ng Ang "ipconfig" na utos sa windows o "ifconfig" na utos sa linux o mac. - Kung gumagamit ka ng pag-click sa iphone sa pindutan ng i sa tabi ng ESP-TEMP na nakakonekta ka - Buksan ang iyong browser at ituro ang ESP-TEMP, kung nakatalaga sa iyo ng 192.168.4.10 bilang iyong ip, ang ESP-TEMP ay nagkakaroon ng ip ng 192.168.4.1, kaya maaari ka lamang pumunta sa https://192.168.4.1 at dapat ipakita sa iyo ang pahina ng setting kung saan maaari mong ipasok ang iyong wifi router ssid at ang psk key. sa sandaling naipasok mo ang pareho at lagyan ng tsek ang "I-update ang Wifi Config" na check box, mag-click sa "update" upang mai-update ang setting sa iyong ESP8266.

Kung nais mong i-on ang debug sa Serial Monitor kakailanganin mong hindi ma-kompromiso ang

# tukuyin ang DEBUG

linya sa orasan.h at nagkomento ng

// # undef DEBUG

linya pagkatapos ay mag-click sa Tools-> Serial Monitor. Ipapakita sa iyo ng window ng serial monitor ang pag-unlad ng koneksyon ng wifi at ipapakita ang lokal na IP address ng ESP8266. Ang panloob na asul na LED ay magpikit ng isang beses kapag naganap ang pagbabasa ng temperatura. Bubuksan din ito kapag may nakita na kilos.

Hakbang 8: Pag-access sa Iyong Temperatura at Sensor ng Paggalaw

Pag-access sa Iyong Temperatura at Sensor ng Paggalaw
Pag-access sa Iyong Temperatura at Sensor ng Paggalaw
Pag-access sa Iyong Temperatura at Sensor ng Paggalaw
Pag-access sa Iyong Temperatura at Sensor ng Paggalaw

Dapat mo na ngayong maituro muli sa lokal na webserver ng ESP8266. At ipapakita nito ang oras, temperatura at ang sensor ng paggalaw.

Ngayon ay maaari mo ring ituro ang iyong panlabas na webserver, sa halimbawang ito ay

Maaari mong i-slide ang pindutan sa ilalim ng control panel upang i-toggle ang LED. Ginagamit ko ito upang abisuhan ang aking mga anak kapag pauwi na ako mula sa trabaho.

Ina-update ang sensor ng paggalaw bawat segundo o higit pa, kaya kakailanganin mong i-refresh ang pahina nang mas madalas upang makita kung may nakita na kilos. Sa ngayon ang auto refresh ay nakatakda sa 60 segundo. Ang temperatura ay tatagal sa pagbabasa bawat ilang minuto, ngunit maaari mo ring ayusin ito sa oras na nababagay sa iyo.

Binabati kita kung nakarating ka dito !!, bigyan ang iyong sarili ng isang tapik sa likuran at masiyahan sa iyong nilikha. Ang susunod na hakbang ay opsyonal, kung nais mo lamang makontrol ang LED at subaybayan ang temperatura pati na rin ang sensor ng paggalaw mula sa mga aparatong Apple.

Hakbang 9: I-install ang HomeBridge para sa HomeKit sa Raspberry Pi (Opsyonal)

I-install ang HomeBridge para sa HomeKit sa Raspberry Pi (Opsyonal)
I-install ang HomeBridge para sa HomeKit sa Raspberry Pi (Opsyonal)

Naging inspirasyon ako ng mga itinuturo mula sa GalenW1 na nagbibigay-daan sa akin upang malaman ang tungkol sa HomeBridge.

Upang mai-install ang HomeBridge para sa HomeKit sa isang Raspberry Pi maaari mong gamitin ang tagubilin sa sumusunod

github.com/nfarina/homebridge

Pinapayagan ka ng HomeBridge na ikonekta ang Home App sa Iphone sa mga sensor na itinatayo mo lang sa mga nakaraang hakbang.

Isa sa na-install mo ang HomeBridge, kailangan mong mag-install ng ilang mga plugin:

- Temperatura sensor

- Sensor ng Paggalaw

- Lumipat

sudo npm i-install -g homebridge-http-temperatura

sudo npm i-install -g homebridge-MotionSensor

sudo npm install -g homebridge-http-simple-switch

Kapag na-install na ang plugin kakailanganin mong i-configure ang config.json file na matatagpuan sa ibaba

sudo vi /home/pi/.homebridge/config.json

maaari mong ayusin ang nilalaman ng config.json file ayon sa bawat sa ibaba, mangyaring tiyakin na ang url ay tumuturo sa tamang lokasyon.

Hakbang 10: Pagkonekta sa Homebridge sa Iphone

Pagkonekta ng Homebridge sa Iphone mo
Pagkonekta ng Homebridge sa Iphone mo
Pagkonekta ng Homebridge sa Iphone mo
Pagkonekta ng Homebridge sa Iphone mo
Pagkonekta ng Homebridge sa Iphone mo
Pagkonekta ng Homebridge sa Iphone mo

Ngayon na ang lahat ng mga accessories ay na-configure, maaari mong patakbuhin ang homebridge gamit ang sumusunod na utos

homebridge

Dapat mong makita ang screen tulad ng nasa itaas. Maaari mong sundin ang sumusunod na hakbang upang idagdag ang Homebridge sa iyong homekit.

- Ngayon simulan ang iyong "Home" app sa iyong Iphone

- Mag-click sa pindutang "Magdagdag ng Mga Kagamitan"

- ipapakita sa iyo ang screen upang i-scan ang code, maaari mong gamitin ang iyong camera ng telepono upang i-scan ang code mula sa Raspberry Pi screen o manu-mano ang pagdaragdag ng code.

Mangyaring tandaan na ang parehong Iphone at Raspberry Pi ay kailangang nasa parehong wireless router upang gumana.

- Kapag nakakonekta sasabihan ka ng screen na nagsasabing ang iyong mga accessories ay hindi sertipikado, mag-click sa pindutang "Idagdag pa rin" upang magpatuloy

- Magkakaroon ka ng pagpipiliang i-configure ang bawat isa sa mga accessories, sa pagkakataong ito mayroon kaming switch ng ilaw, sensor ng paggalaw at sensor ng temperatura.

- Ipapakita sa iyo ng pangwakas na screen ang lahat ng mga accessories na nakakonekta.

Kapag nakakonekta ito maaari mong gamitin ang Siri upang suriin ang sensor ng paggalaw, ang temperatura at i-on at i-off ang ilaw.

Hakbang 11: Patakbuhin ang Iyong Homebridge sa Background

Patakbuhin ang Iyong Homebridge sa Background
Patakbuhin ang Iyong Homebridge sa Background
Patakbuhin ang Iyong Homebridge sa Background
Patakbuhin ang Iyong Homebridge sa Background
Patakbuhin ang Iyong Homebridge sa Background
Patakbuhin ang Iyong Homebridge sa Background

Binabati kita !! nagawa mo na Bilang isang bonus maaari kang magpatakbo ng homebridge sa background gamit ang sumusunod na utos:

homebridge at

Ngayon ay maaari kang magkaroon ng ilang kasiyahan kasama si Siri at masiyahan sa iyong pagsusumikap.

Salamat sa pagsunod dito hanggang sa katapusan. Kung gusto mo ito, mangyaring mag-iwan ng ilang mga komento o bumoto para sa akin.

Inirerekumendang: