Мазмұны:

BME280 сенсоры бар ESP32 WiFi метеостанциясы: 7 қадам (суреттермен)
BME280 сенсоры бар ESP32 WiFi метеостанциясы: 7 қадам (суреттермен)

Бейне: BME280 сенсоры бар ESP32 WiFi метеостанциясы: 7 қадам (суреттермен)

Бейне: BME280 сенсоры бар ESP32 WiFi метеостанциясы: 7 қадам (суреттермен)
Бейне: Очередная метеостанция берущая информацию на Openweathermap на ili9341 и esp8266 от ThingPulse.com 2024, Шілде
Anonim
Image
Image
BME280 сенсоры бар ESP32 WiFi метеостанциясы
BME280 сенсоры бар ESP32 WiFi метеостанциясы
BME280 сенсоры бар ESP32 WiFi метеостанциясы
BME280 сенсоры бар ESP32 WiFi метеостанциясы

Құрметті достар, басқа оқулыққа қош келдіңіздер! Бұл оқулықта біз Wi -Fi қосылған метеостанция жобасын құрамыз! Біз жаңа, әсерлі ESP32 чипін Nextion дисплейімен бірге бірінші рет қолданамыз.

Бұл бейнеде біз мұны жасаймыз. Бұл мен білетін тағы бір метеостанция жобасы, бірақ бұл жолы біз жаңа ESP32 чипін қолданамыз! Біз температураны, ылғалдылықты және барометрлік қысымды өлшейтін жаңа BME280 сенсорын қолданамыз. Біз жобаны іске қосқан кезде, ол WiFi желісіне қосылады және ол openweathermap веб -сайтынан менің орналасқан жерім бойынша ауа райы болжамын алады. Содан кейін ол 3,2 дюймдік Nextion сенсорлық дисплейдегі болжамды көрсетеді! Көрсеткіштер әр екі секунд сайын жаңартылып отырады, ауа райы болжамы сағат сайын! Көріп отырғаныңыздай, бұл жобада біз қазіргі кезде өндірушіге қол жетімді соңғы технологияларды қолданамыз! Егер сіз DIY ардагері болсаңыз, сіз бұл жобаны бес минут ішінде жасай аласыз.

Егер сіз жаңадан бастаушы болсаңыз, бұл жобаны бастамас бұрын бірнеше бейнені қарауыңыз керек. Сіз бұл нұсқаулықтан осы бейнеге сілтемелер таба аласыз, уайымдамаңыз.

Бастайық!

1 -қадам: барлық бөлшектерді алыңыз

Барлық бөлшектерді алыңыз
Барлық бөлшектерді алыңыз

Бұл жобаны құру үшін бізге келесі бөліктер қажет:

  • ESP32 тақтасы ▶
  • BME280 I2C сенсоры ▶
  • A 3,2 дюймдік дисплей ▶
  • Кішкене тақта ▶
  • Кейбір сымдар ▶

Жобаның құны шамамен 30 доллар.

ESP32 орнына біз арзан ESP8266 чипін қолданар едік, бірақ мен онымен біраз тәжірибе жинау үшін және не жұмыс істейтінін, не істемейтінін көру үшін ESP32 қолдануды шештім.

2 -қадам: ESP32

Image
Image
ESP32
ESP32

Бұл мен жаңа ESP32 чипімен жасаған алғашқы жоба.

Егер сіз онымен таныс болмасаңыз, ESP32 чипі - біз бұрын бірнеше рет қолданған әйгілі ESP8266 чипінің мұрагері. ESP32 - бұл жануар! Ол 160 МГц жиілікте жұмыс істейтін екі 32 ядроларды, жадының үлкен көлемін, WiFi, Bluetooth және бағасы 7 доллар тұратын басқа да көптеген мүмкіндіктерді ұсынады! Керемет заттар!

Осы тақтаға мен дайындаған егжей -тегжейлі шолуды қараңыз. Мен осы нұсқаулыққа бейнені қостым. Бұл чиптің біздің заттар жасау тәсілімізді неге өзгертетінін түсінуге көмектеседі!

3 -қадам: Nextion дисплейі

Image
Image
BME280 сенсоры
BME280 сенсоры

Сонымен қатар, бұл Nextion сенсорлық дисплейі бар мен жасаған алғашқы жоба.

Nextion дисплейлері - бұл дисплейлердің жаңа түрі. Олардың артқы жағында дисплейді басқаруға және пайдаланушының графикалық интерфейсін құруға жауап беретін өздерінің ARM процессоры бар. Сонымен, біз оларды кез келген микроконтроллермен қолдана аламыз және керемет нәтижелерге қол жеткізе аламыз.

Мен осы Nextion дисплейі туралы егжей -тегжейлі нұсқаулық дайындадым, ол олардың қалай жұмыс істейтінін, оларды қалай қолдану керектігін және олардың кемшіліктерін түсіндіреді. Сіз оны мына жерден басу арқылы оқи аласыз:

4 -қадам: BME280 сенсоры

BME280 сенсоры
BME280 сенсоры

BME280 Bosch жаңа керемет сенсорында.

Осы уақытқа дейін мен температураны және барометрлік қысымды өлшейтін BMP180 сенсорын қолдандым. BME280 сенсоры температураны, ылғалдылықты және барометрлік қысымды өлшей алады! Бұл қандай керемет! Толық метеорологиялық станция құру үшін бізге тек бір сенсор қажет!

Сонымен қатар, сенсордың көлемі өте кішкентай және оны пайдалану өте оңай. Біз бүгін қолданатын модуль I2C интерфейсін қолданады, сондықтан Arduino -мен байланысты жеңілдетеді. Біз жұмыс істеуі үшін тек қуат пен тағы екі сымды қосамыз.

Бұл сенсорға арналған көптеген кітапханалар бар, сондықтан біз оны өз жобаларымызда өте оңай қолдана аламыз! Сенсордың бағасы шамамен 5 доллар. Сіз оны мына жерден ала аласыз ▶

ЕСКЕРТПЕ: Бізге BME280 сенсоры қажет. Сонымен қатар ылғалдылықты өлшеуге мүмкіндік бермейтін BMP280 сенсоры бар. Қажетті сенсорға тапсырыс беру үшін абай болыңыз.

5 -қадам: бөлшектерді қосу

Бөлшектерді қосу
Бөлшектерді қосу
Бөлшектерді қосу
Бөлшектерді қосу
Бөлшектерді қосу
Бөлшектерді қосу

Бөлшектердің байланысы схемадан көрініп тұрғандай қарапайым.

BME280 сенсоры I2C интерфейсін қолданатындықтан, бізге тек ESP32 -мен байланысу үшін екі сымды қосу керек. Мен сенсорды 26 және 27 -ші түйреуіштерге қостым. Теория бойынша, ESP32 тақтасының әрбір цифрлық түйреуішін I2C перифериялық құрылғыларымен қолдануға болады. Іс жүзінде мен кейбір түйреуіштердің жұмыс істемейтінін білдім, себебі олар басқа мақсаттарға арналған. 26 және 27 түйреуіштер өте жақсы жұмыс істейді!

Деректерді дисплейге жіберу үшін бізге тек ESP32 TX0 істігіне бір сымды қосу керек. Дисплейдің аналық сымын жалғау үшін түйреуішті осылайша бүктеуге тура келді, себебі ESP32 тақтасы бұл тақта үшін тым үлкен.

Бөлшектерді қосқаннан кейін біз кодты ESP32 -ге жүктеуіміз керек, ал GUI -ді Nextion дисплейіне жүктеуіміз керек. Егер бағдарламаны ESP32 тақтасына жүктеуде қиындықтар туындаса, Arduino IDE жүктеу түймесін басқаннан кейін BOOT түймесін басып тұрыңыз.

GUI -ді Nextion дисплейіне жүктеу үшін мен сізбен бөлісетін WeatherStation.tft файлын бос SD картасына көшіріңіз. SD картасын дисплейдің артындағы SD картасының ұясына салыңыз. Содан кейін дисплейді қосыңыз, содан кейін GUI жүктеледі. Содан кейін SD картасын шығарып, қуатты қайта қосыңыз.

Код сәтті жүктелгеннен кейін жоба WiFi желісіне қосылады, ол openweathermap.org веб -сайтынан ауа райы болжамын алады және сенсордағы көрсеткіштерді көрсетеді. Енді жобаның бағдарламалық жағын қарастырайық.

6 -қадам: Жобаның коды

Жобаның кодексі
Жобаның кодексі
Жобаның кодексі
Жобаның кодексі
Жобаның кодексі
Жобаның кодексі

Ауа райы деректерін талдау үшін бізге Arduino JSON тамаша кітапханасы қажет. Бізге сенсорға арналған кітапхана қажет.

? ESP32 BME280: https://github.com/Takatsuki0204/BME280-I2C-ESP32? Arduino JSON:

Енді кодты көрейік.

Алдымен біз SSID мен WiFi желісінің құпия сөзін орнатуымыз керек. Әрі қарай, біз operweathermap.org веб -сайтынан ақысыз APIKEY -ге кіруіміз керек. Жеке API кілтін жасау үшін сіз веб -сайтқа тіркелуіңіз керек. Ағымдағы ауа райы деректері мен болжамдарын алу ақысыз, бірақ егер сіз ақша төлеуге дайын болсаңыз, веб -сайт қосымша мүмкіндіктерді ұсынады. Әрі қарай, біз орналасқан жердің идентификаторын табуымыз керек. Орныңызды табыңыз және орналасқан жеріңіздің URL мекенжайынан табуға болатын идентификаторды көшіріңіз.

Содан кейін CityID айнымалысына қаланың идентификаторын енгізіңіз. Сонымен қатар, осы айнымалыға қалаңыздың биіктігін енгізіңіз. Бұл көрсеткіш сенсордан барометрлік қысымның дәл көрсеткіштері үшін қажет.

const char* ssid = «yourSSID»; const char* password = «yourPassword»; String CityID = «253394»; // Спарта, Греция String APIKEY = «yourAPIkey»; #анықтаңыз ALTITUDE 216.0 // Спартадағы биіктік, Греция

Енді біз әрі қарай жүруге дайынбыз.

Алдымен сенсорды инициализациялаймыз және WiFi желісіне қосыламыз. Содан кейін біз серверден ауа райы деректерін сұраймыз.

Біз JSON форматында ауа райы туралы мәліметпен жауап аламыз. Деректерді JSON кітапханасына жібермес бұрын, мен қиындық тудыратын кейіпкерлерді қолмен жоямын. Содан кейін JSON кітапханасы өз орнын алады және біз айнымалыларда қажет деректерді оңай сақтай аламыз. Біз деректерді айнымалыларда сақтағаннан кейін, оларды экранда көрсету және серверден жаңа деректерді сұрау алдында бір сағат күту ғана қалады. Мен ұсынатын жалғыз ақпарат - ауа райы болжамы, бірақ егер сіз қаласаңыз, қосымша ақпаратты көрсете аласыз. Мұнда бәрі айнымалыларда сақталды. Содан кейін біз сенсордан температураны, ылғалдылық пен барометрлік қысымды оқимыз және мәліметтерді Nextion дисплейіне жібереміз.

Дисплейді жаңарту үшін біз бірнеше командаларды сериялық портқа жібереміз:

жарамсыз showConnectingIcon () {Serial.println (); Жол командасы = «weatherIcon.pic = 3»; Serial.print (команда); endNextionCommand (); }

Nextion GUI фоннан, кейбір мәтіндік жәшіктерден және ауа райы болжамына байланысты өзгеретін суреттен тұрады. Қосымша ақпарат алу үшін Nextion дисплей оқулығын қараңыз. Егер сіз қаласаңыз, өзіңіздің GUI -ді тез жасай аласыз және онда көп нәрсені көрсете аласыз.

Әдеттегідей сіз осы нұсқаулыққа қоса берілген жобаның кодын таба аласыз

7 -қадам: Қорытынды ойлар мен жақсартулар

Қорытынды ойлар мен жақсартулар
Қорытынды ойлар мен жақсартулар

Көріп отырғаныңыздай, бүгінгі күні тәжірибелі өндіруші бірнеше сағат ішінде бірнеше код жолымен және үш бөліктен тұратын қызықты жобаларды жасай алады! Мұндай жобаны екі жыл бұрын жасау мүмкін емес еді!

Әрине, бұл жобаның бастамасы ғана. Мен оған көптеген мүмкіндіктерді қосқым келеді, мысалы, графиктер, сенсорлық функциялар жоқ, мүмкін үлкенірек дисплей және әрине 3D түріндегі әдемі көрінетін корпус. Мен сондай -ақ жақсы көрінетін GUI мен белгішелерді жасаймын. Менде өте жаңа идеялар бар!

Бүгінгі жоба туралы сіздің пікіріңізді білгім келеді. Мен жобаға қандай мүмкіндіктерді қосқым келеді? Сізге оның қалай көрінетіні ұнай ма? Оның қалай дамып келе жатқанын қалайсыз? Өз ойларыңызды төмендегі түсініктеме бөліміне жазыңыз; Мен сіздің ойларыңызды оқығанды жақсы көремін!

Сымсыз сайыс
Сымсыз сайыс
Сымсыз сайыс
Сымсыз сайыс

Сымсыз байланыс сайысында екінші орын

Ұсынылған: