- Kinakailangan ang Mga Bahagi
- Diagram ng Circuit
- Pag-set up ng Thinger.io para sa ESP8266 Temperature Logger
- Pag-set up ng IFTTT para sa NodeMCU Data Logger
- Programming NodeMCU para sa Pag-log ng Data
- Pag-log ng Data sa Thinger.io mula sa NodeMCU
- Lumilikha ng Endpoint sa Thinger.io upang magpadala ng Alerto sa Email
Ginamit namin dati ang NodeMCU upang mag-log ng data ng temperatura sa Google sheet. Ngayon ay magpapadala kami ng data sa Thinger.io IoT cloud at ipakita ito sa isang kaakit-akit na grapikong format. Ang isang sensor ng BMP180 ay naka-interfaced sa NodeMCU ESP8266 upang makolekta ang data ng temperatura, halumigmig, at altitude, na ipapadala sa platform ng Thinger.io. Sa tutorial na ito, matututunan namin kung paano pamahalaan ang iba't ibang mga tampok ng platform ng thinger.io, tulad ng mga aparato, endpoint, data bucket, o mga access token.
Kinakailangan ang Mga Bahagi
- NodeMCU ESP8266
- Sensor ng presyon ng BMP180
- Jumper Wires
- Breadboard
Diagram ng Circuit
Ang Circuit Diagram para sa ESP8266 data logger na ito ay napaka prangka, narito lamang ang sensor ng BMP180 ang naka-interfaced sa NodeMCU.
Gumagamit ang sensor ng BMP180 ng I2C na komunikasyon sa komunikasyon. Kaya kailangan mong ikonekta ang mga pin ng SCL at SDA ng BMP180 sa SCL at SDA pin (D1 at D2) ng NodeMCU. Gayundin, ikonekta ang V IN at GND pin ng BMP180 sa 3.3V at GND ng NodeMCU. Huwag ikonekta ang Sensor nang direkta sa 5V sapagkat maaari itong permanenteng makapinsala sa Sensor.
Upang matuto nang higit pa tungkol sa NodeMCU, suriin ang iba't ibang mga proyekto ng IoT batay sa NodeMCU ESP8266.
Pag-set up ng Thinger.io para sa ESP8266 Temperature Logger
Ang Thinger.io ay isang Open-Source Platform para sa Internet of Things. Nagbibigay ito ng bawat kinakailangang tool upang prototype, sukatin, at pamahalaan ang mga konektadong produkto sa isang napaka-simpleng paraan. Nagbibigay ang Thinger.io ng tatlong mahahalagang tool tulad ng Data Bucks, Dashboard, at Endpoint upang gumana sa data ng mga aparato; ang mga tool na ito ay maaaring magamit upang mailarawan ang data ng aparato at mapalawak ang interoperability ng mga aparato.
Data Bucks: Maaaring magamit ang tool ng Data Bucks upang mag-imbak ng data ng aparato sa isang nasusukat na paraan, magprogram ng iba't ibang mga agwat ng pag-sample o pag-record ng mga kaganapan na itinaas ng mga aparato.
Dashboard: Ang tool ng Dashboard ay may ilang mga Panel na may napapasadyang mga widget na maaaring malikha sa loob ng ilang minuto gamit ang drag at drop na teknolohiya upang mailarawan ang real-time at nakaimbak na data.
Mga Endpoint: Maaaring gamitin ang mga Endpoint upang maisama ang platform sa iba pang mga serbisyo tulad ng IFTTT, pasadyang Mga Serbisyo sa Web, mga email, o tumawag sa iba pang mga aparato.
Sa pag-log sa ESP8266 na ito, susuriin namin ang mga tool na ito.
Upang magpadala ng data sa Thinger.io, kailangan mong lumikha ng isang libreng account sa platform ng Thinger.io at sundin ang mga hakbang sa ibaba upang ikonekta ang iyong aparato.
Hakbang 1: Ang unang hakbang ay upang lumikha ng isang bagong aparato. Upang lumikha ng isang bagong aparato, mag-click sa Mga Device sa tab na menu at pagkatapos ay mag-click sa pindutang Idagdag ang Device.
Pagkatapos punan ang form ng aparato ID, paglalarawan, at Mga Kredensyal o bumuo ng mga random na kredensyal para sa iyong aparato at mag-click sa ' Magdagdag ng Device .'
Yun lang; handa nang kumonekta ang iyong aparato. Sa susunod na hakbang, ipo-program namin ang NodeMCU upang maipadala ang data sa Thinger.io platform.
Pag-set up ng IFTTT para sa NodeMCU Data Logger
Narito ginagamit namin ang IFTTT upang magpadala ng mga babala sa Email kapag lumampas sa isang limitasyon ang temperatura. Ang IFTTT (Kung Ito Pagkatapos Iyon) ay isang serbisyo na nakabatay sa web kung saan makakagawa kami ng mga tanikala ng mga kondisyunal na pahayag, na tinatawag na applet. Gamit ang mga applet na ito, maaari kaming magpadala ng mga email, Twitter, mga notification sa Facebook.
Upang magamit ang IFTTT, mag-login sa IFTTT account kung mayroon ka na o lumikha ng isang account.
Ngayon maghanap para sa ' Webhooks ' at mag-click sa seksyong Webhooks sa Mga Serbisyo.
Pagkatapos, sa window ng Webhooks, mag-click sa 'Dokumentasyon' sa kanang sulok sa itaas upang makuha ang pribadong key. Kopyahin ang key na ito, gagamitin ang key na ito habang lumilikha ng Endpoint sa Thinger.io.
Pagkatapos nito, lumikha ng isang applet gamit ang mga serbisyo sa Webhooks at Email . Upang lumikha ng isang applet, mag-click sa iyong profile at pagkatapos ay mag-click sa ' Lumikha. '
Ngayon sa susunod na window, mag-click sa icon na ' Ito '. Ngayon maghanap para sa Webhooks sa seksyon ng paghahanap at mag-click sa ' Webhooks .'
Piliin ngayon ang trigger na ' Tumanggap ng isang Kahilingan sa Web' at ipasok ang pangalan ng kaganapan bilang isang temp at pagkatapos ay mag-click sa lumikha ng isang gatilyo.
Pagkatapos nito, mag-click sa ' Pagkatapos Iyon' at pagkatapos ay mag-click sa Email.
Ngayon sa email, mag-click sa 'magpadala sa akin ng isang email' at ipasok ang paksa at nilalaman ng email at pagkatapos ay mag-click sa lumikha ng pagkilos. Sa huling hakbang, mag-click sa ' Tapusin ' upang makumpleto ang pag-setup ng Applet.
Programming NodeMCU para sa Pag-log ng Data
Ang kumpletong code para sa pagpapadala ng data sa Thinger.io ay ibinibigay sa dulo ng pahina. Dito, nagpapaliwanag kami ng ilang mahahalagang bahagi.
Simulan ang code sa pamamagitan ng pagsasama ng lahat ng kinakailangang mga aklatan. Ang ThingerESP8266.h ay ginagamit upang maitaguyod ang isang koneksyon sa pagitan ng IoT platform at ng NodeMCU habang ang Adafruit_BMP085.h ay ginagamit upang basahin ang data ng sensor ng BMP. Maaari mong i-install ang ThingerESP8266.h library mula sa Arduino IDEs library manager.
# isama
Susunod, ipasok ang mga kredensyal sa code, upang makilala ang aparato at maiugnay sa iyong account.
#define USERNAME "Ang iyong account Username" #define DEVICE_ID "NodeMCU" // Ang iyong Pangalan ng Device #define DEVICE_CREDENTIAL "FcLySVkP8YFR"
Pagkatapos, ipasok ang iyong endpoint name. Ginamit ang endpoint upang isama ang platform sa mga panlabas na serbisyo tulad ng IFTTT, kahilingan sa HTTTP, atbp.
# tukuyin ang EMAIL_ENDPOINT "IFTTT"
Tukuyin ang mga variable upang maiimbak ang data ng Presyon, Temperatura, at Altitude.
int Pressure, Temperatura, Altitude;
Sa loob ng void loop (), basahin ang data ng sensor. Ang uri ng data ng pson ay maaaring magkaroon ng iba't ibang mga uri ng data. Kaya't ang uri ng data ng Pson ay ginagamit upang makatanggap ng maraming mga halaga nang sabay.
bagay >> (pson & out) {out = bmp.readPressure () / 100; out = bmp.readAltitude (); out = bmp.readTemperature (); };
Gamitin kung kundisyon upang tawagan ang Endpoint kung ang halaga ng temperatura ay pumasa sa 15 degree. Narito ang data ay ang pangalan ng Endpoint.
kung (Temperatura> 15) {thing.call_endpoint (EMAIL_ENDPOINT, "data");} Serial.print ("Sending Data");
Pag-log ng Data sa Thinger.io mula sa NodeMCU
Ngayon ikonekta ang sensor ng BMP sa NodeMCU at i-upload ang code. Gagamitin ng NodeMCU ang mga kredensyal ng iyong account upang kumonekta sa aparato na nilikha mo kanina. Kung matagumpay itong kumonekta, lalabas ito na konektado, tulad ng ipinakita sa imaheng nasa ibaba:
Maaari mong suriin ang mga istatistika ng iyong aparato tulad ng Transmitted Data, Natanggap na Data, IP Address, Oras na Nakakonekta, atbp sa pamamagitan lamang ng pag-click sa pangalan ng aparato mula sa menu ng Mga Device.
Habang tumatanggap kami ngayon ng data, lilikha kami ng isang dashboard upang mailarawan ang data gamit ang mga widget.
Upang lumikha ng isang Dashboard, mag-click sa Dashboard mula sa tab na menu at pagkatapos ay mag-click sa ' Magdagdag ng Dashboard .'
Ngayon sa susunod na window, ipasok ang mga detalye ng dashboard tulad ng pangalan ng dashboard, ID, at Paglalarawan at pagkatapos ay mag-click sa Dashboard.
Pagkatapos nito, i-access ang bagong dashboard sa pamamagitan ng pag-click sa pangalan ng Dashboard. Bilang default, lilitaw na walang laman ang dashboard. Upang idagdag ang Mga Widget, kailangan mo munang paganahin ang mode na pag-edit sa pamamagitan ng pag-click sa kanang-itaas na switch ng dashboard. Pagkatapos mag-click sa pindutang ' Magdagdag ng Widget' .
Kapag nag-click ka sa pindutang ' Magdagdag ng Widget' , magpapakita ito ng isang popup kung saan maaari mong piliin ang uri ng widget, kulay ng background, atbp. Sa aking kaso, pinili ko ang Gauge Widget.
Kapag nag-click ka sa pag-save, dadalhin ka nito sa susunod na screen kung saan kailangan mong piliin ang Source Value, Device, Resource, Value, at Refresh mode. Piliin ang lahat ng mga halaga at pagkatapos ay mag-click sa pindutang I-save.
Ngayon ulitin ang parehong pamamaraan para sa natitirang mga variable. Ganito ang hitsura ng aking dashboard:
Lumilikha ng Endpoint sa Thinger.io upang magpadala ng Alerto sa Email
Lilikha kami ngayon ng isang Endpoint upang isama ang Thinger.io sa IFTTT. Ang isang endpoint ay maaaring tawagan ng aparato upang magsagawa ng anumang pagkilos, tulad ng pagpapadala ng isang email, magpadala ng isang SMS, tumawag sa isang REST API, makipag-ugnay sa IFTTT, tumawag sa isang aparato mula sa ibang account, o tumawag sa anumang iba pang endpoint ng
Upang lumikha ng isang Endpoint, mag-click sa pagpipiliang 'Endpoint' mula sa mga tab na menu at pagkatapos ay mag-click sa 'Magdagdag ng Endpoint.'
Ngayon sa susunod na window, ipasok ang kinakailangang mga detalye. Ang mga Detalye ay:
Endpoint Id: Natatanging identifier para sa iyong endpoint.
Paglalarawan ng Endpoint: Sumulat ng isang paglalarawan o detalyadong impormasyon tungkol sa iyong Endpoint.
Uri ng Endpoint: Piliin ang uri ng Endpoint mula sa mga ibinigay na pagpipilian.
Pangalan ng Kaganapan ng Maker: Ipasok ang iyong IFTTT applet na pangalan.
Maker Channel Key: Ang iyong sikretong susi ng Webhooks.
Pagkatapos nito, mag-click sa Test Endpoint upang suriin kung gumagana ang lahat. Dapat kang magpadala sa iyo ng isang email na may babala tungkol sa data ng temperatura.
Sa halip na gamitin ang IFTTT Webhook Trigger, maaari kang magpadala ng isang Email o Telegram Mensahe, o maaari kang magpadala ng isang kahilingan sa HTTP gamit ang mga tampok na Endpoint.
Ito ang paraan upang magamit ang isang NodeMCU ESP8266 upang mag-log ng temperatura, presyon, at data ng altitude mula sa sensor ng BMP180 sa internet.
Ang isang gumaganang video at kumpletong code ay ibinibigay sa dulo ng pahina.