Мазмұны:
- 1 -қадам: материалдар
- 2 -қадам: сенсорды таңдау
- 3 -қадам: LM35
- 4 -қадам: DS18B20
- 5 -қадам: ESP8266 коды
- 6 -қадам: ESP8266 коды: LM35 пайдаланушысы
- 7 -қадам: ESP8266 коды: DS18B20 пайдаланушысы
- 8 -қадам: ESP8266 Кішкене трюк
- 9 -қадам: бірінші рет жұмыс
- 10 -қадам: Қорытынды
Бейне: WiFi температурасын тіркеуші (ESP8266 бар): 11 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Сәлеметсіз бе, сізді осында көргеніме қуаныштымын. Бұл нұсқаулықта сіз пайдалы ақпаратты таба аласыз деп үміттенемін. Маған ұсыныстарды, сұрақтарды жіберуге қымсынбаңыз … Міне, кейбір негізгі мәліметтер мен жобаның қысқаша шолуы. Мобильді пайдаланушылар үшін: Бейне. Пікірлер бөлімінде жоба туралы пікіріңізді біліңіз, рахмет. Мен жақында NodeMcu (esp8266 негізделген) тақтасын сынап көру үшін сатып алдым, сондықтан бұл өте жетілдірілген жоба емес. Бірақ бұл жұмыс істейді және бұл маған қажет, сондықтан бұл деректерді тіркеушінің негізгі функциясы - температураны жинау және оны серверге сақтау. Бұл пайдаланушыларға тіркеуші бір жерде болмаса да (мысалы, метеостанция үшін) онлайн режимінде деректерді тексеруге мүмкіндік береді. Тағы бір пайдалы функция - бұл кодқа енгізілген OTA жаңартуы, ол пайдаланушыға бағдарламалық жасақтаманы оңай жаңартуға және баптауға мүмкіндік береді. Мен барлық сенсорларды және оларды сатып алу әдісін талдап, барлық артықшылықтары мен кемшіліктерін теңестіремін.
Спойлер: біраз тестілеуден кейін мен DS18B20 сияқты сандық сенсор ең жақсы шешім екенін білдім, себебі ол тұрақтылық пен жоғары дәлдікті ұсынады. Ол қазірдің өзінде су өткізбейтін және кабельмен.
1 -қадам: материалдар
Бұл аз ғана сыртқы компоненттері бар минималды жоба, себебі бұл үшін БМ тізімі өте қысқа болады. Дегенмен, қандай материал қажет екенін көрейік:
- NodeMcu V3 (немесе кез келген үйлесімді ESP8266 μпроцессоры);
- RGB светодиод (жалпы анод);
- Жарықдиодты резисторлар (1x10Ω, 1x22Ω, 1x100Ω, 1x10kΩ)
- DS18B20 (Maxim интеграцияланған термометр);
- LM35 (Texas Instrument термометрі);
- Сыртқы батарея (міндетті емес);
- Кабель;
- Қосқыш (оны «жетілдірілген» ету үшін);
- Қорап (міндетті емес, тағы да «жетілдірілген» болу үшін);
- Жарықдиодты ұстағыш (міндетті емес);
Ескерту: Мен айтқанымдай, сіз екі әдістің бірін таңдауыңыз керек. Егер сіз LM35 термометрін таңдасаңыз, сізге басқа компоненттер қажет:
- Attiny45/85;
- AVR бағдарламашысы (немесе провайдер ретінде Arduino);
- Резистор (1x1kΩ, 1x2kΩ, 1x10kΩ, 1x18kΩ)
- 2,54 мм жолақ коннекторы (міндетті емес)
- Диод (2x1N914)
- Perfboard немесе PCB;
2 -қадам: сенсорды таңдау
Сенсорды таңдау қиын қадам болуы мүмкін: бүгінде температура диапазоны, дәлдігі мен қаптамасы бар аналогты да, цифрлы да көптеген түрлендіргіштер бар (TI 144 түрлі элементті ұсынады).
- Деректерді тіркеушіні температурадан басқа мөлшерге оңай өзгертуге болады (кернеу, ток,…);
- Біршама арзан болуы мүмкін;
- Қолдану оңай, себебі арнайы кітапхана қажет емес;
Кемшіліктері:
- ADC (бұл өлшеу дәлдігіне әсер етуі мүмкін) және басқа сыртқы компоненттерді қажет етеді. Esp8266 -де тек бір ADC бар (және дәл емес), мен сыртқы біреуін қолдануды ұсынар едім.
- Шуды қабылдамайтын арнайы кабель қажет, себебі кез келген индукцияланған кернеу нәтижені өзгерте алады.
Біраз ойлана келе, мен LM35, 0,5 ° C дәлдікпен +10мВ/° С масштабты коэффициенті бар сызықтық сенсорды және 4В -тан 30В -қа дейінгі жұмыс кернеуі бар өте төмен токты (шамамен 60uA) қолдануға шешім қабылдадым. Толығырақ ақпарат кестесін көруді ұсынамын: LM35.
Сандық датчиктер (өте ұсынылады) Артықшылықтары:
Кез келген дерлік сыртқы компоненттер қажет;
Біріктірілген ADC
Кемшіліктері:
Кітапханаға немесе бағдарламалық жасақтамаға цифрлық сигналды декодтауды сұрау (I2C, SPI, Serial, One Wire,…);
Қымбатырақ;
Мен DS18B20 -ді таңдадым, себебі мен Amazon -дан 5 су өткізбейтін датчиктер жиынтығын таптым және ол интернетте кеңінен құжатталған. Негізгі ерекшелігі-9-12 биттік өлшеу, 1-сымды шина, 3,0-5,5 кернеу, 0,5 ° C дәлдік. Тағы да, егжей -тегжейлі мәліметтер кестесі мына жерде: DS18B20.
3 -қадам: LM35
LM35 термометріне сыртқы ADC және басқа мүмкіндіктерді қалай енгізгенімді талдайық. Мен үш сыммен кабель таптым, біреуі экраны бар, екеуі жоқ. Мен сенсордың жанындағы кернеуді тұрақтандыру үшін ажырататын конденсаторды қосуды шештім. Аналогты температураны цифрлыққа ауыстыру үшін мен dip8 пакетінде Attiny85 микропроцессорын қолдандым (толығырақ ақпарат алу үшін: attiny85). Біз үшін ең бастысы - 10 биттік ADC (шын мәнінде ең жақсы емес, бірақ мен үшін жеткілікті дәл). Esp8266 -мен байланысу үшін мен esp8266 5V -де 3.3V және attiny85 -те жұмыс істейтінін ескере отырып, сериялық байланысты қолдануды шештім (сенсорға қуат беру үшін қажет). Бұған жету үшін мен қарапайым кернеу бөлгішті қолдандым (схеманы қараңыз). Теріс температураны оқу үшін бізге кейбір сыртқы компоненттерді қосу керек (2x1N914 және 1x18k резисторы), себебі мен теріс қуат көзін пайдаланғым келмейді. Мына код: TinyADC репозиторийі. Ескерту: бұл кодты құрастыру үшін сізге орнату қажет. attiny to ide (мұны мына опцияға енгізіңіз: https://drazzy.com/package_drazzy.com_index.json), егер сіз мұны қалай жасауды білмесеңіз, Google -ден іздеңіз немесе.hex файлын тікелей жүктеңіз.
4 -қадам: DS18B20
Мен сенсорларды Amazon -дан сатып алдым (5 бағасы шамамен 10 евро). Ол баспайтын болаттан жасалған қақпақпен және ұзындығы 1м кабельмен келді. Бұл сенсор температураның 9 -дан 12 -ге дейінгі деректерін қайтара алады. Бір түйреуішке көптеген сенсорларды қосуға болады, себебі олардың барлығының бірегей идентификаторы бар. DS18B20 -ды esp8266 -ға қосу үшін схеманы орындауға болады (екінші сурет). Мен тіркеушіде үш зонд болады деп шешкендіктен, қайсысы екенін ажыратуға тура келді. Сондықтан мен олардың мекен -жайына бағдарламалық қамтамасыз ету арқылы байланысты түс беруді ойладым. Мен термокөлгіш құбырды қолдандым (үшінші сурет).
5 -қадам: ESP8266 коды
Мен бұл әлемге жаңа келгендіктен, мен көптеген кітапханаларды пайдалануды шештім. Кіріспеде айтылғандай, негізгі ерекшеліктер:
- OTA жаңартуы: кодты жүктеу қажет болған сайын компьютерге esp8266 қосудың қажеті жоқ (оны тек бірінші рет жасау керек);
- Сымсыз менеджер, егер сымсыз желі өзгерсе, эскизді қайта жүктеудің қажеті жоқ. Esp8266 кіру нүктесіне қосылатын желі параметрлерін қайта конфигурациялауға болады;
- Thingspeak мәліметтерінің тарылуы;
- LM35 және DS18B20 екеуі де қолдау көрсетеді;
- Қарапайым пайдаланушы интерфейсі (RGB LED кейбір пайдалы ақпаратты көрсетеді);
Өтінемін, кешірім сұраңыз, себебі менің бағдарламалық жасақтамам жақсы емес және ол жақсы реттелмеген. Құрылғыға жүктемес бұрын кодты баптауға сәйкес келтіру үшін кейбір параметрлерді өзгерту қажет. Мұнда сіз бағдарламалық қамтамасыз етуді жүктей аласыз. Жалпы LM35 және DS18B20 конфигурациясы OTA жаңарту үшін түйіннің анықтамасын, белгісін, арна нөмірін, пайдаланушы мен парольді өзгерту қажет. 15 -тен 23 -ке дейінгі жол.
#қызыл YOURPINHERE анықтаңыз #жасыл YOURPINHERE анықтаңыз
#define blue YOURPINHERE const char* host = «хост адресін таңдау»; // сізге қажет емес esp8266-webupdate const char* update_path = «/firmware» қалдыра аласыз; // жаңарту мекенжайын өзгерту үшін ex: 192.168.1.5/firmware const char* update_username = «YOURUSERHERE»; const char * update_password = «YOURPASSWORDHERE; unsigned long myChannelNumber = CHANNELNUMBERHERE; const char * myWriteAPIKey =» WRITEAPIHERE «;
6 -қадам: ESP8266 коды: LM35 пайдаланушысы
Сіз аттестаттау тақтасын esp8266 -ға қосуыңыз керек, ADC қондырғысын қуаттандыру үшін VU және G істікшесін қолданыңыз. Сіз сериялық байланыс үшін қандай түйреуішті қолданғыңыз келетінін таңдауыңыз керек (жөндеу үшін жабдықты сериялық бос ұстау үшін). Tx пині таңдалуы керек, бірақ іс жүзінде қолданылмайды. (27 -жол). SoftwareSerial mySerial (RXPIN, TXPIN); Жоғарғы жаққа мыналарды қосу керек: #define LM35USER
7 -қадам: ESP8266 коды: DS18B20 пайдаланушысы
Бірінші әрекет ретінде әр сенсор үшін құрылғының мекенжайын анықтау қажет. Бұл кодты esp -ге құрастырыңыз және бағдарламалаңыз және нәтижелерді сериялық түрде қараңыз. Кодты мына жерден табуға болады (осы атауды беттен іздеңіз: «Жеке DS18B20 ішкі мекенжайларын оқу»). Адресті алу үшін тек бір сенсорды қосыңыз, нәтиже келесідей болуы керек (мұнда кездейсоқ сан! Мысал ретінде): 0x11, 0x22, 0x33, 0xD9, 0xB1, 0x17, 0x45, 0x12 Содан кейін бөлімдегі менің кодты өзгерту керек « DS18B20 «конфигурациясы (31 -ден 36 -жолға дейін)»:
#анықта ONE_WIRE_BUS ONEWIREPINHERE #температураны_тексеру температурасын анықтаңыз // (9 -дан 12 -ге дейін) #анықталатын кешіктіруDallas READINTERVAL // (Милисекундтарда, минимум 15с немесе 15000мС) DeviceAddress blueSxx, 0x1, 0x1, 0x11, 0x12}; // АДРЕСІҢДЕН ӨЗГЕРУ DeviceAddress redSensor = {0x11, 0x22, 0x33, 0xD9, 0xB1, 0x17, 0x45, 0x12}; // АДРЕСІҢДЕН ӨЗГЕРУ DeviceAddress greenSensor = {0x11, 0x22, 0x33, 0xD9, 0xB1, 0x17, 0x45, 0x12}; // АДРЕСІҢДІ ӨЗГЕРТУ Үстіңгі жағына мыналарды қосу керек: #define DSUSER
8 -қадам: ESP8266 Кішкене трюк
Біраз тестілеуден кейін, егер сіз esp8266 бағдарламасын қоспай -ақ қоссаңыз, ол қалпына келтіру түймесін бір рет баспайынша кодты іске қоспайтынын білдім. Бұл мәселені шешу үшін біраз зерттеуден кейін мен 3.3В-тан D3-ке дейін тартылатын резисторды қосу керектігін білдім. Бұл процессорға кодты флэш -жадтан жүктеуді айтады, бұл әдіспен D3 DS18B20 сенсорлары үшін деректерді енгізу үшін тікелей қолданыла алады.
9 -қадам: бірінші рет жұмыс
Егер сіз кодты дұрыс жүктеген болсаңыз, бірақ Wifi менеджер кітапханасын ешқашан пайдаланбасаңыз, Wi -Fi қосылымын конфигурациялаудың уақыты келді. RGB светодиодының бұрынғыдан жылдамырақ жыпылықтағанын күтіңіз, содан кейін ұялы телефоннан немесе компьютерден «AutoConnectAp» деп аталатын Wi -Fi желісін іздеңіз және қосылыңыз. Қосылғаннан кейін веб -шолғышты ашып, 192.168.4.1 енгізіңіз, сіз wifi менеджерінің GUI интерфейсін табасыз (суреттерді қараңыз) және «Wi -Fi конфигурациясын» басыңыз. Esp8266 wifi желілерін іздегенше күтіңіз және керекті желіні таңдаңыз. Құпия сөзді енгізіп, «Сақтау» түймесін басыңыз. Esp8266 қайта іске қосылады (бұл жолы RGB жетегі маңызды емес, себебі ол кездейсоқ ақпаратты шығарады) және желіге қосылады.
10 -қадам: Қорытынды
Ақырында, мұздатқыштың температурасын тіркеу кезінде деректерді тіркеушіден алынған график. Қызғылт сары түсте - DS18B20, көк түсте - LM35 және оның схемасы. Сандықтан аналогтық сенсорға дейінгі дәлдіктің ең үлкен айырмашылығын көре аласыз (менің «ADC схемасы нашар»), кейбір физикалық емес мәліметтерді береді. Қорытындылай келе, егер сіз бұл тіркеушіні құрғыңыз келсе, мен DS18B20 цифрлық температура датчигін қолдануды ұсынамын. оқуға оңай және «қосуға және ойнауға» болады, ол тұрақты және дәл, ол 3,3В кернеуде жұмыс істейді және көптеген сенсорлар үшін тек бір түйреуішті қажет етеді. Назар аударғаныңыз үшін рахмет, бұл жоба сіз үшін жақсы деп үміттенемін пайдалы ақпараттар табылды. Ал кім түсінгісі келсе, мен барлық қажетті ақпаратты бергенімді қалаймын. Егер мен бәрін сұрауға дайын болмасам, мен барлық сұрақтарға жауап беруге қуаныштымын. Мен ағылшын тілін білмейтіндіктен, егер бірдеңе дұрыс болмаса немесе түсініксіз болса, маған хабарлаңыз. Егер сізге бұл жоба ұнаған болса, оны конкурстарға дауыс беріңіз және/немесе пікір қалдырыңыз. Бұл мені жаңа мазмұнды жаңартуға және жариялауға ынталандырады. Рақмет сізге.
Ұсынылған:
Сізге келесі GPS/жаяу жүру үшін DIY GPS деректерді тіркеуші: 11 қадам (суреттермен)
Сізге келесі GPS/жаяу жүргіншілерге арналған DIY GPS деректерді тіркеуші: Бұл GPS мәліметтерін тіркеу құралы, оны сіз әр түрлі мақсатта қолдана аласыз, мысалы, егер сіз демалыс күндері күзгі түстерді тексеру үшін ұзақ жолға шыққыңыз келсе. немесе сізде жыл сайын күзде баратын сүйікті жол бар және сіз
Raspberry Pi температурасын тіркеуші: 8 қадам
Raspberry Pi температура тіркегіші: Мұнда $ 5,00 I2C температура сенсоры көмегімен қарапайым температура тіркеушісін жасау бойынша нұсқаулар берілген. Деректер SD картасында сақталады және оларды Excel -ге оңай импорттауға болады. Басқа датчиктерді өзгерту немесе қосу арқылы деректердің басқа түрлері де
Биік биіктіктегі ауа райы шарының мәліметтерін тіркеуші: 9 қадам (суреттермен)
Биік биіктіктегі ауа райы шарының деректерді тіркеушісі: ауа райы шарының жоғары биіктіктегі тіркеуішінің көмегімен биіктіктегі ауа райы шарының деректерін жазыңыз. Жоғары биіктіктегі ауа немесе HAB деп аталатын биіктіктегі ауа райы шары - бұл гелиймен толтырылған үлкен шар. Бұл шарлар - бұл платформа
ESP8266 көмегімен дисплейі бар температура мен ылғалдылықты тіркеуші: 3 қадам
ESP8266 көмегімен дисплейі бар температура мен ылғалдылықты тіркеуші: Сізге ұнайтын шағын жобамен бөліскім келді. Бұл дисплейі бар, температурасы мен ылғалдылығы жоғары Интернетке қосылатын шағын, берік интернет. Бұл emoncms.org сайтына және қосымша ретінде жергілікті түрде Raspberry PI -ге немесе өзіңіздің emoncm -ге тіркеледі
Bluetooth арқылы Arduino -дан Android телефонына SD картасы бар температура мен ылғалдылықты тіркеуші: 5 қадам
Температура мен ылғалдылық туралы деректерді тіркеу құралы Bluetooth арқылы Arduino -дан Android телефонына SD картасы модулімен: Бәріне сәлем, бұл менің бірінші нұсқаулығым, мен өндірушілер қауымдастығына көмектестім деп үміттенемін. Біз көбінесе сенсорларды өз жобаларымызда қолданамыз, бірақ деректерді жинау, сақтау және оны телефондарға немесе басқа құрылғыларға жіберу жолын іздейміз