Mundarija:

Tweeting ob -havo stantsiyasi: 8 qadam (rasmlar bilan)
Tweeting ob -havo stantsiyasi: 8 qadam (rasmlar bilan)

Video: Tweeting ob -havo stantsiyasi: 8 qadam (rasmlar bilan)

Video: Tweeting ob -havo stantsiyasi: 8 qadam (rasmlar bilan)
Video: Hamma foydalanishi kerak bo'lgan 8 ta vosita 2024, Iyul
Anonim
Tweeting ob -havo stantsiyasi
Tweeting ob -havo stantsiyasi

Siz hech qachon shahringizning hozirgi ob -havo sharoitini, uglerod izi, shovqin va ifloslanish darajasini kuzatishni xohlaganmisiz? Siz iqlim o'zgarishi uchun salibchi bo'lishni xohlaysizmi yoki o'zingizning tvitli ob-havo stantsiyangizni o'rnatishni va mahalliy ob-havo sharoitlarini dunyo bilan bo'lishishni xohlaysizmi?

Tweeting Weather IoT Station aka TWIST - DIY, ochiq manbali atrof -muhit monitoringi va meteorologik ma'lumotlarni yig'ish platformasi bilan tanishing. TWISTning maqsadi shundan iboratki, odamlar va jamoalar o'z muhitida nima bo'layotgani haqida ma'lumot to'plashi va Twitter kabi ijtimoiy tarmoqlarda bu ma'lumotlarni almashishi mumkin.

  • TWIST - bu narsalar Interneti (IoT) bilan ishlaydigan platforma.
  • TWIST miyasi - Intel Edison kengashi.
  • TWIST turli xil sensorlar bilan mos keladi.
  • Barcha kodlar, dizayn fayllari (sxemalar va PCB tartibi) ochiq manba. Bu shuni anglatadiki, har kim har xil sensorlar uchun kod va sxemalarni almashish orqali TWIST platformasiga o'z hissasini qo'shishi mumkin.

TWIST uchta texnologik qatlamdan iborat:

Birinchi qatlam - bu "Sensor Board" deb nomlanuvchi barcha ob -havo va atrof -muhit sensorlarini o'z ichiga olgan apparat taxtasi. Nomidan ko'rinib turibdiki, u tarkibini, haroratini, namligini, yomg'irini o'lchaydigan sensorlarni olib yuradi. Seysmologik faollik, UV indeksi, barometrik bosim, balandlik, lyuks (yorqinlik), tovush darajasi, shamol tezligi va yo'nalishi va boshqalarni qo'shish mumkin. O'rnatilgandan so'ng, Sensor Board sensorlar o'lchagan ma'lumotlarni ikkinchi qatlamga o'tkaza oladi. Ikkinchi qavat - Intel Edison platasi, Sensor platasidan ma'lumotlarni oladi, uni qayta ishlaydi va keyingi qatlamga yuboradi. Uchinchi qavat Edison platasini simsiz modul yordamida Wi-Fi orqali Internetga ulaydi va hozirgi ob-havo va atrof-muhit sharoitlariga tegishli.

Qurilmaga quvvat quyosh batareyasi yoki AC adapteri orqali berilishi mumkin.

Versiya boshqariladigan omborlar

TWIST-ning barcha uchta texnologik qatlamlari ochiq manba hisoblanadi, shuning uchun biz kod, PCB ishlab chiqish, mexanik dizayn va boshqalar uchun ishlatadigan barcha fayllar bizning Github omborida mavjud.

Tanlov yozuvlari

Intel IoT Invitational

Menga Intel Edison platasini taqdim etgan Intel+Instructables kompaniyasiga minnatdorchilik bildirmoqchiman. Men Edison taxtasi yordamida IoT bilan bog'liq boshqa ko'plab ko'rsatmalarni yaratishni rejalashtirmoqdaman.

#yulduzlar

Agar siz TWIST qilsangiz, #iotweatherstn yordamida ob -havo haqida yozishni unutmang. #iotweatherstn - bu IoT bilan ishlaydigan barcha tvitli ob -havo stantsiyalari tomonidan ishlatiladigan hashtag bo'lishi mumkin.

1 -qadam: ehtiyot qismlar va materiallar

Materiallar va ehtiyot qismlar
Materiallar va ehtiyot qismlar
Materiallar va ehtiyot qismlar
Materiallar va ehtiyot qismlar
Materiallar va ehtiyot qismlar
Materiallar va ehtiyot qismlar

QuantityPartDetails 1

Intel Edison

Arduino Breakout Board bilan

1

MQ2 yonadigan gaz sensori

1

YL-83

Yomg'ir sensori

1

SL-HS-220

Harorat va namlik sensori

1

Qarshilik

32K

4,7 ming

3 metall to'xtash 1 dyuym

1

Qarshilik

32K

4,7 ming

2

A4 o'lchamdagi yog'och varaq

Keyinchalik uni kesish mumkin

3

Metall to'xtash

1 dyuym

2 -qadam: Elektr dizayni

Quvvat

Butun tizim 5V 1A quvvat manbaidan quvvatlanadi. Sensorlar (harorat, namlik, yomg'ir, gaz) taxminan 200 mA, Edison 500 mA atrofida chiziladi, chunki umumiy oqim 1 amperdan kam bo'lganligi uchun 1 amperli zaryad yaxshi ishlashi kerak. Quvvat holatini ko'rsatish uchun Edison platasining raqamli pin 13 -dagi ichki yashil LED ishlatiladi.

Intel Edison TWIST ko'rgazmasini boshqaradi. Edison Arduino taxtasiga o'rnatiladi, bu sensorlardan raqamli va analog signallarni o'qishni osonlashtiradi. Edison 5V temir yo'lga mikro USB kabeli orqali ulangan. Edisonda Wi-Fi-ga o'rnatilgan radio bor, u qo'shimcha qurilmalarga ehtiyoj sezmasdan Twitter-ga ulanish imkonini beradi.

Haqiqiy vaqt soati (RTC)

Vaqt tamg'asi Twitter tomonidan har bir tvit uchun avtomatik ravishda amalga oshirilganligi sababli, Tweeting vaqtidan boshlab umumiy kunlar soni bilan cheklangan, shuning uchun soat va daqiqada sana va vaqtni aniq belgilash uchun real vaqtda soat ishlatiladi. Ikkinchi format. TWIST platformasida ishlatiladigan real vaqtda soat DS-1307 RTC modulidir.

Ushbu tizimning eng asosiy sozlamalari Edisonga ulanadigan to'rtta sensorga ega (harorat, namlik, yomg'ir, gaz). Shovqin, shamol va boshqalar kabi qo'shimcha sensorlar qo'shilishi mumkin. Har bir sensor to'g'ridan -to'g'ri 5V relsdan quvvatlanadi va uning signal pimi mos ravishda A0 dan A2 gacha analog pimlarga va Edison uzilish panelidagi raqamli pin 2 ga ulanadi. Sensorlarning har birida har bir sensorlar panelida sezgirlikni sozlash potentsiometrlari o'rnatilgan; MQ-2-yonuvchi gaz sensori (suyultirilgan gaz, propan, vodorod va metan) bo'lib, u gazning kontsentratsiyasini millionga mutanosib ravishda chiqaradi. SL-HS-220 harorat qiymatini beradigan termistorga ega. Termistorning chiqishi chiziqli bo'lmaganligi uchun mos keladigan harorat jadvali sensorlar omborida berilgan. Termistor, elektron diagrammada ko'rsatilgandek, Edison platasiga ulanganida, kuchlanish taqsimlovchi sxemani talab qiladi. SL-HS-220 shuningdek namlikni o'lchaydigan va namlikning belgilangan qiymatiga mos keladigan analog kuchlanishni chiqaradigan ichki gigrometrga ega. Namlik-kuchlanish jadvali datchiklar omborida ham berilgan. SL-HS-220 uchun umumiy o'rin DHT11 sensori. Yomg'ir sensori/suv sensori potentsiometrga ega bo'lib, u ma'lum miqdordagi yomg'ir uchun raqamli chiqishni beradi, uni sezgirligi foydalanuvchi tomonidan sozlanishi mumkin.

Ob -havo stantsiyasi.fzz

3 -qadam: mexanik dizayn

TWIST tanasi ikkita plastinka yog'ochdan yasalgan. Men 1/4 dyuymli kontrplak ishlatgan bo'lsam -da, dizayn har qanday varaq materialidan yig'ilishi mumkin, chunki oraliq (1 dyuymli alyuminiy tayanchlar tomonidan saqlanadi) yagona muhim element hisoblanadi. Men yuklash uchun vektorli fayllarni biriktirdim.

Lazerli kesish

Ikkita plastinkani lazer bilan kesishni xohlovchilar uchun men quyida yuklab olish uchun lazerni kesish fayllarini biriktirdim. Bundan tashqari, uning dizaynida qo'shimcha havo sifati sensori mavjud. Shunday qilib, siz tanlaganingizga qarab MQ2 sensor moduli yoki havo sifati sensori modulidan foydalanishingiz mumkin.

4 -qadam: ramka yig'ish: yuz va taglik

Yuz plitasi

Datchiklar mos keladigan teshik va kesiklarga mos keladi va ularni vintlar yoki elim yordamida mahkamlash mumkin.

Asosiy plastinka

Edison taxtasining qarama -qarshiliklari asosiy plastinkaga o'rnatiladi. Yomg'ir sensori bilan bog'langan analog-raqamli konvertor (ADC) ham taglik taxtasiga vidalanishi mumkin.

Quyosh energiyasini kiritish uchun signal signallari yoki voltaj regulyatori sxemasi kabi qo'shimcha komponentlar ham taglik taxtasiga vidalanishi mumkin.

Asosiy va old yuzalar bir -biridan farq qiladi.

5 -qadam: elektronika va sensorlar yig'ilishi

Quvvat

Tizimning quvvati Edison Barrel ulagichiga to'g'ridan -to'g'ri ulangan standart barrelli uyali devor adapteri bilan ta'minlanadi. Bundan tashqari, tizim Edison platasidagi USB port orqali quvvatlanishi mumkin. Siz shuningdek, tashqi quyosh paneli orqali taxtani quvvatlantirishingiz mumkin.

Sensorlar

Datchiklar erkaklar sarlavhalari bo'lgan kesish taxtalariga biriktirilgan, shuning uchun ularni Edisonga erkak-ayol o'tish simlari orqali to'g'ridan-to'g'ri ulash mumkin.

6 -qadam: Twitter konfiguratsiyasi

Tweet-ga kirish uchun biz NeoCat tomonidan ishlab chiqilgan uchinchi tomon dasturidan foydalanmoqdamiz, u sizga Twitter tokenini oladi, bu sizga Edison taxtasi bilan tvit yozishingiz kerak bo'ladi. Tokenlarni Twitter -ning Ishlab chiquvchilar veb -saytidan ham olish mumkin.

Shunday qilib, boshlash uchun, NeoCat veb -saytiga tashrif buyuring, twitter kutubxonasi va twitter belgisini olish uchun uning ko'rsatmalariga amal qiling. NeoCat o'z saytida aytib o'tganidek, xizmatdan suiiste'mol qilmang. Tvitlaringizni kam tuting. Agar sizga har 6 soniyada tvit yozadigan biror narsa kerak bo'lsa, siz o'z server va twitter ilovasini o'rnatishingiz kerak, shuning uchun men yozgan kod NeoCat serverining ortiqcha yuklanmasligini ta'minlaydi (TWIST har 6 soatda tweet qiladi).

Kutubxona ushbu NeoCat veb -saytidan OAuth materiallari uchun proksi -server sifatida foydalanadi. Sizning tvitingiz ushbu NeoCat veb -saytiga xizmat ko'rsatishda qo'llanilmasligi mumkin. Twitter xuddi shu tarkibga ega bo'lgan takroriy tvitlarni rad etgandek tuyuladi (403 xatoni qaytaradi).

Twitter belgisi

Arduino Tweet kutubxonasi

7 -qadam: dasturiy ta'minot va konfiguratsiya

Kodlashni boshlashdan oldin Intel Edsion -ni o'rnatish bo'yicha Intel ko'rsatmalariga amal qiling.

Dastur Edisonda ishlaydigan Arduino eskizidir. Men kodning asosiy bloklarining har birini quyida tushuntirdim.

Kodda muammolarni oldindan aniqlashda yordam beradigan ba'zi oldindan belgilab qo'yilgan konstantalar, pin -deklaratsiyalar va ketma -ket bosma bayonotlar mavjud.

Tvitni kechiktirish

Twitter bir xil tarkibga ega bo'lgan tvitlarni filtrlaydigan va ularning har biri o'rtasida qisqa vaqt ichida yozilganligi sababli, har bir tvit o'rtasida 3 soatlik (10800000 milli soniya) standart kechikish o'rnatildi.

tweetMessage ();

kechikish (10800000);

Kasting turi

Sensorlardan olingan ko'p o'qishlar "int" yoki "float" ma'lumotlar turida. Ammo biz bu qiymatlarni tvit qilayotganimiz uchun ularni "String" ma'lumotlar turiga aylantirishimiz kerak. Buning uchun maxsus Type-casting texnikasidan foydalanamiz.

char *dtostrf (dubl val, imzolangan belgining kengligi, imzosiz char prec, char *janub) {

char fmt [100]; sprintf (fmt, "%%% d.%df", kenglik, oldingi); sprintf (janubiy, fmt, val); janubga qaytish; }

Twitter belgisi

Tvitter tokoni NeoCat veb -saytida yaratilgan va bu erdagi token maydoniga yopishtirilgan bo'lishi kerak.

void tweetMessage () {

Twitter twitter ("BU YERGA TWITTER tokenini kiriting");

Sensor qiymatlarining tvitlanishi

Sensor qiymatini yozish uchun biz birinchi navbatda Sensor turini kiritamiz; Misol: "Namlik". Shundan so'ng, belgilarni e'lon qilish va matn terish uchun zarur bo'lgan kod qatori. Keyin biz o'lchov birligi uchun bayonot qo'shamiz; Misol: "%RH". Biz boshqa sensorlarning qiymatlarini shunga o'xshash tarzda qo'shishni davom ettira olamiz.

namlik (); nam suzuvchi;

// Twitter xabari String stringMsg = "Namlik:"; char tmp [10]; dtostrf (nam, 1, 2, tmp); stringMsg += tmp; stringMsg += "%RH";

Ob -havo stantsiyasining joylashuvi va belgilanishi

Keyin biz joyni (shahar, joy va boshqalar) va #iotweatherstn kabi boshqa teglarni belgilaymiz.

stringMsg += "#Mumbay #Bandra #iotweatherstn";

Haqiqiy vaqt soati (RTC)

Yuqorida aytib o'tilganidek, TWIST real vaqtda soat ma'lumotlarini ham tweetlashi mumkin. Quyida RTC kodining "kun" parametrlar blokiga misol keltirilgan. Real vaqt soati xususiyati TWIST platformasida ixtiyoriy, chunki modul alohida keladi. Shunday qilib, TWIST omborida Real Time Clock filialining kodi va sxemasi uchun alohida bo'lim mavjud.

TwistDateTime (); DateTime now = rtc.now (); int twistday, twistmonth, twistyear, twisthour, twistmin, twistsec; String stringMsg = ""; char ds1307day [10]; dtostrf (twistday, 1, 0ds1307day); stringMsg += ds1307day; stringMsg += "/";

140 belgi chegarasi

Bu kod bloki satrlar qatorini tvit qilishga tayyor 140 belgidan iborat qatorni qamrab oladi.

char msg [140];

stringMsg.toCharArray (xabar, 140);

Xabar va ulanish muammolarini bartaraf etish

Bu kod bloki foydalanuvchiga xabar va tvit holatini tekshirishga yordam berish uchun ketma -ket monitorda bir necha qatorli matnlarni chop etadi.

// Mana shu emizuvchini tvit qiling!

if (twitter.post (msg)) {int status = twitter.wait (); if (status == 200) {Serial.println ("OK."); Serial.println ("Xabar tvitlangan"); } else {// Ulanish testi Serial.print ("muvaffaqiyatsiz: kod"); Serial.println ("Xabar tvitlanmagan"); Serial.println (holati); }} boshqa {Serial.println ("ulanib bo'lmadi."); Serial.println ("Xabar tvitlanmagan"); }

Boshqa barcha kod bloklari shunchaki sensorlardan analog yoki raqamli o'qishni foydali ma'lumotlarga aylantiradi.

Kodni bu erdan yoki asosiy ombordan yuklab olish mumkin:

Ob -havo stantsiyasi

8 -qadam: Sensor omboriga hissa qo'shish

Siz TWIST -da yangi xususiyat haqida ajoyib tasavvurga ega bo'lgan dasturchi, muhandis yoki dizaynermisiz? Balki sizda xatolarni tuzatish uchun yaxshi fikr bormi? Github -dan bizning kodimiz, sxemalarimiz va SAPR -fayllarimizni oling va u bilan o'ylang.

TWIST GitHub

Intel® IoT Invitational
Intel® IoT Invitational
Intel® IoT Invitational
Intel® IoT Invitational

Intel® IoT Invitational ikkinchi mukofoti

Tavsiya: