Mundarija:

O'z zavodingizni bulutga ulang: 10 qadam
O'z zavodingizni bulutga ulang: 10 qadam

Video: O'z zavodingizni bulutga ulang: 10 qadam

Video: O'z zavodingizni bulutga ulang: 10 qadam
Video: Получи 1000 долларов + день в день с помощью кнопки (легко... 2024, Iyul
Anonim
O'z zavodingizni bulutga ulang
O'z zavodingizni bulutga ulang
O'z zavodingizni bulutga ulang
O'z zavodingizni bulutga ulang
O'z zavodingizni bulutga ulang
O'z zavodingizni bulutga ulang

Bizning idoramizda kaktus bor, lekin unga e'tibor berilmadi. Men IT kompaniyasida ishlaganim va LoRa, serversiz echimlar va AWS bilan tajriba o'tkazmoqchi bo'lganim uchun, biz kaktusimizga Stiv deb nom berdim va uni bulutga uladim. Endi siz Stivni dunyoning istalgan burchagidan, men uchun yaratilgan veb -sahifadan kuzatib borishingiz mumkin: Stivning veb -interfeysi.

Ta'minotlar

1 kaktus / sizning sevimli o'simlik

1 Arduino MKR WAN 1300 (Arduino do'koni)

1 868mHz/914mHz (joylashuvingizga bog'liq) antenna (Amazon)

1 LoRa shlyuzi bitta diapazonda bo'lmaganida (Amazon)

2 ta AA batareyasi

1 TMP102 sensori (Amazon)

1 tuproq namligi sensori (Amazon)

Supero'tkazuvchilar kabellar (Amazon)

lehim temir

Batareya ushlagichi (Amazon)

ish

ixtiyoriy: 3D printer (agar siz 3d printerdan foydalana olsangiz, sizga batareya ushlagichi yoki qutisi kerak emas)

1 -qadam: Kosonni chop etish (ixtiyoriy)

Kosonni chop etish (ixtiyoriy)
Kosonni chop etish (ixtiyoriy)
Kosonni chop etish (ixtiyoriy)
Kosonni chop etish (ixtiyoriy)

Ushbu zip faylini yuklab oling, oching va fayllarni chop eting. Fayllar elementning kerakli miqdori bilan belgilanadi.

Menga o'xshab qopqog'iga biror narsa qo'sha olasizmi?

Men ularni qatlam balandligi 0,2 mm va 15% to'ldirish yordamida chop etdim.

Qutilar m3 vintlar yordamida biriktirilishi mumkin.

Quti chop etilgach, batareya ushlagichiga kerakli simlarni ulashingiz mumkin. Taqdimot sifatida siz taqdim etilgan rasmdan foydalanishingiz mumkin.

2 -qadam: simlarni ulash

Ulanish
Ulanish
  • Arduino -ni yoqishdan oldin, antennaning ulanganligiga ishonch hosil qiling, chunki antennasiz arduino -ni yoqish shikast etkazishi mumkin.
  • Taqdim etilgan simlar sxemasiga muvofiq hamma narsani ulang.
  • Agar siz bu simlarni lehimlayotgan bo'lsangiz, datchiklar yoki arduinolarda hech qanday pinni ko'tarmasligingizga ishonch hosil qiling!

3 -qadam: Things Network -da ilova yarating

  • Https://www.thethingsnetwork.org/ saytiga o'ting va agar sizda hali hisob qaydnomangiz bo'lmasa, uni yarating.
  • Hisob qaydnomangizga kirganingizdan so'ng, siz konsolga o'tishingiz mumkin (yuqori o'ng burchakda, foydalanuvchi nomingizni bosing, keyin konsolda).
  • Ilovalarni bosing.
  • Sahifa yuklangandan so'ng siz "ilova qo'shish" tugmasini bosishingiz kerak.
  • Shaklni to'ldiring va pastki qismida to'g'ri mintaqani tanlang. "Ilovani qo'shish" ni bosing.
  • Tabriklaymiz, siz faqat narsalar tarmog'ida dastur yaratdingiz. = D

4 -qadam: Arduino -ni narsalar tarmog'iga ulash

Arduino -ni dasturlash uchun sizga onlayn arduino ide -dan foydalanishni maslahat beraman, bu kerakli kutubxonaga yuklashni juda osonlashtiradi.

  • Things tarmog'ida ilovangizni oching.
  • "Qurilmalar" deb nomlangan maydon bo'lishi kerak, qurilmani ro'yxatdan o'tkazishni bosing.
  • siz Device Id deb nomlangan maydonni ko'rasiz. bu sensorga berishni xohlagan ism. Device EUI deb nomlangan yana bir narsa bo'lishi kerak, bu sizning arduino autentifikatsiya qilish uchun ishlatadigan yagona kalit.
  • Bu kalitni olish uchun biz arduino -ni ma'lum eskiz bilan o'chirishimiz kerak. Eskizni boshqa joydan topish mumkin. Bu eskiz ishlashi kerak va ketma -ket monitor ustida eui yuborilishi kerak. Eui -ni ketma -ket monitordan narsalar tarmog'idagi Device EUI maydoniga nusxalash.
  • Ro'yxatdan o'tish tugmasini bosing.
  • Endi biz arduino -ni bulutga ro'yxatdan o'tkazdik. Xabar yuborishni boshlash vaqti keldi.
  • Siz qurilmani ko'rib chiqish deb nomlangan sahifaga yo'naltirilishingiz kerak edi. Bu erda siz qurilmangizni eui, app eui va ilova kalitini ko'rishingiz mumkin.
  • Davom etish uchun biz oxirgi eskizni arduino -ga ulashimiz kerak. Eskizni bu erda topish mumkin.
  • Bu havolani ochganingizda, sizda bir nechta tablar borligini ko'rasiz. Sirlar yorlig'ini oching. Narsalar tarmog'idan maxfiy faylga o'tish uchun sizga ikkita kalit kerak.
  • Bu tugmalar to'ldirilgandan so'ng siz arduino -ni o'chirib qo'yishingiz mumkin. U ma'lumotlar tarmog'iga soatiga bir marta ma'lumotlarni yuborishni boshlaydi.
  • Agar hamma narsa to'g'ri ketayotgan bo'lsa, arduino (bortdagi yagona tugma) qayta o'rnatilgandan so'ng, ma'lumotlar tarmog'idagi ma'lumotlar ko'rinishida keladigan xabarlarni ko'rishingiz kerak.

    • Agar biror joyda ma'lumotlar ko'rinmasa, demak siz LoRa -ning to'g'ri shlyuziga ega emassiz. Siz barcha mavjud shlyuzlar bilan xaritani tekshirishingiz mumkin https://thethingsnetwork.org. Yagona kanalli LoRa shlyuzlari tavsiya etilgan arduino bilan ishlamaydi.
    • Agar siz shlyuz oralig'ida bo'lmasangiz, siz o'zingizning shlyuzingizni narsalar tarmog'iga ulashingiz mumkin. Bu shlyuzlar odatda ularni qanday ulash haqida juda yaxshi darsliklarga ega. Tavsiya etilgan shluzi uchun ta'minot ro'yxatiga qarang.

5 -qadam: Things tarmog'idagi ma'lumotlarni talqin qilish

  • Tarmoqdagi xabarlardan foydalanishga yaroqli ma'lumotlarni olish uchun biz baytest oqimini dekodlashimiz kerak.
  • Narsalar tarmog'ida sizning ilovangizga o'ting.
  • "Yuk tashish formatlari" yorlig'i bo'lishi kerak, bu yorliqni bosing.
  • Bir -birining yonida 4 ta tugma mavjud: "dekoder", "konvertor", "validator", "kodlovchi".
  • Dekoderni bosing.
  • U erga quyidagi kodni joylashtiring.

dekoder funktsiyasi (bayt, port) {// baytlar buferidan // (massividan) yuqori havolali xabarni maydonlar ob'ektiga dekodlash. var stringToDecode = bin2String (bayt); var res = stringToDecode.split (""); var temp = res [1]; var moist = res [3]; var bat = res [5]; var decoded = {"harorat": temp, "namlik": nam, "batareya": bat}; dekodlangan qaytarish; } bin2String funktsiyasi (qator) {var result = ""; for (var i = 0; i <array.length; ++ i) {natija+= (String.fromCharCode (qator )); } natijani qaytarish;}

  • Saqlash -ni bosing.
  • Arduino -ni qayta o'rnatganingizda va ma'lumotlar yorlig'ini ko'rsangiz, yaxshi formatlangan json ob'ektini ko'rishingiz kerak, uni osongina o'qishingiz mumkin.

6 -qadam: Ilovangizni AWS -ga ulash

Biz narsalar tarmog'idagi ma'lumotlarni saqlash va ishlatish uchun AWS -dan foydalanmoqchimiz. Biz foydalanmoqchi bo'lgan barcha manbalar AWS -ning bepul qatlami ostida joylashgan.

  • AWS -ga o'ting
  • Kirish yoki hisob yaratish.
  • AWS tarmog'iga ilovangizni ulash uchun men ushbu qo'llanmani bajarishni maslahat beraman:
  • Qo'llanmani tugatgandan so'ng, aws konsolida IoT-Core segmentiga o'ting.
  • Chap menyuda "Boshqarish" yorlig'i bor, bu ustiga bosing.
  • Endi siz sensorning nomi yozilgan kartani ko'rishingiz kerak.
  • Yana chap menyuda "Amal qilish" tugmasini bosing.
  • Agar "Store" deb nomlangan karta bo'lsa, siz borishingiz mumkin.
  • Agar yo'q bo'lsa, "Yaratish" ni bosing.
  • "Do'kon" nomini kiriting.
  • Agar xohlasangiz, tavsifni qo'shishingiz mumkin.
  • So'rov sifatida quyidagi kodni to'ldiring: dev_id, metadata.time, payload_fields.temperature, payload_fields.moisture, payload_fields.battery "cactus_network/devices/+/up".
  • "Bir yoki bir nechta amallarni o'rnatish" ostida harakat qo'shish -ni bosing.
  • "Xabarni DynamoDb jadvalining bir nechta ustunlariga bo'lish (DynamoDBv2)" -ni tanlang.
  • Amalni sozlash -ni bosing
  • Yangi manba yaratish -ni bosing.
  • Jadval yaratish -ni bosing va jadvalingizga nom bering.
  • Asosiy kalit ostida "dev_id" ni to'ldiring.
  • Saralash kalitini qo'shish -ni bosing
  • "Vaqt" ni to'ldiring.
  • Yaratish -ni bosing.
  • Agar hamma narsa yaxshi bo'lsa, siz konfiguratsiya sahifasiga qaytishingiz kerak.
  • "Bu harakatni bajarish uchun AWS IoT -ga ruxsat berish uchun rolni tanlang yoki yarating" ostida biroz kulrang joy bor.
  • Rol yaratish -ni bosing va bu rolga nom bering.
  • Rol yaratish -ni bosing.
  • Amal qo'shish -ni bosing.
  • Qoidalar yaratish -ni bosing.
  • Sizda DynamoDb tarmog'idan kiruvchi barcha xabarlar avtomatik tarzda saqlanadigan qoida bo'lishi kerak.
  • Siz bu ishlayotganligini arduino -ni asl holatiga qaytarish orqali tekshirishingiz mumkin va siz hozir yaratgan DynamoDb jadvaliga qarang.
  • Xabar yozilgan bo'lishi kerak.

7 -qadam: Lambda yaratish

DynamoDB ma'lumotlarini o'qish uchun biz AWS lambda yozamiz.

  • Xizmatlar ostidagi AWS boshqaruv konsolida "Lambda" deb nomlangan havola mavjud, uni bosing.
  • Yaratish funktsiyasini bosing.
  • Ism tanlang.
  • Ish vaqtini python 3.7 ga o'rnating.
  • Yaratish funktsiyasini bosing.
  • Ushbu kodni o'rnatilgan IDE -ga joylashtiring.

json import qilish

boto3 import vaqtini datetime -dan import qilish, vaqtni boto3.dynamodb.conditionsdan import qilish Key, Attr def lambda_handler (hodisa, kontekst): retreive_data () def retreive_data (): # Xizmat manbasini oling. dynamodb = boto3.resource ('dynamodb') jadvali = dynamodb. Jadval ('TABLE NAME BU YERDA') hozir = datetime.now () kecha = hozir - timedelta (soat = 24) fe = Kalit ('vaqt'). o'rtasida (kecha.isoformat (), hozir.isoformat ()) oziqlangan = Kalit ('vaqt'). f in recordsToDelete ['Items']: #print (f) table.delete_item (Key = {'dev_id': f ['dev_id'], 'time': f ['time']}) data = javob ['Item '] ma'lumotlarni qaytarish

  • Jadval nomini siz tanlaganga o'zgartiring.
  • Ijro roliga pastga aylantiring.
  • AWS siyosat shablonlaridan yangi rol yaratish -ni bosing.
  • Ism tanlang.
  • Siyosat shablonlari ostida "Test uskunalari ruxsatnomalari" va "Oddiy mikroservis ruxsatnomalari" ni tanlang.
  • Saqlash -ni bosing.
  • Sinovni bosing.
  • Oyna paydo bo'lishi mumkin, faqat ismni tanlang va saqlang.
  • Yana testni bosing.
  • Yuqori qismida "Ijro natijasi: muvaffaqiyatga erishdi" degan yashil banner bo'lishi kerak.
  • Siz bu bannerni bosganingizda, bu funksiyaning chiqishini ko'rishingiz kerak, bu sensordata ro'yxati bo'lishi kerak.
  • Shuni esda tutingki, ushbu skript 24 soatdan eski barcha ma'lumotlarni o'chirib tashlaydi.
  • Agar sizning banneringiz yashil emas, qizil bo'lsa, siz biror narsani o'tkazib yubordingiz va bu bannerni bosish sizga to'liq xato xabarini beradi. Bunday holda, Google sizning eng yaqin do'stingizdir.

8 -qadam: API so'nggi nuqtasini yaratish

  • Xizmatlar ostidagi AWS boshqaruv konsolida "api-shlyuz" deb nomlangan havola mavjud, uni bosing.
  • API yaratish -ni bosing.
  • "REST" va "New API" tanlanganligiga ishonch hosil qiling.
  • Api uchun nom tanlang.
  • API yaratish -ni bosing.
  • Endi ekranda amallar bilan belgilangan tugma bo'lishi kerak, uni bosing.
  • Keyin Resurs yaratish -ni bosing.
  • Resurs nomi sifatida siz "o'simlik" yoki "o'simlik-ma'lumotlar" kabi oddiy narsalarni tanlashingiz kerak.
  • Resurs yaratish -ni bosing.
  • Chapda endi siz kiritgan ism bo'lishi kerak. bu nomni bosing.
  • Endi amallarni yana bosing va endi usul qo'shish -ni bosing.
  • Get -ni tanlang.
  • Tasdiq belgisini bosing.
  • Lambda funktsiyasi deb nomlangan matn qutisi bo'lishi kerak.
  • Bu erda lambda funktsiyasini bergan ismingizni kiriting.
  • Saqlash -ni bosing.
  • Qo'shimcha ruxsatnomalar yaratayotgani haqida sizni ogohlantiruvchi pop -up bo'lishi mumkin.
  • Bu qalqib chiquvchi oynani qabul qiling.
  • Endi amallar ostida faollashtirish tugmachalarini bosing.
  • "CORS -ni yoqish va mavjud CORS sarlavhalarini almashtirish" -ni bosing.
  • "Ha, …" tugmasini bosing.
  • Amallarni yana bosing va API -ni joylashtirish -ni bosing.
  • Joylashtirish bosqichida [Yangi bosqich] ni tanlang.
  • Ism tanlang.
  • O'rnatish -ni bosing.
  • Siz hozir api -ni Internetda dunyoga e'lon qildingiz.
  • Siz kelgan ekranda hoziroq yaratgan manbangizni "GET" tugmasini bosing.
  • Yuqorida "URLni chaqirish" deb belgilangan havola bo'lishi kerak.
  • Ushbu havolani nusxalash.
  • Uni brauzerga joylashtiring va Enter tugmasini bosing.
  • Ma'lumotlar bazasida mavjud ma'lumotlarni ko'rishingiz kerak.

9 -qadam: O'z zavodingizni ijtimoiy o'simliklar tarmog'iga ulang

  • Http://bit.ly/social_plant_network saytiga o'ting.
  • "Kirish" ni bosing.
  • Hisob yaratish -ni bosing.
  • Hisob qaydnomangizni yaratish uchun shaklni to'ldiring.
  • E'tibor bering, foydalanuvchi nomi sizning elektron pochtangiz bo'lishi kerak.
  • Hisob yaratish -ni bosing.
  • Davom etishdan oldin elektron pochtangizni tasdiqlashingiz kerak bo'lishi mumkin.
  • Siz tizimga kirganingizga ishonch hosil qiling.
  • Bosh sahifaga qaytish (yuqori chap burchakdagi logotipni bosing).
  • Sozlamalar tugmasini bosing.
  • Shaklni to'ldiring, siz har bir maydonni to'ldirishingiz kerak.
  • API -ga havola - bu API -ning so'nggi nuqtasini yaratgandan keyin saqlagan havola.
  • Hammasi to'ldirilganda, o'simlikni saqlash tugmasini bosing. endi tizim siz kiritgan api havolasini tekshiradi va agar bu to'g'ri bo'lsa, u sizning zavodingizni tarmoqdan qutqaradi.
  • Bosh sahifaga qaytish.
  • Endi siz barcha o'simliklarni bosishingiz mumkin, siz ro'yxatdan o'tgan barcha o'simliklarni ko'rishingiz kerak. Sizning zavodingiz ham o'sha erda bo'lishi kerak. kartani bosing va siz zavodingizning umumiy sahifasiga o'tasiz, u shuningdek sozlamalarda siz o'rnatgan qiymatlarga asoslangan tavsiyalarni ko'rsatadi.

10 -qadam: Orqa tarafga suyaning va o'zingizni orqangizdan silang

Siz endigina zavodni Internetga uladingiz. Juda ta'sirli, to'g'rimi?

Tavsiya: