- Kinakailangan ang Mga Bahagi
- Ang interfacing MLX90614 kasama ang Raspberry Pi
- Ang Pi Camera Interfacing kasama ang Raspberry Pi
- Pagse-set up ng SMTP Email kasama ang Raspberry Pi
- Python Code para sa Pi na Basahin ang Temperatura mula sa MLX90614 at Magpadala ng E-mail na may Larawan
- Pagsukat sa Temperatura at Pagpapadala ng Alerto sa Mail na may PI
Mula nang sumiklab ang corona, napakahirap kilalanin ang mga naapektuhan ng virus o hindi. Upang malutas ang isyung ito, madalas na ginagamit ang mga aparato ng temperatura upang masukat ang temperatura ng katawan. Ang mga aparatong ito ay may mga sensor ng temperatura ng hindi contact na IR na maaaring masukat ang temperatura ng katawan nang walang anumang pisikal na kontak.
Mayroong maraming mga baril ng temperatura na magagamit sa merkado, ngunit wala sa kanila ang nagbibigay ng anumang alerto o abiso sa email sa mas mataas na mga awtoridad upang gumawa ng naaangkop na mga aksyon kapag ang temperatura ay lumampas sa isang partikular na limitasyon. Sa proyektong ito, makikipag-ugnay kami sa isang sensor ng temperatura ng IR at ipadala ang mga alerto sa email na may imahe ng tao kung ang temperatura ng anumang partikular na tao ay lumampas sa itinakdang halaga.
Sa panahon ngayon, ang Internet of Things ay binabago ang ating buhay sa pamamagitan ng pagbuo ng isang bilang ng mga system na maaaring subaybayan at makontrol nang malayuan. Sa proyektong ito, gagamitin namin ang lakas ng IoT at magtatayo kami ng isang aparato ng Pagsubaybay sa Temperatura na may mga alerto sa Email gamit ang Raspberry Pi, MLX90614, at PiCamera.
Dati ay nagtayo rin kami ng iba pang mga katulad na thermometers para sa pagsukat ng temperatura ng katawan, mahahanap mo sila dito.
- Batay sa digital na termometro ng Arduino gamit ang MAX30205
- Ang contactless Body Temperature na pag-screen gamit ang RFID at Arduino na may MLX90614
- Non-contact Infrared Thermometer Gun gamit ang Arduino
- Wall Mount Non-contact Thermometer gamit ang Arduino
- Smart Thermometer gamit ang Arduino sa Android Application
Kinakailangan ang Mga Bahagi
Narito ginagamit namin ang Raspberry Pi 3 Raspbian OS. Ang lahat ng pangunahing mga kinakailangan sa Hardware at Software ay dati nang tinalakay, maaari mo itong tingnan sa Panimula ng Raspberry Pi at Raspberry PI LED Blinking para sa pagsisimula, bukod sa kailangan namin:
- Raspberry Pi 3 (ang anumang bersyon ay magiging mabuti).
- Pi Camera.
- MLX90614 - sensor ng temperatura ng IR.
- Mga kumokonekta na mga wire.
- Breadboard.
- Power Supply (5V, 2A / 3A)
Ang proyektong ito ay simple kung hatiin namin ang proyekto sa mga bahagi.
- Pag-unawa at Interfacing MLX90614 kasama ang Raspberry pi.
- Pagsisimula sa Pi Camera.
- Pagse-set up ng SMTP Email gamit ang Raspberry pi.
- Ang pagbuo at pag-unawa sa huling code.
Raspberry Pi: Ang Raspberry Pi ay isang computer na laki ng credit card na idinisenyo para sa mga layuning pang-edukasyon. Dahil sa presyo nito at kamangha-manghang mga pagtutukoy tulad ng onboard wifi, Bluetooth, at programmable GPIO header, at ang bilang ng mga posibleng pagpipilian upang lumikha ng isang application, ito ay pinagtibay ng mga developer at hobbyist ng electronics. Maaari mong hanapin ito sa Panimula ng Raspberry Pi at Raspberry PI LED Blinking para sa pagsisimula sa proseso ng pag-boot.
MLX90614 IR Temperature Sensor: Maraming mga sensor na magagamit sa merkado na maaaring magbigay sa amin ng temperatura at halumigmig. Ang pinagkaiba ng sensor na ito mula sa lahat ng iba pang mga sensor ay maaari itong bigyan kami ng temperatura ng object at ang iba pang mga sensor ay nagbibigay ng temperatura sa paligid. Ginamit namin ang DHT11 Sensor at LM35 nang malawakan para sa maraming mga application kung saan kailangang sukatin ang kahalumigmigan o temperatura ng temperatura.
Ngunit dito para sa paggawa ng isang temperatura gun na hindi nangangailangan ng pisikal na pakikipag-ugnay at masusukat ang temperatura ng bagay sa halip na temperatura sa paligid, gumagamit kami ng IR based MLX90614. Upang matuto nang higit pa tungkol sa mga circuit ng Infrared at IR sensor, sundin ang link.
Ang sensor ng MLX90614 ay gawa ng Melexis Microelectronics Integrated system, gumagana ito sa prinsipyo ng InfraRed thermopile sensor para sa pagsukat ng temperatura. Ang mga sensor na ito ay binubuo ng dalawang unit na naka-embed sa loob upang maibigay ang output ng temperatura. Ang unang yunit ay ang sensing unit na mayroong isang infrared detector na sinusundan ng pangalawang yunit na nagsasagawa ng pagkalkula ng data sa Digital signal processing (DSP). Gumagana ang sensor na ito sa batas ng Stefan-Boltzmann na nagpapaliwanag ng kuryente na sinasalamin ng isang itim na katawan ayon sa temperatura nito. Sa simpleng mga termino, ang anumang bagay na nagpapalabas ng enerhiya ng IR at ang tindi ng iyon ay direktang proporsyonal sa temperatura ng bagay na iyon. Ang MLX90614 sensor ay nagko-convert ng computational na halaga sa 17-bit ADCat maaari itong ma-access gamit ang I2C na komunikasyon na proteksyon. Sinusukat ng mga sensor na ito ang temperatura ng paligid pati na rin ang temperatura ng bagay na may resolusyon na pagkakalibrate ng 0.02 ° C. Upang malaman ang higit pa tungkol sa mga tampok ng MLX90614 sensor, sumangguni sa MLX90614 Datasheet.
Mga tampok ng MLX90614:
- Operating Boltahe: 3.6V hanggang 5V
- Saklaw ng Saklaw ng Saklaw: -40 ° C hanggang 125 ° C
- Saklaw na Temperatura ng Bagay: -70 ° C hanggang -382.2 ° C
- Resolusyon / Pagkakalibrate: 0.02 ° C
- 17-bit ADC.
- Komunikasyon sa I2C.
Ang interfacing MLX90614 kasama ang Raspberry Pi
Una, mai-download namin ang silid-aklatan at mga pakete na kinakailangan upang matagumpay na ma-interface ang MLX90614.
Hakbang1: Paganahin ang I2C mula sa setting ng Raspberry Pi.
I-type ang sudo raspi-config at pagkatapos ay pumunta sa mga pagpipilian sa interfacing.
Pumunta sa opsyon na I2C at paganahin ito.
Hakbang2: I-download ang package / library ng MLX90614 sa pamamagitan ng pagpunta sa https://pypi.org/project/PyMLX90614/#files, pagkatapos ay i-right click at kopyahin ang link address.
Pumunta sa terminal ng RPI at i-type ang wget at i-paste ang link na nakopya tulad sa ibaba.
Wget
I-download nito ang silid- aklatan sa pangalan ng file ng zip na 'PyMLX90614-0.0.3.tar.gz' . pagkatapos ay kunin ang folder na may extension ng pangalan ng file na tar -xf o gamitin ang utos sa ibaba upang gawin ang pareho.
tar -xf PyMLX90614-0.0.3.tar.gz
Pagkatapos kailangan naming mag-install ng ilang kinakailangang mga pakete gamit ang mga utos sa ibaba.
sudo apt-get install python-setuptools sudo apt-get install -y i2c-tool
Pagkatapos ay pumunta sa nakuha na folder gamit ang cd PyMLX90614-0.0.3 / at patakbuhin ang utos.
sudo python setup.py install
Kapag tapos ka na sundin ang mga hakbang, i- interface lamang ang sensor ng MLX90614 gamit ang Raspberry pi gamit ang circuit na ibinigay sa ibaba. Ang nasa ibaba ng Raspberry Pi MLX90614 circuit ay dinisenyo gamit ang fritzing.
Kung ang mga koneksyon at pag-install ay tapos na nang maayos, maaari nating suriin kung nakukuha natin ang halaga ng address ng sensor sa I2C bus gamit ang command i2cdetect -y 1 .
Kung ang lahat ay gumagana tulad ng inaasahan, maaari naming makita ang output sa ibaba sa aming terminal.
Ang 0x5A ay kumakatawan sa address ng sensor tulad ng nabanggit ng datasheet. Ang snippet ng datasheet na nagpapakita ng pareho ay ibinibigay sa ibaba.
Ngayon, tatakbo kami gumawa ng isang bagong pangalan ng file na mlxread.py at magsulat ng isang sample na programa upang suriin ang data mula sa sensor. Ang code para sa pareho ay ibinibigay sa ibaba.
mula sa smbus2 import SMBus mula mlx90614 import MLX90614 bus = SMBus (1) sensor = MLX90614 (bus, address = 0x5A) i-print ang "Ambient Temperature:", sensor.get_ambient () i-print ang "Temperatura ng Bagay:", sensor.get_object_1 () bus. isara ()
Kapag nilikha ang file, tatakbo namin ito sa python extension python mlxread.py. Ang output na natanggap ko ay ipinapakita sa ibaba. Pinatakbo ko ang programa nang maraming beses upang suriin kung nagbabago ang mga halaga sa paglipat ko ng aking kamay dito.
Woah, matagumpay naming na-interfaced ang MLX90614 sa aming Raspberry Pi na makukumpirma mo mula sa imahe sa itaas.
Ang Pi Camera Interfacing kasama ang Raspberry Pi
Hakbang1: Paganahin ang Camera mula sa setting ng Raspberry Pi.
I-type ang sudo raspi-config at pagkatapos ay pumunta sa mga pagpipilian sa interfacing.
Pumunta sa Camera at paganahin ang camera.
Ngayon, ikonekta ang module ng camera tulad ng ipinakita sa ibaba.
Hakbang2: Upang suriin kung ang camera ay konektado nang maayos, kumuha kami ng isang pagsubok na imahe at mai-save iyon sa aming Desktop (ginagamit namin ang buong bersyon ng GUI Raspbian OS)
raspistill -o Desktop / image.jpg
Paganahin nito ang iyong camera na mag-click sa isang larawan na may imahe ng pangalan at iimbak iyon sa iyong Desktop.
Pagse-set up ng SMTP Email kasama ang Raspberry Pi
Sa seksyong ito, mauunawaan namin kung paano namin maitatakda ang aming GMAIL account upang magpadala ng mga mail na alerto sa sandaling lumampas ang temperatura sa tinukoy na halagang itinakda.
Ang SMTP ay isang Simple Mail Transfer Protocol na isang layer ng application layer na responsable para sa serbisyo sa email gamit ang TCP / IP. Nagbibigay ito ng kakayahang magpadala at makatanggap ng mga mensahe sa e-mail at pinamamahalaan ng Internet Engineering Task Force (IETF).
Gumagana lamang ang tutorial na ito sa mga account ng GMAIL at upang maiwasan ang anumang mga posibleng pagkakamali, inirerekumenda kung gumamit ka ng isang sariwang Gmail account.
Bilang default, hindi pinapayagan ng Google ang mga gumagamit na magpadala ng email gamit ang python script. Upang maisagawa ito, kailangan naming paganahin ang ilang mga hindi gaanong ligtas na mga app sa pamamagitan ng pagpunta sa mga setting ng account.
Hakbang1: Pumunta sa kanang sulok at mag-click sa aking Pamahalaan ang iyong Google Account.
Step2: Mag-click sa Seguridad at mag-scroll pababa sa "Hindi Gaanong Ligtas na Pag-access ng App".
Step3: Paganahin ang hindi gaanong ligtas na app.
Step4: Ulitin kasama ang iba pang email id pati na rin upang maipadala / matanggap ang email mula sa script ng sawa.
Hakbang5: I-download ang kinakailangang mga pakete.
sudo apt-get install ssmtp sudo apt-get install mailutils
Kung nakakakuha ka ng isang error sa pagpapatakbo ng utos sa pamamagitan ng pag-paste ng kopya, pagkatapos manu-manong i-type ito.
Step6: Matapos ang pag-install ng lahat ng mga silid -aklatan ay tapos na, kailangan naming gumawa ng mga pagbabago sa ssmtp.conf file kung saan kailangan naming ipasok ang mga detalye ng email ng nagpadala
Pumunta sa sudo nano /etc/ssmtp/ssmtp.conf
Mag-scroll pababa sa dulo at i-paste ito, mailhub = smtp.gmail.com: 587 AuthUser = YourEmailAddress AuthPass = YourEmailPassword UseSTARTTLS = YES UseTLS = YES
Nagbahagi din ako ng isang screenshot ng aking mga terminal para sa iyong sanggunian.
Gumamit lang ako ng isang breadboard upang makagawa ng aking koneksyon, ang aking set-up ng hardware ay kamukha niya kapag nakakonekta ang MLX90614 at camera.
Python Code para sa Pi na Basahin ang Temperatura mula sa MLX90614 at Magpadala ng E-mail na may Larawan
Ginagawa ng programang python ang lahat ng kinakailangang operasyon upang mabasa ang data ng sensor, ihambing ito sa halaga ng threshold, pahintulutan ang email, at pagkatapos ay ipadala ang email na may kalakip na imahe. Sa una, kakailanganin namin ang pagdedeklara ng mga aklatan, nagpadala, at tatanggap ng email. Maaaring ipadala ang email sa pamamagitan ng smtplib, ngunit nais lang namin na maisaayos ang email sa isang paksa, katawan, at iba pang kalakip, ginagawa ito sa tulong ng Multipurpose Internet Mail Extensions (MIME). Ang kumpletong code ay matatagpuan sa ilalim ng pahinang ito.
i-import ang RPi.GPIO bilang gpio import picamera import time import smtplib mula sa email. MIMEMultipart import MIMEMultipart mula sa email. MIMEText import MIMEText mula sa email.MIMEBase import MIMEBase mula sa mga pag-import ng email mula sa email.mime.image import MIMEImage mula sa smbus2 import SMBus mula sa mlx90614 import MLX90614
Pagkatapos nito, tinutukoy namin ang email address ng nagpadala, email address ng tatanggap, paksa ng email, katawan, at ang mensahe ng pagkakabit.
fromaddr = "[email protected]" # baguhin ang email address nang naaayon toaddr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail = toaddr mail = "Temperatura ng halaga na lampas sa alerto" body = "Mangyaring hanapin ang nakalakip imahe "
Pagkatapos, lumikha kami ng isang pagpapaandar gamit ang kung saan maaari kaming magpadala ng isang E-mail.
def sendMail (data): mail.attach (MIMEText (body, 'plain')) print data dat = '% s.jpg'% data print dat attachment = open (dat, 'rb') image = MIMEImage (attachment.read ()) attachment.close () mail.attach (imahe) server = smtplib.SMTP ('smtp.gmail.com', 587) server.starttls () server.login (fromaddr, "test12345 @") text = mail. as_string () server.sendmail (fromaddr, toaddr, text) server.quit ()
Pagkatapos, lumikha kami ng isang pagpapaandar upang makuha ang imahe na ipinadala sa pamamagitan ng email at iniimbak din ang imahe na may data at oras.
def capture_image (): data = time.strftime ("% d_% b_% Y-% H:% M:% S") camera.start_preview () time.s Sleep (5) print data camera.capture ('% s. jpg '% data) camera.stop_preview () time.s Sleep (1) sendMail (data)
Pagkatapos, gumawa kami ng ilang mga setting sa PiCamera.
camera = picamera.PiCamera () camera.rotation = 0 camera.awb_mode = 'auto' camera.brightness = 55
At sa wakas, mayroon kaming isang habang (1) loop na tatakbo nang walang hanggan. Babasahin nito ang data mula sa sensor ng temperatura ng MLX90614 at kung ang temperatura ay lumampas sa itinakdang halaga, pagkatapos ay tinatawag ang function na capture_image () na pagkatapos ay tatawag sa pagpapaandar na sendMail (data) upang ipadala ang pagkuha ng imahe sa pamamagitan ng email.
Pagsukat sa Temperatura at Pagpapadala ng Alerto sa Mail na may PI
Kapag handa na ang hardware at software, i-runt nalang ang python code (ibigay sa ibaba) sa iyong pi. I-print nito ang halaga ng temperatura na nabasa mula sa sensor tulad ng ipinakita sa ibaba.
Kung ang temperatura ng bagay ay lumampas sa temperatura ng threshold, kung gayon ang aming programa sa python ay kukuha ng isang imahe mula sa camera, i-save ito sa raspberry pi, at ibahagi din ito sa pamamagitan ng E-mail. Ang isang sample na E-mail na ipinadala mula sa raspberry Pi ay ipinapakita sa ibaba.
Ang kumpletong pagtatrabaho ng proyekto ay maaari ding makita sa video na naka-link sa ibaba. Inaasahan kong nasiyahan ka sa artikulo, kung mayroon kang anumang mga katanungan mangyaring iwanan sila sa mga komento sa ibaba o maaari mo ring gamitin ang aming mga forum upang mai-post ang iyong mga katanungan at makipag-ugnay sa komunidad.