Съдържание:

Свържете растението си с облака: 10 стъпки
Свържете растението си с облака: 10 стъпки

Видео: Свържете растението си с облака: 10 стъпки

Видео: Свържете растението си с облака: 10 стъпки
Видео: 10 видов опор для пионов, гортензий и хризантем 2024, Юли
Anonim
Свържете растението си с облака
Свържете растението си с облака
Свържете растението си с облака
Свържете растението си с облака
Свържете растението си с облака
Свържете растението си с облака

В нашия офис има кактус, който не получи заслуженото внимание. Тъй като работя в IT компания и исках да експериментирам с LoRa, без сървърни решения и AWS, кръстих нашия кактус Стийв и го свързах с облака. Вече можете да наблюдавате Стийв от почти всяка точка на света, използвайки уеб страницата, която направих за него: уеб интерфейсът на Стийв.

Консумативи

1 кактус / любимото ви растение

1 Arduino MKR WAN 1300 (магазин Arduino)

1 868mHz/914mHz (зависи от вашето местоположение) антена (Amazon)

1 LoRa Gateway, когато не е в обхвата на един (Amazon)

2 батерии тип АА

1 сензор TMP102 (Amazon)

1 сензор за влажност на почвата (Amazon)

Проводими кабели (Amazon)

поялник

Поставка за батерия (Amazon)

случай

по избор: 3D принтер (ако можете да използвате 3D принтер, тогава нямате нужда от държач за батерия или калъф)

Стъпка 1: Отпечатване на кутията (по избор)

Отпечатване на калъфа (по избор)
Отпечатване на калъфа (по избор)
Отпечатване на калъфа (по избор)
Отпечатване на калъфа (по избор)

Изтеглете този zip файл, разархивирайте го и отпечатайте файловете. Файловете са маркирани с необходимото количество на артикула.

Чувствайте се свободни да добавите нещо към капака, както направих аз.

Отпечатах ги, използвайки височина на слоя 0,2 мм и 15% пълнеж.

Кутиите за кутии могат да бъдат прикрепени с винтове m3.

Когато кутията е отпечатана, можете да използвате някакъв проводник, за да направите необходимите връзки на държача на батерията. Можете да използвате предоставената снимка като справка.

Стъпка 2: Окабеляване

Електрически инсталации
Електрически инсталации
  • Преди да включите arduino, уверете се, че антената е свързана, включването на arduino без антената може да причини повреда.
  • Свържете всичко според предоставената електрическа схема.
  • Ако запоявате тези проводници, уверете се, че не преодолявате никакви щифтове върху сензорите или arduino!

Стъпка 3: Създайте приложение в мрежата на нещата

  • Отидете на https://www.thethingsnetwork.org/ и ако все още нямате акаунт, направете го.
  • След като имате акаунт и сте влезли, можете да отидете в конзолата (горе вдясно, щракнете върху потребителското си име и след това върху конзолата).
  • Кликнете върху приложения.
  • След като страницата се зареди, трябва да можете да кликнете върху „добавяне на приложение“.
  • Попълнете формуляра и изберете правилния регион в долната част. Кликнете върху „добавяне на приложение“.
  • Поздравления, току -що сте създали приложение в мрежата на нещата. = D

Стъпка 4: Свързване на Arduino към мрежата на нещата

За да програмирате arduino, съветвам ви да използвате онлайн arduino ide, това прави зареждането в необходимата библиотека много лесно.

  • Отворете приложението си в мрежата на нещата.
  • Трябва да има поле, озаглавено устройства, щракнете върху регистриране на устройство.
  • ще видите поле, наречено Device Id. това е името, което искате да дадете на вашия сензор. Трябва да има още един, означен с EUI на устройството, това е уникалният ключ, който arduino използва, за да се удостовери.
  • За да получим този ключ, трябва да прехвърлим arduino със специфична скица. Скицата може да се намери тук. Тази скица трябва да работи и през серийния монитор трябва да изпрати eui. Копирайте eui от серийния монитор в полето EUI на устройството в мрежата на нещата.
  • Щракнете върху регистрация.
  • Сега регистрирахме нашия arduino в облака. Време е да започнете да изпращате съобщения.
  • Трябваше да бъдете пренасочени към страница, наречена преглед на устройството. Тук можете да видите вашето устройство eui, app eui и ключ на приложението.
  • За да продължим, трябва да прехвърлим последната скица към arduino. Скицата може да се намери тук.
  • Когато отворите тази връзка, ще видите, че има няколко раздела. Отворете раздела тайни. Има 2 ключа, с които трябва да се справите от мрежата с неща до файла с тайните.
  • След като тези ключове бъдат попълнени, можете да мигате arduino. Той ще започне да изпраща данни към мрежата с неща веднъж на всеки час.
  • Ако всичко е наред, би трябвало да можете да видите съобщения, идващи в раздела Данни в мрежата на нещата при нулиране на arduino (единственият бутон на дъската).

    • Ако няма данни, които се появяват тук, това може да означава, че не сте в обхвата на правилен шлюз LoRa. Можете да проверите карта с всички налични шлюзове на https://thethingsnetwork.org. Едноканалните шлюзове LoRa няма да работят с препоръчания arduino.
    • Ако не сте в обхвата на шлюз, тогава можете да свържете свой собствен шлюз към мрежата на нещата. Тези шлюзове обикновено имат доста добри уроци за това как да ги свържете. Потърсете в списъка с доставки препоръчания шлюз.

Стъпка 5: Тълкуване на данните в мрежата на нещата

  • За да получим използваеми данни от съобщенията в мрежата от неща, трябва да декодираме байстстрийма.
  • В мрежата за неща отидете до вашето приложение.
  • Трябва да има раздел с надпис „Формати на полезен товар“, щракнете върху този раздел.
  • Има 4 бутона един до друг: "декодер", "конвертор", "валидатор", "енкодер".
  • Кликнете върху декодера.
  • Поставете следния код там.

функция Декодер (байтове, порт) {// Декодиране на съобщение нагоре от буфер // (масив) от байтове към обект от полета. var stringToDecode = bin2String (байтове); var res = stringToDecode.split (""); var temp = res [1]; var moist = res [3]; var bat = res [5]; var decoded = {"температура": temp, "влага": влажна, "батерия": bat}; връщане декодирано; } функция bin2String (масив) {var result = ""; for (var i = 0; i <array.length; ++ i) {result+= (String.fromCharCode (масив )); } връщане на резултата;}

  • Щракнете върху запазване.
  • Когато нулирате arduino и прегледате раздела си с данни, трябва да видите добре форматиран json обект, който можете лесно да прочетете.

Стъпка 6: Свързване на приложението ви към AWS

Ще използваме AWS за съхраняване и използване на данните от мрежата на нещата. Всички ресурси, които ще използваме, са обхванати от безплатното ниво на AWS.

  • Отидете на AWS
  • Влезте или създайте акаунт.
  • За да свържете вашето приложение в мрежата с неща към AWS, препоръчвам да следвате този урок:
  • След като завършите този урок, отидете в конзолата aws до сегмента на IoT-Core.
  • В лявата лента на менюто има етикет „Управление“, щракнете върху това.
  • Сега трябва да видите карта с името на вашия сензор.
  • Отново в лявата лента на менюто кликнете върху „Действие“
  • Ако има карта с надпис Магазин, добре е да тръгнете.
  • Ако не, кликнете върху „Създаване“.
  • Попълнете името „Магазин“.
  • Можете да добавите описание, ако искате.
  • Като заявка за заявка попълнете следния код: SELECT dev_id, metadata.time, payload_fields.temperature, payload_fields.moisture, payload_fields.battery ОТ 'cactus_network/devices/+/up'.
  • Под „Задаване на едно или повече действия“кликнете върху добавяне на действие.
  • Изберете „Разделяне на съобщението в няколко колони на DynamoDb таблица (DynamoDBv2)“.
  • Щракнете върху конфигуриране на действие
  • Щракнете върху създаване на нов ресурс.
  • Щракнете върху създаване на таблица и дайте име на вашата таблица.
  • Под първичния ключ попълнете „dev_id“.
  • Щракнете върху добавяне на ключ за сортиране
  • Попълнете "време".
  • Щракнете върху създаване.
  • Ако всичко е наред, трябва да се върнете на страницата за конфигуриране на действия.
  • Има малко затъмнена област под „Изберете или създайте роля, за да предоставите на AWS IoT достъп за извършване на това действие“.
  • Щракнете върху създаване на роля и дайте име на тази роля.
  • Щракнете върху създаване на роля.
  • Щракнете върху добавяне на действие.
  • Щракнете върху създаване на правило.
  • Сега трябва да имате правило, което автоматично да съхранява всички входящи съобщения от мрежата на нещата в DynamoDb.
  • Можете да проверите дали това работи, като нулирате arduino и отидете да погледнете в таблицата DynamoDb, която току -що създадохте.
  • Трябва да има запис със съобщението.

Стъпка 7: Създаване на ламбда

За да прочетем данните от DynamoDB, ще напишем AWS ламбда.

  • В конзолата за управление на AWS под услуги има връзка с надпис „Lambda“, щракнете върху тази.
  • Щракнете върху създаване на функция.
  • Изберете име.
  • Задайте време на изпълнение на python 3.7.
  • Щракнете върху създаване на функция.
  • Поставете този код в интегрираната IDE.

импортиране на json

import boto3 време за импортиране от datetime импортиране datetime, timedelta от boto3.dynamodb.conditions ключ за импортиране, Attr def lambda_handler (събитие, контекст): връщане retreive_data () def retreive_data (): # Вземете ресурса на услугата. dynamodb = boto3.resource ('dynamodb') таблица = dynamodb. Table ('ИМЕ НА ТАБЛИЦАТА ТУК') сега = datetime.now () вчера = сега - timedelta (часове = 24) fe = Ключ ('време'). между (вчера.изоформат (), сега.изоформат ()) подаден = ключ ('време'). f в recordsToDelete ['Items']: #print (f) table.delete_item (Key = {'dev_id': f ['dev_id'], 'time': f ['time']}) data = response ['Items '] връщане на данни

  • Променете името на таблицата на избраното от вас.
  • Превъртете надолу до роля за изпълнение.
  • Щракнете върху създаване на нова роля от шаблоните на aws policy.
  • Изберете име.
  • Под шаблони на правила изберете „Разрешения за тестване на снопове“и „Прости разрешения за микрослужби“.
  • Щракнете върху запазване.
  • Щракнете върху тест.
  • Може да се появи изскачащ прозорец, просто изберете име и запишете.
  • Щракнете отново върху теста.
  • Най -отгоре трябва да има зелен банер с надпис „Резултат от изпълнението: успешен“.
  • Когато щракнете върху този банер, трябва да видите изхода на тази функция, това трябва да е списък със сензорни данни.
  • Моля, имайте предвид, че този скрипт изтрива всички данни, които са по -стари от 24 часа.
  • В случай, че вашият банер не е зелен, а червен, сте пропуснали нещо и щракването върху този банер ще ви даде пълното съобщение за грешка. В този случай Google е вашият най -добър приятел.

Стъпка 8: Създаване на крайна точка на API

  • В конзолата за управление на AWS под услуги има връзка с надпис „api-gateway“, щракнете върху тази.
  • Щракнете върху създаване на API.
  • Уверете се, че са избрани „REST“и „New API“.
  • Изберете име за вашия api.
  • Щракнете върху създаване на API.
  • Сега на екрана трябва да има бутон с надпис Действия, щракнете върху него.
  • След това щракнете върху създаване на ресурс.
  • Като име на ресурс трябва да направите нещо просто като „завод“или „данни за растенията“.
  • Щракнете върху създаване на ресурс.
  • Вляво трябва да има името, което току -що сте въвели. щракнете върху това име.
  • Сега щракнете отново върху действия и сега щракнете върху метод за добавяне.
  • Изберете GET.
  • Щракнете върху отметката.
  • Трябва да има текстово поле с надпис Lambda функция.
  • Въведете името, което сте дали на ламбда функцията тук.
  • Щракнете върху запазване.
  • Може да има изскачащ прозорец, който ви предупреждава, че създава допълнителни разрешения.
  • Приемете този изскачащ прозорец.
  • Сега под действия щракнете върху разреши корс.
  • Кликнете върху „активиране на CORS и подмяна на съществуващите заглавки на CORS“.
  • Кликнете върху „да,…“.
  • Щракнете отново върху действия и щракнете върху Разгръщане на API.
  • Под етап на разгръщане изберете [Нов етап].
  • Изберете име.
  • Щракнете върху разполагане.
  • Вече сте публикували вашия api онлайн в света.
  • На екрана, където сте пристигнали сега, щракнете върху „ВЗЕМЕТЕ“и добавете ресурса, който току -що създадохте.
  • Най -отгоре трябва да има връзка с надпис „URL за извикване“.
  • Копирайте тази връзка.
  • Поставете го в браузър и натиснете Enter.
  • Трябва да видите данните, които са в базата данни.

Стъпка 9: Свържете растението си към мрежата на социалните заводи

  • Отидете на
  • Кликнете върху „Вход“.
  • Щракнете върху създаване на акаунт.
  • Попълнете формуляра, за да създадете своя акаунт.
  • Моля, обърнете внимание, че потребителското име също трябва да бъде вашият имейл.
  • Щракнете върху създаване на акаунт.
  • Може да се наложи да потвърдите имейла си, преди да можете да продължите.
  • Уверете се, че сте влезли.
  • Върнете се към началната страница (щракнете върху логото в горния ляв ъгъл).
  • Щракнете върху бутона за настройки.
  • Попълнете формуляра, трябва да попълните всяко поле.
  • Връзката към api е връзката, която сте запазили, след като сте създали крайната точка на API.
  • Когато всичко е попълнено, щракнете върху бутона за запазване на растението. сега системата ще провери въведената от вас api връзка и ако това е правилно, тя ще запише вашето растение в мрежата.
  • Върнете се на началната страница.
  • Вече можете да кликнете върху всички растения, би трябвало да можете да видите всички регистрирани растения. вашето растение също трябва да е там. щракнете върху картата и ще бъдете отведени до страница за преглед на вашето растение, тя също ще покаже съвети въз основа на стойностите, които сте задали в настройките.

Стъпка 10: Облегнете се и се потупайте по гърба

Току -що сте свързали завод с интернет. Доста впечатляващо, нали?

Препоръчано: