Talaan ng mga Nilalaman:

DIY Raspberry Pi Temperature System Na May Ubidots: 7 Hakbang (na may Mga Larawan)
DIY Raspberry Pi Temperature System Na May Ubidots: 7 Hakbang (na may Mga Larawan)

Video: DIY Raspberry Pi Temperature System Na May Ubidots: 7 Hakbang (na may Mga Larawan)

Video: DIY Raspberry Pi Temperature System Na May Ubidots: 7 Hakbang (na may Mga Larawan)
Video: Setup Node-RED + Raspberry Pi to Publish Data to Ubidots Cloud 2024, Disyembre
Anonim
DIY Raspberry Pi Temperature System Sa Mga Ubidots
DIY Raspberry Pi Temperature System Sa Mga Ubidots

Ang isang sistema ng pagsubaybay sa temperatura ay nagbibigay ng mahalagang mga pananaw sa kapwa komersiyal at pang-industriya na kapaligiran upang mabawasan ang mga pagiging hindi epektibo o mapanatili ang kalidad ng mga produkto at kanilang kalidad. Paano kung sinabi ko sa iyo na maaari mong subaybayan ang temp ng iyong self-built na wine-cellar o ang aquarium ng iyong pamilya sa bahay gamit ang parehong aparato. Dagdag dito, paano kung sinabi ko sa iyo na ang parehong aparato ay maaaring magamit upang subaybayan ang hangin at likidong temperatura ng mga likido sa iyong pabrika din? Ginawa ito ng mga gumagawa ng ating mundo at ang gabay na ito ay narito upang makatulong na simulan ang iyong sariling mga pagkukusa sa bahay o sa sahig ng shop.

Ang gabay na ito ay magiging iyong tutorial para sa isang simpleng sistema ng pagsubaybay sa temperatura ng DIY na hindi rin tinatagusan ng tubig upang mag-boot. Gamit ang isang Raspberry Pi at Ubidots ipapakita namin sa iyo kung paano ikonekta ang iyong Pi at ipakita sa real-time na mga sukatan ng iyong system ng temperatura. Gamit ang Ubidots, maaari ka ring lumikha ng mga email o kaganapan sa SMS upang matiyak na ang iyong "variable" (sa kasong ito, ang temperatura) ay mananatili sa loob ng isang hanay ng mga tinukoy na limitasyon na itinalaga mo upang matiyak ang kalidad at kahusayan ng mga kundisyon ng iyong system.

Para sa proyektong ito gagamitin namin ang isang 1-wirepre-wired at hindi tinatagusan ng tubig na bersyon ng sensor ng DS18B20. Ano ang 1-wire? Ito ay isang protocol ng komunikasyon na ginagawang mas simple ang pagkonekta sa iyong mga sensor ng IoT sa pamamagitan ng pagsasama-sama ng lahat ng paglalagay ng kable ay isang solong kawad (… sa totoo lang tatlo, dalawa ang mga koneksyon sa lupa at kuryente para sa enerhiya, ang pangatlo ay ang 1-wire para sa paghahatid ng data).

MAHALAGA TANDAAN: Ang sensor ng temperatura ng 1-Wire ay may iba't ibang mga bersyon para sa pagbebenta; isa na may isang risistor na isinama sa sensor at ang iba pang wala. Kapag bumibili o nagse-set up ng iyong hardware, pinakamahusay na siguraduhin na ang iyong mga aparato at sensor ay tugma bago lumipat sa tutorial na ito.

Hakbang 1: Mga Kinakailangan

  • Raspberry Pi 3 Model (Na-configure na)
  • OneWire Temperature Sensor - DS18B20
  • Ubidots account - o - Lisensya ng STEM

Hakbang 2: Pag-setup ng Mga Kable

Pag-setup ng Kable
Pag-setup ng Kable
Pag-setup ng Kable
Pag-setup ng Kable
Pag-setup ng Kable
Pag-setup ng Kable

Tulad ng naunang nabanggit, ang sensor ng temperatura ng OneWire ay ibinebenta na may iba't ibang mga bersyon na naglalaman ng resistors. Para sa tutorial na ito, ilalarawan namin ang parehong mga bersyon – may at walang isang resister. Hindi alintana kung alin ang pipiliin mo para sa iyong system, tiyaking i-double check ang anumang mga koneksyon ay maayos na batay sa mga diagram sa ibaba at mga larawan.

    Sa resistor integrated - may konektor ng grove

Mangyaring sundin ang talahanayan at ang imahe sa itaas upang makagawa ng mga tamang koneksyon para sa iyong sensor ng temperatura ng OneWire na may resistor.

TIP: Ang Arduberry ay bagong kampanya sa Kickstarter, na nagdudulot ng isang simple at murang paraan upang dalhin ang Arduino na mga kalasag sa Raspberry Pi. Ang hindi kapani-paniwala na pagpipilian na ito ay ang madaling paraan upang simulang ikonekta ang iyong mga sensor ng grove gamit ang isang Arduino Grove na kalasag. Para sa karagdagang impormasyon tungkol dito, mangyaring sumangguni sa campaing:)

    Nang walang resistor integrated- nang walang konektor ng grove

Ang risistor sa setup na ito ay ginagamit bilang isang pull-up para sa linya ng data, at dapat na konektado sa pagitan ng data wire at ng power wire. Tinitiyak nito na ang linya ng data ay nasa isang tinukoy na antas ng lohika, at nililimitahan ang pagkagambala mula sa kuryenteng ingay kung ang aming pin ay naiwan na lumulutang.

Gumamit ng isang 4.7kΩ (o 10kΩ) risistor at sundin ang diagram sa itaas upang gawin ang mga tamang koneksyon. Tandaan na ang mga pin na konektado sa Raspberry Pi ay parehong ginagamit sa talahanayan.

Hakbang 3: Pag-setup ng Sensor

Pag-setup ng Sensor
Pag-setup ng Sensor
Pag-setup ng Sensor
Pag-setup ng Sensor

1. Sa iyong Raspberry Pi na konektado sa internet, i-verify ang IP address na nakatalaga sa pag-access ng board gamit ang ssh sa terminal ng iyong computer:

ssh pi @ {IP_Address_assigned}

Kung hindi mo pa na-configure ang mga kredensyal ng iyong Raspberry Pi, tandaan na gagamitin mo ang mga default na kredensyal na ibinigay:

  • username: pi
  • password: raspberry

Kapag ang iyong pi ay na-configure at konektado nang tama, ang gumagamit ng iyong terminal ay nakalista bilang: pi @ raspberrypi

2. Ngayon ay i-upgrade natin ang ilang mga pakete at i-install ang pip, tagapamahala ng packet ng Python. Kopyahin at i-paste ang mga utos sa ibaba sa iyong terminal at pindutin ang "ipasok" pagkatapos ng bawat isa upang patakbuhin ang mga utos.

sudo apt-get update> sudo apt-get upgrade

sudo apt-get install python-pip python-dev build-mahalaga

3. Pagkatapos, i-install ang Request library, na isang tanyag na library ng Python na nagpapasimple sa paggawa ng mga kahilingan sa HTTP. Kopyahin at i-paste ang mga utos sa ibaba sa iyong terminal at pindutin ang "ipasok" patakbuhin ang utos.

Mga kahilingan sa pag-install ng $ pip

4. Ang Raspberry Pi ay nilagyan ng isang hanay ng mga driver para sa interfacing. Sa kasong ito, upang mai-load ang driver ng 1-Wire sensor sa mga GPIO pin, kailangan nating gamitin ang mga ito sa ibaba ng dalawang mga driver. Ang mga drayber na ito samakatuwid ay naka-imbak bilang mga naa-load na mga module at ang command modprobe ay ginagamit upang i-boot ang mga ito sa kernel ng Linux kapag kinakailangan.

Patakbuhin ang mga utos sa ibaba:

$ sudo modprobe w1-gpio> $ sudo modprobe w1-therm

5. Ngayon, kailangan naming baguhin ang direktoryo sa aming folder ng aparato na 1-Wire at ilista ang mga aparato upang matiyak na na-load nang tama ang aming sensor. Kopyahin at i-paste ang mga utos sa ibaba sa iyong terminal at pindutin ang "ipasok" pagkatapos ng bawat isa upang patakbuhin ang mga utos.

$ cd / sys / bus / w1 / mga aparato /> $ ls

Sa sandaling ito sensor ka ay naipon na at konektado at dapat nakalista bilang isang serye ng mga numero at titik. Sa aming kaso, ang aparato ay nakarehistro bilang 28-00000830fa90, ngunit ang iyong kaso ay magkakaibang serye ng mga titik at numero, kaya palitan ang iyong serial number ng iyong sarili at patakbuhin ang utos.

$ cd 28-00000830fa90

Pana-panahong nagsusulat ang sensor sa w1_slave file, upang basahin ang iyong temp sensor, mangyaring patakbuhin ang utos sa ibaba:

$ cat w1_slave

Ipapakita sa iyo ng utos na ito ang dalawang linya ng teksto na may output t = ipinapakita ang temperatura sa degree Celsius. Mangyaring tandaan na ang isang decimal point ay dapat ilagay pagkatapos ng unang dalawang digit (ito ay ibinigay sa huling code- huwag mag-alala); halimbawa, ang temperatura na natanggap namin na 29.500 degree Celsius.

Ngayon na nagagawa mong kumuha ng mga pagbabasa ng temperatura, oras na upang mai-post ang mga ito sa Ubidots!

Hakbang 4: Pagpapadala ng Data sa Ubidots para sa Paggunita

Pagpapadala ng Data sa Ubidots para sa Paggunita
Pagpapadala ng Data sa Ubidots para sa Paggunita
Pagpapadala ng Data sa Ubidots para sa Paggunita
Pagpapadala ng Data sa Ubidots para sa Paggunita
Pagpapadala ng Data sa Ubidots para sa Paggunita
Pagpapadala ng Data sa Ubidots para sa Paggunita

Ngayon ay oras na upang mag-code!:) Lumikha at magpatakbo ng isang script ng Python sa terminal ng iyong computer:

$ nano onewire_temp_ubidots.py

Pagkatapos i-paste at i-save ang sumusunod na code sa iyong terminal: Pindutin dito upang makuha ang code

Tiyaking palitan ang sa iyo ng serial number 28-00000830fa90, at italaga ang iyong token ng Ubidots account sa URL ng kahilingan. Kung hindi mo alam kung paano makuha ang iyong Ubidots Token, mangyaring mag-refer sa artikulo sa ibaba para sa tulong:

Hanapin ang iyong TOKEN mula sa iyong Ubidots account

Ngayon subukan natin ang script. I-paste at patakbuhin ang script sa ibaba sa terminal ng iyong computer.

python onewire_temp_ubidots.py

Kung gumagana ito nang maayos, makakakita ka ng isang bagong aparato sa iyong Ubidots account na may dalawang variable: temp_celsius at temp_fahrenheit

Hakbang 5: Mga Opsyonal na Hakbang: Palitan ang pangalan ng Device at Mga variable

Mga Opsyonal na Hakbang: Palitan ang pangalan ng Device at Mga variable
Mga Opsyonal na Hakbang: Palitan ang pangalan ng Device at Mga variable
Mga Opsyonal na Hakbang: Palitan ang pangalan ng Device at Mga variable
Mga Opsyonal na Hakbang: Palitan ang pangalan ng Device at Mga variable

Ang mga pangalan ng mga variable na nilikha ay pareho sa mga label ng API, na kung saan ay ang mga ID na ginamit ng API. Hindi ito nangangahulugang hindi mababago ang kanilang mga pangalan, kaya inirerekumenda na baguhin ang mga pangalan ng iyong mga aparato at variable upang gawing mas kaibig-ibig sila sa iyong nomenclature. Upang malaman kung paano palitan ang pangalan ng iyong mga pangalan ng variable, tingnan sa ibaba:

Paano ayusin ang Pangalan ng aparato at Variable na pangalan

Maaari mo ring idagdag at ayusin ang mga yunit ng bawat variable mula sa iyong listahan ng mga pagpipilian.

Tulad ng nakikita mo sa itaas, nagtalaga kami ng iba't ibang mga yunit sa bawat variable, at nagtalaga din ng mas maraming mga pangalan ng palakaibigan upang magkasya sa nomenclature ng aming mga proyekto. Masidhing inirerekomenda ito sa mga gumagamit na naghahanap ng pag-deploy ng 100 o mga aparato.

Hakbang 6: Pag-setup ng Kaganapan

Ang isang kaganapan (o alerto) ay anumang pagkilos na natiyak kapag natupad o lumampas sa isang patakaran sa disenyo ang data. Halimbawa, ang isang email o mensahe sa SMS ay maaaring maipadala anumang oras ang isang sensor ay tumitigil sa pagpapadala ng data o ang isang temperatura ay lumampas sa isang maximum o minimum na threshold.

Upang likhain ang kaganapan, mangyaring sumangguni sa artikulo sa ibaba:

Mga Kaganapan: Lumilikha ng isang Kaganapan sa Mensahe ng Teksto (SMS, Email, at Telegram)

Hakbang 7: Resulta

Sa loob lamang ng ilang minuto nakabuo ka ng isang madaling sistema ng pagsubaybay sa temperatura ng DIY. Ilagay ngayon ang iyong mga sensor kung saan kinakailangan at simulang subaybayan ang mga temperatura mula sa iyong aparato ngayon!

Maligayang pag-hack:)

Inirerekumendang: