Orodha ya maudhui:

Logger ya Joto la WiFi (na ESP8266): Hatua 11 (na Picha)
Logger ya Joto la WiFi (na ESP8266): Hatua 11 (na Picha)

Video: Logger ya Joto la WiFi (na ESP8266): Hatua 11 (na Picha)

Video: Logger ya Joto la WiFi (na ESP8266): Hatua 11 (na Picha)
Video: Введение в плату разработки NodeMCU ESP8266 WiFi с примером HTTP-клиента 2024, Julai
Anonim
Image
Image
Vifaa
Vifaa

Halo, nimefurahi kukuona hapa. Natumai kuwa katika hii inayoweza kufundishwa utapata habari muhimu. Jisikie huru kunitumia maoni, maswali,… Hapa kuna data ya msingi na muhtasari wa haraka wa mradi. Kwa watumiaji wa rununu: Video. Nijulishe maoni yako juu ya mradi huo katika sehemu ya maoni, asante. Hivi karibuni nimenunua bodi ya NodeMcu (esp8266 based) ili kujaribu tu kwa hivyo huu sio mradi wa hali ya juu sana. Lakini inafanya kazi na ndio ninahitaji, kwa hivyo ni sawa. Kazi kuu ya logger hii ya data ni kukusanya joto na kuihifadhi kwenye seva. Hii inaruhusu watumiaji kuangalia data na grafu mkondoni hata wakati hawako katika eneo moja la logger (kwa mfano kwa kituo cha hali ya hewa). Kipengele kingine muhimu ni sasisho la OTA lililojumuishwa kwenye nambari ambayo inaruhusu mtumiaji kusasisha na kubadilisha programu kwa urahisi. Nitachambua sensorer mbili na njia yao ya ununuzi inayohusiana ili kufanya usawa wa faida na hasara zote.

Spoiler: baada ya upimaji kidogo nilipata kuwa sensa ya dijiti kama DS18B20 ni suluhisho bora kwa sababu inatoa utulivu na usahihi wa hali ya juu. Tayari haina maji na ina kebo.

Hatua ya 1: Vifaa

Vifaa
Vifaa
Vifaa
Vifaa
Vifaa
Vifaa

Huu ni mradi mdogo na sehemu chache za nje, kwa kuwa orodha hii ya BOM itakuwa fupi kweli kweli. Walakini, wacha tuone ni nyenzo gani inayoombwa:

  • NodeMcu V3 (au programu yoyote inayofaa ya ESP8266 μ);
  • RGB iliyoongozwa (anode ya kawaida);
  • Vipinga vya kuongozwa (1x10Ω, 1x22Ω, 1x100Ω, 1x10kΩ)
  • DS18B20 (kipimajoto cha Jumuishi cha Maxim);
  • LM35 (kipima joto cha Ala Texas);
  • Betri ya nje (hiari);
  • Cable;
  • Kiunganishi (kuifanya iwe "ya hali ya juu" zaidi);
  • Sanduku (hiari, tena kuifanya iwe "ya hali ya juu" zaidi);
  • Mmiliki aliyeongozwa (hiari);

Kumbuka: Kama nilivyosema unahitaji kuchagua mojawapo ya njia mbili. Ikiwa unachagua kipimajoto cha LM35, utahitaji sehemu nyingine chache:

  • Attiny45 / 85;
  • Programu ya AVR (au Arduino kama ISP);
  • Kizuizi (1x1kΩ, 1x2kΩ, 1x10kΩ, 1x18kΩ)
  • Kiunganishi cha ukanda wa 2.54mm (hiari)
  • Diode (2x1N914)
  • Ubao wa pembeni au PCB;

Hatua ya 2: Kuchagua Sensorer

Kuchagua Sensor
Kuchagua Sensor

Kuchagua sensor inaweza kuwa hatua ngumu: leo kuna tani za transducers (TI inatoa vitu 144 tofauti) zote za analog na dijiti na anuwai ya joto, usahihi na kesi. Sensorer za Analog (sehemu 46 zinazopatikana kutoka TI): Faida:

  • Logger ya data inaweza kubadilishwa kwa urahisi kutoka kwa joto hadi kwa kiwango kingine (voltage, sasa,…);
  • Inaweza kuwa nafuu kidogo;
  • Rahisi kutumia kwani haihitaji maktaba yoyote maalum;

Hasara:

  • Inahitaji ADC (ambayo inaweza kuathiri usahihi wa kipimo) na vifaa vingine vya nje. Kwa kuwa esp8266 ina ADC moja tu (na sio sahihi kabisa) ningeshauri kutumia ya nje.
  • Inahitaji kebo iliyowekwa wakfu na kukataliwa kwa kelele kwani voltage yoyote iliyowekwa inaweza kubadilisha matokeo.

Baada ya kufikiria kidogo niliamua kutumia LM35, sensa ya laini yenye kiwango cha + 10mV / ° C na usahihi wa 0.5 ° C na sasa ya chini sana (karibu 60uA) na voltage ya kufanya kazi kutoka 4V hadi 30V. Kwa undani zaidi ninashauri kuona data ya data: LM35.

Sensorer za Dijiti (Faida zinazopendekezwa sana):

Karibu vifaa vyovyote vya nje vinahitajika;

Jumuishi ADC

Hasara:

Omba maktaba au programu tumizi ya ishara ya dijiti (I2C, SPI, Serial, Wire One,…);

Ghali zaidi;

Nimechagua DS18B20 kwa sababu nimepata seti ya sensorer 5 zisizo na maji kwenye Amazon na kwa sababu imeandikwa sana kwenye mtandao. Sifa kuu ni kipimo cha 9-12bit, basi 1-Waya, 3.0 hadi 5.5 voltage ya usambazaji, usahihi wa 0.5 ° C. Tena, kwa maelezo zaidi hapa kuna data ya data: DS18B20.

Hatua ya 3: LM35

LM35
LM35
LM35
LM35
LM35
LM35

Wacha tuchambue jinsi nimetekeleza ADC ya nje na huduma nyingine kwa kipima joto cha LM35. Nilipata kebo yenye waya tatu, moja ikiwa na kinga na mbili bila. Niliamua kuongeza capacitor ya kushuka ili kutuliza voltage ya usambazaji karibu na sensa. Ili kubadilisha joto la analog kuwa dijiti, nimetumia microprocessor ya Attiny85 kwenye kifurushi cha dip8 (tena kwa habari zaidi angalia datasheet: attiny85). Jambo muhimu zaidi kwetu ni ADC 10 kidogo (sio bora kabisa lakini ni sahihi kwangu). Ili kuwasiliana na Esp8266 niliamua kutumia mawasiliano ya serial kuzingatia kuwa esp8266 inafanya kazi na 3.3V na attiny85 saa 5V (kama inavyotakiwa kuwezesha sensor). Ili kufanikisha hilo, nilitumia mgawanyiko rahisi wa voltage (angalia skimu). Kusoma joto hasi tunahitaji kuongeza vifaa vingine vya nje (2x1N914 na kipingaji cha 1x18k), kwani sitaki kutumia nguvu hasi. Hapa kuna nambari: Hifadhi ya TinyADC Kumbuka: kukusanya nambari hii utahitaji kusanikisha attiny to ide (ingiza hii katika chaguo: https://drazzy.com/package_drazzy.com_index.json), ikiwa haujui jinsi ya kufanya hivyo, tafuta tu kwenye Google. Au pakia faili ya hex moja kwa moja.

Hatua ya 4: DS18B20

DS18B20
DS18B20
DS18B20
DS18B20
DS18B20
DS18B20
DS18B20
DS18B20

Nilinunua sensorer hizo kutoka Amazon (gharama 5 karibu 10 €). Ilifika na kifuniko cha chuma cha pua na kebo 1m urefu. Sensor hii inaweza kurudi data ya joto 9 hadi 12 kidogo. Sensor nyingi zinaweza kuingizwa kwenye pini moja kwani zote zina kitambulisho cha kipekee. Kuunganisha DS18B20 kwa esp8266 unaweza kufuata tu picha (picha ya pili). Kwa kuwa nimeamua kuwa mkataji wangu angekuwa na uchunguzi tatu, imebidi nitofautishe ambayo ni ipi. Kwa hivyo nilifikiri kuwapa rangi inayohusishwa kupitia programu kwenye anwani yao. Nimetumia bomba linaloweza kushuka kwa joto (picha ya tatu).

Hatua ya 5: Msimbo wa ESP8266

Msimbo wa ESP8266
Msimbo wa ESP8266
Msimbo wa ESP8266
Msimbo wa ESP8266

Kwa kuwa mimi ni mgeni katika ulimwengu huu, niliamua kutumia maktaba nyingi. Kama inavyosemwa katika utangulizi sifa kuu ni:

  • Sasisho la OTA: hauitaji kuziba esp8266 kwenye kompyuta yako kila wakati unahitaji kupakia nambari (lazima uifanye mara ya kwanza tu);
  • Meneja wa wireless, ikiwa mtandao wa wireless hubadilika, hauitaji kupakia tena mchoro. Unaweza kusanidi tena vigezo vya mtandao vinavyounganisha na eneo la ufikiaji la esp8266;
  • Upungufu wa data ya Thingspeak;
  • Zote LM35 na DS18B20 ziliungwa mkono;
  • Muunganisho Rahisi wa Mtumiaji (RGB iliyoongozwa inaonyesha habari muhimu);

Tafadhali niombe msamaha kwa sababu programu yangu sio bora na haijaagizwa vizuri. Kabla ya kupakia kwenye kifaa, unahitaji kubadilisha vigezo kadhaa kutoshea nambari kwenye usanidi wako. Hapa unaweza kupakua programu. Usanidi wa kawaida wa LM35 na DS18B20 Unahitaji kubadilisha ufafanuzi wa pini, ishara, nambari ya kituo, mtumiaji na nywila kwa sasisho la OTA. Mstari kutoka 15 hadi 23.

#fafanua nyekundu YAKO HAPA #fafanua kijani YAKO HAPA

#fafanua bluu YAKO NYUMBANI const char * host = "chagua anwani ya mwenyeji"; // haihitajiki kweli unaweza kuondoka esp8266-webupdate const char * update_path = "/ firmware"; // kubadilisha anwani ya uppdatering wa zamani: 192.168.1.5/firmware const char * update_username = "YOURUSERHERE"; const char * update_password = "YOURPASSWORDHERE; unsigned long myChannelNumber = CHANNELNUMBERHERE; const char * myWriteAPIKey =" WRITEAPIHERE ";

Hatua ya 6: Msimbo wa ESP8266: Mtumiaji wa LM35

Unahitaji kuunganisha bodi ya attiny na esp8266, kuwezesha kitengo cha ADC kutumia pini ya VU na G pin. Unahitaji kuchagua pini unayotaka kutumia kwa mawasiliano ya serial (kuweka vifaa vya serial bila malipo kwa kusudi la utatuaji). Pini ya TX lazima ichaguliwe lakini haitumiki kweli. (Mstari wa 27). SoftwareSerial mySerial (RXPIN, TXPIN); Juu unahitaji kuongeza: #fafanua LM35USER

Hatua ya 7: Msimbo wa ESP8266: Mtumiaji wa DS18B20

Kama operesheni ya kwanza unahitaji kutambua Anwani ya kifaa kwa kila sensorer. Kusanya na kupanga nambari hii kwa esp na utafute mfululizo kwa matokeo. Nambari inaweza kupatikana hapa (tafuta kichwa hiki kwenye ukurasa: «Soma Anwani za ndani za DS18B20»). Unganisha sensorer moja tu kupata anwani, matokeo yanapaswa kuwa kitu kama hiki (nambari ya nasibu hapa! Kama mfano): 0x11, 0x22, 0x33, 0xD9, 0xB1, 0x17, 0x45, 0x12Kisha unahitaji kubadilisha nambari yangu katika sehemu " Usanidi wa DS18B20 "(mstari wa 31 hadi 36)":

#fafanua ON_WIRE_BUS ONEWIREPINHERE #fasili TEMPERATURE_PRECISION TEMPBITPRECISION // (kutoka 9 hadi 12) #fafanua kuchelewaDallas READINTERVAL // (Katika Milliseconds, kiwango cha chini ni 15s au 15000mS) 0x12}; // BADILI NA ANWANI YAKO KifaaAdressress redSensor = {0x11, 0x22, 0x33, 0xD9, 0xB1, 0x17, 0x45, 0x12}; // BADILIKA KWA ANWANI YAKO KifaaAdress greenSensor = {0x11, 0x22, 0x33, 0xD9, 0xB1, 0x17, 0x45, 0x12}; // BADILI NA ANWANI YAKO Juu unahitaji kuongeza: #fafanua DSUSER

Hatua ya 8: ESP8266 Hila Ndogo

ESP8266 Ujanja mdogo
ESP8266 Ujanja mdogo

Baada ya upimaji kidogo niligundua kuwa ukiziba esp8266 bila programu, haitaendesha nambari mpaka ubonyeze kuweka mara moja. Ili kutatua suala hili, baada ya utafiti kidogo, niligundua kuwa lazima uongeze kipinga-kuvuta kutoka 3.3V hadi D3. Hii itamwambia processor ipakia nambari kutoka kwa kumbukumbu ya flash. Kwa njia hii, D3 inaweza kutumika moja kwa moja kuingiza data kwa sensorer DS18B20.

Hatua ya 9: Uendeshaji wa Mara ya Kwanza

Uendeshaji wa Mara ya Kwanza
Uendeshaji wa Mara ya Kwanza
Uendeshaji wa Mara ya Kwanza
Uendeshaji wa Mara ya Kwanza

Ikiwa umepakia nambari hiyo kwa usahihi lakini usitumie kamwe maktaba ya msimamizi wa Wifi ni wakati wa kusanidi muunganisho wako wa wifi. Subiri hadi uone RGB ikiongozwa ikiangaza haraka kuliko hapo awali, kisha utafute na simu yako ya rununu au PC mtandao wa wifi uitwao "AutoConnectAp" na unganisha. Baada ya unganisho, fungua kivinjari cha wavuti na uingie 192.168.4.1, utapata kiolesura cha GUI cha msimamizi wa wifi (tazama picha) na bonyeza "Sanidi Wifi". Subiri esp8266 kutafuta mitandao ya wifi, na uchague inayotakiwa. Ingiza nenosiri na bonyeza "kuokoa". Esp8266 itaanza upya (usijali RGB imeongozwa wakati huu kwa sababu itatoa habari zingine za nasibu) na unganisha kwenye mtandao.

Hatua ya 10: Hitimisho

Hitimisho
Hitimisho
Hitimisho
Hitimisho
Hitimisho
Hitimisho
Hitimisho
Hitimisho

Mwishowe, hapa kuna grafu iliyochukuliwa kutoka kwa kumbukumbu ya data ikifanya kazi wakati wa kuweka joto langu la freezer. Katika machungwa ni DS18B20 na kwa bluu LM35 na ni mzunguko. Unaweza kuona tofauti kubwa zaidi kwa usahihi kutoka kwa sensorer ya dijiti kwenda kwa analojia (na maskini yangu "mzunguko wa ADC") ambayo hutoa data isiyo ya mwili. rahisi kusoma na karibu "kuziba na kucheza", ni thabiti zaidi na sahihi, inaendesha 3.3V na inahitaji pini moja tu kwa sensorer nyingi. Asante kwa umakini, natumahi kuwa mradi huu ni mzuri kwako na umekuwa alipata habari muhimu. Na kwa ambaye anataka kuitambua, ningependa ningepeana habari zote zinazohitajika. Ikiwa sio huru kuuliza kila kitu, nitafurahi kujibu maswali yote. Kwa kuwa mimi sio mzungumzaji wa Kiingereza, ikiwa kuna kitu kibaya au hakieleweki tafadhali nijulishe. Kama ulipenda mradi huu, tafadhali pigia kura kwa mashindano na / au acha maoni ☺. Itanitia moyo kuendelea kusasisha na kuchapisha yaliyomo mpya. Asante.

Ilipendekeza: