Агуулгын хүснэгт:

Өөр нэг IoT цаг уурын станц: 8 алхам
Өөр нэг IoT цаг уурын станц: 8 алхам

Видео: Өөр нэг IoT цаг уурын станц: 8 алхам

Видео: Өөр нэг IoT цаг уурын станц: 8 алхам
Видео: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, Долдугаар сарын
Anonim
Өөр нэг IoT цаг уурын станц
Өөр нэг IoT цаг уурын станц
Өөр нэг IoT цаг уурын станц
Өөр нэг IoT цаг уурын станц
Өөр нэг IoT цаг уурын станц
Өөр нэг IoT цаг уурын станц
Өөр нэг IoT цаг уурын станц
Өөр нэг IoT цаг уурын станц

Дараахь зүйл бол аавдаа төрсөн өдрийн бэлэг байсан; Миний олж харсан өөр зааварчилгаанаас санаа авч, түүнд өөрийгөө өөрөө бүтээх хэрэгсэл болгон батлахыг хүссэн юм. Гэсэн хэдий ч түүнтэй хамт энэ төсөл дээр ажиллаж эхлэхэд би бэлгийг өдөөсөн анхны хичээл нь хуучирсан бөгөөд бусад онлайн хичээлүүд тайлбартаа ихээхэн цоорхойтой байсныг маш хурдан ойлгосон. Тиймээс би өөр IoT цаг агаарын станцыг хэвлэхээр шийдсэн бөгөөд үүнийг эхнээс нь дуустал дагаж мөрдөхөд хялбар байх болно.

Цаашид энэхүү зааварчилгаа нь мэдрэгчийн уншилтыг хянах, бүртгэхийн тулд Blynk, Google Sheets эсвэл хоёуланг нь хэрхэн ашиглах талаар танд үзүүлэх болно. Үүнээс гадна, Google Хүснэгтийн оруулгыг хүснэгтэд шууд бичдэг (гуравдагч талын үйлчилгээгээр дамжих шаардлагагүй).

Стивенсон дэлгэцийн тухайд 3D хэлбэрээр хэвлэх боломжтой олон онлайн байдаг. https://www.thingiverse.com/thing:1718334. Энэхүү зааварчилгааны хувьд би үүн дээр үндэслэх болно.

Стивенсон дэлгэц бол багажны хоргодох газар бол гадны эх үүсвэрээс хур тунадас, шууд дулааны цацраг туяанаас хамгаалах цаг уурын багаж хэрэгслийн хоргодох газар юм. (Википедиа).

Эд анги

  • Wemos LolIn - NodeMCU v3 (USD 1.43)
  • BME280 (Температур, даралт ба чийгшил мэдрэгч) (USD 2.40)
  • 6V 1000mA нарны хавтан (USD 9.96)
  • 5V 1A Micro USB 18650 лити зай цэнэглэх самбар цэнэглэгч модуль+хамгаалалтын хос функц TP4056 (USD 0.99)
  • 4х 1.2V NiMH цэнэглэдэг батерей
  • Зай эзэмшигч (4х АА, зэрэгцэн, эцэс хүртэл)
  • Микро USB эрэгтэй холбогч залгуур
  • Кабелийн холболт
  • 3х далавчтай самар
  • Тулгуур эсвэл шүүр мод
  • Эпокси ба/эсвэл хэт цавуу (эргээд харахад цахиур илүү сайн ажилладаг байсан байх)

Програм хангамж

  • Blynk програм
  • Google Хүснэгт (хэрэв та түүхэн өгөгдөлд хандахыг хүсч байвал)
  • EasyEDA (схем зурах зориулалттай)
  • Arduino IDE

Багаж хэрэгсэл

  • Гагнуурын төмөр
  • Гагнуур
  • Дулаан багасгах хоолой
  • 3D хэвлэгч
  • Цавуу буу

Алхам 1: 3D хэвлэх - Стивенсон дэлгэц

3D хэвлэх - Стивенсоны дэлгэц
3D хэвлэх - Стивенсоны дэлгэц
3D хэвлэх - Стивенсоны дэлгэц
3D хэвлэх - Стивенсоны дэлгэц
3D хэвлэх - Стивенсоны дэлгэц
3D хэвлэх - Стивенсоны дэлгэц

Өмнө дурьдсанчлан, https://www.thingiverse.com/thing:1718334 файлыг татаж аваад шаардлагатай битүүдийг хэвлэ. Мөн угсрах зааврыг дээрх линкээс олж болно. Би зарим өөрчлөлт хийсэн (доорх тэмдэглэлийг үзнэ үү).

Хэвлэсэн хэсгүүд нь:

  • M3_tapping.stl -ийн дээд хавтас
  • Middle_Ring.stl (x5)
  • Middle_Ring_bottom.stl (x1, STL дээр хавсаргасан)
  • Solid_Plate.stl (x1)
  • Solid_Plate_Base.stl (x1)
  • Pole_Mount_1in_Round.stl
  • Sensor_Grid.stl
  • Electronics_Mount.stl
  • My_Solar_Cell_Mount.stl (x2, STL дээр хавсаргасан)

Угсрах дараалал нь:

  • Нүхийг нүхлэх
  • M3 баарыг урсгалтай залгуурт шургуул
  • Top_Cover
  • Solid_Plate
  • Дунд_ бөгж
  • Sensor_Grid дээр гулсуулна уу
  • Electronics_Mount
  • Solid_Plate_Bottom
  • Pole_Mount
  • My_Solar_Cell_Mounts нь Топ_Коверын дээд хэсэгт эпоксидоор хучигдсан байдаг

Нарны хавтангаас цэнэглэх кабелийг цэнэглэгч рүү холбохын тулд би Solid хавтан дээр нүх өрөмдөж, дараа нь кабелийг хянагчаас Sensor_Grid дээрх мэдрэгч рүү дамжуулахыг зөвшөөрсөн.

Дууссаны дараа мэдрэгчийг 60 минут тутамд дараах заалтыг авахаар програмчилсан болно.

  • Температур
  • Чийгшил
  • Даралт

Тэмдэглэл

  • Би нарны зайны бэхэлгээг нарны зайгаа барихад илүү тохиромжтой болгож тохируулсан.
  • Би электрон төхөөрөмжийг Pole_Mount ба Solid_Plate хооронд суулгасан. Энэ нь электроникийн сайн хамгаалалтыг хангаагүй бололтой. Тиймээс би Solid_Plate -ийг өөрчилсөн бөгөөд энэ нь юбкатай байсан бөгөөд дараа нь цоорхойг хааж, улмаар электроникийн илүү сайн хамгаалалтыг өгөх болно. Дээрх зургуудын заримыг нь би энэ өөрчлөлтийг хийхээс өмнө авсан.
  • Миний эпокси нарны хавтанг бариагүй тул доошоо бууж, дараа нь супер цавуугаар дахин бэхлэв. Цахиур ашиглах шаардлагатай болно гэж би бодож байна.

Алхам 2: Хэлхээ

Хэлхээ
Хэлхээ
Хэлхээ
Хэлхээ

Зураг дээр үзүүлсэн шиг LoLin ба BME280-ийг 3D хэвлэсэн торонд холбож схемд үзүүлсэн шиг хэлхээг холбоно уу.

BME280 -> LiLon

  • VCC -> 3.3V
  • GND -> GND
  • SCL -> D1
  • SDA -> D2

LiLon -> LiLon

D0 -> RST (энэ нь хянагчийг гүн нойрноос сэрээхэд шаардлагатай боловч кодыг хянагч руу байршуулсны дараа л холбох ёстой)

ТАЙЛБАР

Тохиромжтой LiLon батерей авахад надад бэрхшээл тулгарсан. Мөн ямар нэг шалтгааны улмаас VIN -ээр дамжуулан хүчирхэгжүүлж чадаагүй. Тиймээс би дараах байдлаар хүчээ авсан.

  • TP4056 -ийн гаралтыг Эр USB холбогчтой холбож, дараа нь тэжээлийн хувьд самбарын USB залгуурт залгасан болно.
  • TP4056 дээрх B- ба B+ нь NiMH батерейг багтаасан AA батерейны залгуурт холбогдсон байв.

Алхам 3: IoT - Blynk

IoT - Блинк
IoT - Блинк
IoT - Блинк
IoT - Блинк
IoT - Блинк
IoT - Блинк
IoT - Блинк
IoT - Блинк

"Blynk бол тохируулж болох мобайл апп, хувийн үүл, дүрмийн хөдөлгүүр, төхөөрөмжийн удирдлагын аналитик хяналтын самбар бүхий тоног төхөөрөмж, агностик IoT платформ юм." Үндсэндээ энэ нь дэлхийн өнцөг булан бүрээс алсын мэдрэгчийг интернетээр найдвартай удирдах, хянах боломжийг танд олгоно. Арилжааны үйлчилгээ байх үед данс бүрт 2000 үнэгүй кредит ирдэг. Зээл нь танд янз бүрийн хэмжигч, дэлгэц, мэдэгдэл гэх мэтийг мэдрэгч эсвэл мэдрэгчтэйгээ холбох боломжийг олгодог. Захиалгын үнэ нь сонирхогчийн төсвөөс хэтрээгүй боловч үнэгүй зээл нь иймэрхүү энгийн төсөлд хангалттай байдаг.

Үйлчилгээг ашиглаж эхлэхийн тулд та эхлээд Blynk програмыг утас/төхөөрөмж дээрээ татаж авах, үүсгэх, бүртгүүлэх (эсвэл одоо байгаа акаунтаар нэвтрэх), дараа нь дараах байдлаар шинэ төсөл үүсгэх шаардлагатай болно.

  • Тоног төхөөрөмжөө сонгоно уу
  • Төслөө нэрлэнэ үү (энэ тохиолдолд би "Цаг агаарын станц" -ыг ашигласан.
  • "Үүсгэх" дээр дарна уу
  • Дараа нь танд таниулах кодыг имэйлээр илгээх болно.

Та шаардлагатай виджетүүдийг нэмэх шаардлагагүй болно. 2000 үнэгүй кредитээрээ би дараахь зүйлийг нэмж орууллаа.

  • 3 хэмжигч
  • 1 Супер график

Хэмжигч ба диаграмыг хавсаргасан зургуудын дагуу тохируулсан бөгөөд тус бүрдээ өөрийн виртуал зүүг зааж өгсөн бөгөөд үүнийг кодонд сүүлд ашиглах болно.

Тохиргоог хийсний дараа баруун дээд буланд байгаа тоглуулах товчийг дарж огноог цуглуулж эхэлнэ.

Дэлгэрэнгүй мэдээллийг үзнэ үү

docs.blynk.cc/#getting-started.

Алхам 4: Код - Arduino IDE бэлтгэх

Энэхүү төслийг дуусгахын тулд дараах номын санг Arduino IDE -д нэмэх шаардлагатай болно.

  • https://github.com/adafruit/Adafruit_BME280_Library (температур, даралт, чийгшил мэдрэгчийн хэрэгцээ)
  • https://github.com/adafruit/Adafruit_Sensor
  • https://github.com/esp8266/Arduino (энэ нь ESP8266 самбарт нэвтрэх боломжийг танд олгоно)
  • https://github.com/blynkkk/blynk-library/releases/tag/v0.6.1 (Blynk номын сан)
  • https://github.com/electronicsguy/ESP8266/tree/master/HTTPSRedirect (Google Хүснэгтэд холбогдоход HTTPSRedect шаардлагатай)

Arduino IDE -д номын сан суулгах заавар авахыг хүсвэл https://www.arduino.cc/en/guide/libraries хаягаар зочилно уу.

Миний тоног төхөөрөмжийн тохиргоо дараах байдалтай байна.

  • Удирдах зөвлөл: NodeMCU 1.0 (ESP-12E модуль)
  • Байршуулах хурд: 115200

Дараах алхмуудад хавсаргасан кодыг ашиглахдаа дараах зүйлийг нэмж оруулах тухай кодын тайлбарыг үргэлж анхаарч үзээрэй.

  • Wifi SID
  • Wifi нууц үг
  • Blynk зөвшөөрлийн түлхүүр
  • Google скриптийн ID
  • Google Хүснэгт хуваалцах түлхүүр

Алхам 5: Код - Блинк

Би дараах мөрийг агуулсан жишээг олох хүртлээ BME280 мэдрэгчээ ажиллуулахын тулд олон жилийн турш тэмцсэн.

байдал = bme.begin (0x76); // Миний ашигладаг мэдрэгчийн I2C хаяг 0x76 байна

Би мэдрэгчийн хаягийг тохируулах шаардлагатай болсон юм шиг байна. Би үүнийг хийсний дараа бүх зүйл сайн болсон.

Blynk нь үнэхээр сайхан гар утасны хэрэглэгчийн интерфэйстэй боловч дараахь хязгаарлалттай байдаг.

  • Зөвхөн 2000 үнэгүй кредит, үүнээс илүү ихийг шаарддаг төслүүд нь сар бүр үнэтэй захиалга шаарддаг (хэрэв та өөрийн Blynk серверийг байршуулж, засварлахгүй бол).
  • Хэрэв та өөрийн Blynk серверийг байршуулахгүй бол түүхэн өгөгдлийг экспортлох боломжгүй болно.

Дээрх шалтгааны улмаас би мэдээлэл цуглуулах үйл явцыг Google Хүснэгтэд хэрхэн нэгтгэх талаар судалж үзсэн. Үүнийг дараагийн хэсэгт авч үзэх болно.

Алхам 6: Код - Google Хүснэгт

Код - Google Хүснэгт
Код - Google Хүснэгт
Код - Google Хүснэгт
Код - Google Хүснэгт
Код - Google Хүснэгт
Код - Google Хүснэгт

Хожим нь түүхэн өгөгдлийг шинжлэхийн тулд уншилтаа бүртгэхийн тулд та үүнийг ямар нэгэн мэдээллийн санд бичих хэрэгтэй. HTTPSRedirect номын сан нь өгөгдлөө Google хуудсан дээр бичих замаар үүнийг хийх боломжийг бидэнд олгодог.

Энэ аргын гол хязгаарлалтууд нь дараах байдалтай байна.

  • Сайхан гар утасны хэрэглэгчийн интерфэйс байхгүй байна
  • Google Sheet нь хамгийн ихдээ 400 000 нүдтэй байж болно. Энэ төслийн хувьд энэ нь тийм ч том асуудал биш, учир нь энэ хязгаарт хүрэхэд ердөө 11 гаруй жил шаардагдах болно.

Google Хүснэгтийг дараах байдлаар тохируулсан болно.

Хоёр хуудас бүхий Google Хүснэгт үүсгэх.

Хуудас 1: Өгөгдөл

Мэдээллийн хуудсанд Огноо/Цаг, Температур, Чийгшил, Даралт гэсэн 4 багана хэрэгтэй (А -аас D багана). Багануудыг зохих ёсоор форматлах, жишээ нь. А багана нь "Огноо цаг" байх бөгөөд ингэснээр огноо, цагийг нүдэнд харуулна.

Хуудас 2: Хяналтын самбар

Хавсаргасан зургуудын дагуу хяналтын самбарын хуудсыг үүсгэн доор жагсаасан томъёог оруулна уу.

  • B2: = counta (Өгөгдөл! B: B) -1
  • B3: = B1+ЦАГИЙН ХУГАЦАА (CONCATENATE ("00:", Текст (G7, "0")))
  • B6: = query (Өгөгдөл! A2: D, "B дарааллыг A des limit 1 -ээр сонгоно уу")
  • C6: = query (Өгөгдөл! A2: D, "C дарааллыг A des limit 1 -ээр сонгоно уу")
  • D6: = query (Өгөгдөл! A2: D, "D дарааллыг A des limit 1 -ээр сонгоно уу")
  • B8: = query (Өгөгдөл! A2: D, "B тушаалыг 1 дарааллаар сонгоно уу")
  • C8: = query (Өгөгдөл! A2: D, "C захиалгын хязгаарыг 1 дарааллаар сонгох")
  • D8: = query (Өгөгдөл! A2: D, "D тушаалыг 1 дарааллаар сонгох")
  • B9: = query (Өгөгдөл! A2: D, "B дарааллыг B бууралтын хязгаар 1 -ээр сонгоно уу")
  • C9: = query (Өгөгдөл! A2: D, "C дарааллыг C буурах хязгаар 1 -ээр сонгоно уу")
  • D9: = query (Өгөгдөл! A2: D, "D дарааллыг D буурах хязгаар 1 -ээр сонгох")
  • B11: = query (Өгөгдөл! A2: D, "B -ийг B -ийн хязгаарын хязгаар 1 -ээр хязгаарлахгүй бол А -г сонгоно уу")
  • C11: = query (Өгөгдөл! A2: D, "C -ийг C asc limit 1 -ээр null захиалга биш A -г сонгоно уу)"
  • D11: = query (Өгөгдөл! A2: D, "D нь D дарааллын хязгаар 1 -ээр null захиалга биш бол А -г сонгоно уу)"
  • B12: = query (Өгөгдөл! A2: D, "B нь B -ийн босоо хязгаар 1 -ээр null захиалга биш бол B -г сонгоно уу")
  • C12: = query (Өгөгдөл! A2: D, "C -ийг C asc limit 1 -ээр null захиалга биш байхад сонгоно уу)"
  • D12: = query (Өгөгдөл! A2: D, "D -ийг D тушаалын хязгаар 1 -ээр null захиалга биш бол сонгоно уу)"
  • G3: = 4+B2*4+29+17
  • G4: = (G2-G3)/G2
  • G6: = G2/4 G8: = G7*G6
  • G9: = (G8/60)/24
  • G10: = G9/365
  • G11: = ((((((G2-G3)/4)*G7)/60)/24/365)

Google Хүснэгт хамгийн ихдээ 400,000 нүдтэй байж болно. Үүнийг унших бүрт 4 нүд ашигладаг бөгөөд хичнээн зай үлдсэн, хэзээ дуусахыг тооцоолоход ашигладаг.

Эдгээр томъёог сайжруулах боломжтой байж магадгүй юм. Би энд хоёр зүйлийг хийж байсан, өөрөөр хэлбэл асуулгын томъёог сурч, дараа нь логикийг нь санахад туслах үүднээс зарим томъёог бичжээ.

"График засварлагч" дэлгэцийн агшинд Температурын графикийн үндсэн тохиргоог харуулав. Ижил тохиргоог ашиглан үүсгэсэн бусад графикууд. Графикуудын хоорондох цорын ганц ялгаа нь босоо тэнхлэгийн хамгийн бага утга байв (өөрчлөн тохируулах таб дээрээс олдсон). Өөрчлөх таб нь хандалтын нэр, график гарчиг гэх мэт бусад тохиргоог агуулдаг.

Одоо бидэнд URL дуудаж өгөгдлөө бичих боломжийг олгодог Google скрипт хэрэгтэй байна.

Скриптийг бий болгож байна

Google Хүснэгтийн URL дээр "d /" ба " / edit" хоорондох түлхүүрийг тэмдэглэ. Энэ бол таны-Google-Хүснэгт-Хуваалцах түлхүүр бөгөөд доорх кодод шаардлагатай болно.

Дараа нь Tools> Script Editor руу ороод Google App Script -ийг үүсгээд кодыг хавсаргасан GS файлд оруулна уу. Var ss = SpreadsheetApp.openByUrl ("https://docs.google.com/spreadsheets/d/-Your-Google-Sheet-Sharing-Key–/edit") -ийг шинэчлэх; хуваалцах түлхүүрээ тусгах.

Одоо скриптийг нийтлэх> Вэб апп болгон байршуулах хэсэгт очно уу.

Одоогийн вэб апп URL-г хуулж GScriptID (-Your-Google-Script-ID–) гаргаж авахад хэрэгтэй газар хадгална уу. GScriptID нь "s /" ба " / exec?" Хоорондох мөр юм. "Нэрээ нууцалсан хүн ч гэсэн" аппликешнд нэвтрэх боломжтой эсэхийг шалгаарай. Энэ процессын явцад танаас зарим зөвшөөрөл авах шаардлагатай болно. Та эдгээрийг өгөх нь чухал юм.

Тэмдэглэл: Та кодоо өөрчлөх болгондоо "Шинэ" төслийн хувилбарыг гаргаж, нийтлэх ёстой, эс тэгвээс та хуучин кодоо дарсан хэвээр байх болно.

Та одоо скриптийг https://script.google.com/macros/s/-Your-Google-Script-ID–/exec?Temperature=10&Humidity=11&Pressure=12 руу орж үзэх боломжтой. Та энэ линкийг шинэчлэх бүртээ Google Хүснэгтэнд шинэ оруулга оруулах ёстой.

Үүнийг дараах заавраас авсан болно: https://embedded-lab.com/blog/post-data-google-sheets-using-esp8266/. Энэ заавар нь хуучирсан тул дараагийн хэсэгт холбогдох Arduino кодыг хамгийн сүүлийн үеийн HTTPSRedirect номын сангуудад тохируулан өөрчилсөн болно.

Arduino код

Хавсаргасан кодыг үзнэ үү.

Алхам 7: Код - Blynk ба Google Sheets

Хоёр ертөнцийг хамгийн сайн ашиглахын тулд Blynk болон Google Sheets хоёулангийнх нь кодыг нэгтгэж болно.

Хавсаргасан кодыг үзнэ үү.

Алхам 8: Эцсийн сэтгэгдэл

Эцсийн сэтгэгдэл
Эцсийн сэтгэгдэл
Эцсийн сэтгэгдэл
Эцсийн сэтгэгдэл

Дээрх зүйлсийн аль нь ч миний санаа биш, харин бусдын санаа, ажил дээр суурилсан төсөл юм. Би үүнийг бүхэлд нь нэг газарт татах дуртай байсан. хөгжилтэй, практик төслийг хэрэгжүүлэхийн тулд янз бүрийн технологи, багаж хэрэгслийг ашиглах. Ялангуяа уншсан зүйлээ Google Хүснэгтэд хэрхэн хадгалахыг сурах надад маш их таалагдсан. Үүний тулд би ElectronicsGuy (Sujay Phadke) -д талархал илэрхийлье.

Шинэчлэх

Энэ төслийг дуусгасны дараа би утасгүй сүлжээнийхээ тохиргоог өөрчлөх шаардлагатай болсон. Би одоо өөр компьютер дээр ажиллаж байсан. Өөрчлөлтүүдийг байршуулсны дараа төсөл ажиллахаа больсон. Алдааг олж засварласны дараа гүн нойрны функц амжилтгүй болсон гэж дүгнэсэн. Би төслийг гэртээ буцааж аваад тэнд байршуулсан (ижил кодыг ашиглан), энэ нь ажилласан. Тиймээс би нэмж оруулсан номын санд ямар нэгэн зүйл өөрчлөгдсөн байх ёстой гэж би дүгнэсэн. Тиймээс би одоогоор гэрийн компьютер дээрээ байгаа номын санг энэ хэсэгт хавсаргав. өөр хэн нэгэн энэ асуудалтай тулгарсан тохиолдолд.

Зөвлөмж болгож буй: