Мазмуну:

Өсүмдүгүңүздү Булутка туташтырыңыз: 10 кадам
Өсүмдүгүңүздү Булутка туташтырыңыз: 10 кадам

Video: Өсүмдүгүңүздү Булутка туташтырыңыз: 10 кадам

Video: Өсүмдүгүңүздү Булутка туташтырыңыз: 10 кадам
Video: Камера ANBIUX ДВУГЛАЗКА УДИВИЛА после ОБНОВЛЕНИЯ!!! 2024, Июнь
Anonim
Өсүмдүгүңүздү Булутка туташтырыңыз
Өсүмдүгүңүздү Булутка туташтырыңыз
Өсүмдүгүңүздү Булутка туташтырыңыз
Өсүмдүгүңүздү Булутка туташтырыңыз
Өсүмдүгүңүздү Булутка туташтырыңыз
Өсүмдүгүңүздү Булутка туташтырыңыз

Биздин офисте татыктуу көңүл бурулбаган кактус бар. Мен IT компаниясында иштегендиктен жана LoRa, серверсиз чечимдер жана AWS менен эксперимент өткөргүм келгендиктен, биздин кактуска Стив деп ат коюп, аны булутка туташтырдым. Сиз азыр Стивди дүйнөнүн каалаган бурчунан мен үчүн түзүлгөн веб -баракчаны колдонуп көзөмөлдөй аласыз: Стивдин веб интерфейси.

Жабдуулар

1 кактус / сиздин жакшы көргөн өсүмдүк

1 Arduino MKR WAN 1300 (Arduino дүкөнү)

1 868mHz/914mHz (жайгашкан жериңизге жараша) антенна (Amazon)

1 LoRa шлюзу бирөөнүн чегинде болбогондо (Amazon)

2 АА батареясы

1 TMP102 сенсор (Amazon)

1 топурактын ным сенсору (Amazon)

Өткөргүч кабелдер (Amazon)

кандооч

Батарея кармагыч (Amazon)

корпус

кошумча: 3D принтер (эгер сиз 3d принтерди колдоно алсаңыз, анда батарейка кармагычтын же корпустун кереги жок)

1 -кадам: Капты басып чыгаруу (Милдеттүү эмес)

Капты басып чыгаруу (Милдеттүү эмес)
Капты басып чыгаруу (Милдеттүү эмес)
Капты басып чыгаруу (Милдеттүү эмес)
Капты басып чыгаруу (Милдеттүү эмес)

Бул zip файлды жүктөп алыңыз, аны ачыңыз жана файлдарды басып чыгарыңыз. Файлдар нерсенин керектүү суммасы менен белгиленген.

Мен сыяктуу капкакка бир нерсе кошуп койсоңуз болот.

Мен муну 0.2 мм жана 15% толтуруу катмарынын бийиктиги аркылуу басып чыгардым.

Boxhooks м3 бурамалар менен тиркелиши мүмкүн.

Куту басылганда, батарейка кармагычка керектүү байланыштарды орнотуу үчүн кээ бир зымдарды колдонсоңуз болот. Сиз шилтеме катары берилген сүрөттү колдоно аласыз.

2 -кадам: Кабелдөө

Электр өткөргүчтөрү
Электр өткөргүчтөрү
  • Ардуинону күйгүзүүдөн мурун антеннанын туташып турганын текшериңиз, антеннасыз ардуинону күйгүзүү зыян келтириши мүмкүн.
  • Бардыгын берилген зым схемасына ылайык туташтырыңыз.
  • Эгерде сиз бул зымдарды ширетип жатсаңыз, анда сенсорлорго же ардуиного эч кандай түйрүкчөлөрдү орнотпогонуңузду текшериңиз!

3 -кадам: Things Network боюнча тиркеме түзүңүз

  • Https://www.thethingsnetwork.org/ дарегине өтүңүз жана эгер сизде азырынча каттоо эсеби жок болсо, аны жасаңыз.
  • Аккаунтуңуз бар жана киргенден кийин консолго өтсөңүз болот (жогорку оң бурчта, колдонуучу атыңызды чыкылдатып, анан консолго).
  • Колдонмолорду басыңыз.
  • Барак жүктөлгөндөн кийин, "тиркемени кошуу" дегенди басуу керек.
  • Форманы толтуруңуз жана ылдыйдагы туура аймакты тандаңыз. "Колдонмо кошуу" дегенди басыңыз.
  • Куттуктайбыз, сиз жаңы нерселер тармагында тиркеме түздүңүз. = D

4 -кадам: Ардуинону нерселер тармагына туташтыруу

Ардуинону программалоо үчүн мен сизге онлайн arduino ide колдонууну сунуштайм, бул керектүү китепкананы жүктөөнү абдан жеңилдетет.

  • Колдонмоңузду нерселер тармагында ачыңыз.
  • Түзмөктөр деп аталган талаа болушу керек, түзмөктү каттоону басыңыз.
  • сиз Device Id деп аталган талааны көрөсүз. бул сенсорго бергиңиз келген ат. Түзмөк EUI деп дагы бирөө болушу керек, бул сиздин arduino өзүн тастыктоо үчүн колдонгон уникалдуу ачкыч.
  • Бул ачкычты алуу үчүн биз ардуинону конкреттүү эскиз менен жаркыратышыбыз керек. Эскизди ары жактан тапса болот. Бул эскиз чуркап, сериялык монитордун үстүнөн eui жөнөтүшү керек. Сериялар мониторунан eui нерселер тармагындагы Түзмөк EUI талаасына көчүрүңүз.
  • Катталууну басыңыз.
  • Эми биз булдуга ардуинобузду каттадык. Билдирүүлөрдү жөнөтүүнү баштоого убакыт келди.
  • Сиз түзмөккө сереп салуу деп аталган баракка багытталышыңыз керек болчу. Бул жерде сиз түзмөгүңүздү eui, eui app жана колдонмо ачкычын көрө аласыз.
  • Улантуу үчүн, ардуиного акыркы эскизди чагылдыруу керек. Эскизди бул жерден тапса болот.
  • Бул шилтемени ачканыңызда, бир нече өтмөк бар экенин көрөсүз. Жашыруундар өтмөгүн ачыңыз. Заттар тармагынан сырлар файлына чейин күрөшүү үчүн 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 = {"температура": темп, "ным": нымдуу, "батарея": бат}; декоддолгон кайтаруу; } function bin2String (array) {var result = ""; үчүн (var i = 0; i <array.length; ++ i) {натыйжа+= (String.fromCharCode (массив )); } натыйжаны кайтаруу;}

  • Сактоону чыкылдатыңыз.
  • Ардуинону баштапкы абалга келтирип, маалымат өтмөгүңүздү көргөндө, сиз оңой окуй турган, жакшы форматталган json объектин көрүшүңүз керек.

6 -кадам: Колдонмоңузду AWSке туташтыруу

Биз AWSти нерселер тармагындагы маалыматтарды сактоо жана колдонуу үчүн колдонобуз. Биз колдоно турган бардык ресурстар AWSтин акысыз деңгээлинде камтылган.

  • AWSке өтүңүз
  • Кирүү же каттоо эсебин түзүү.
  • Колдонмоңузду тармактар тармагына AWSке туташтыруу үчүн, мен бул окуу куралын аткарууну сунуштайм:
  • Бул окуу куралын бүтүргөндөн кийин, aws консолунан IoT-Core сегментине өтүңүз.
  • Сол менюда "Башкаруу" деген жазуу бар, муну басыңыз.
  • Сиз азыр сенсордун аты жазылган картты көрүшүңүз керек.
  • Дагы сол менюда "Аракет" чыкылдатыңыз
  • Эгерде Дүкөн деген карта бар болсо, анда барсаңыз жакшы болот.
  • Болбосо, "Түзүү" дегенди басыңыз.
  • "Дүкөн" деген аталышты толтуруңуз.
  • Кааласаңыз сүрөттөмө кошо аласыз.
  • Суроо билдирүүсү катары төмөнкү кодду толтуруңуз: SELECT dev_id, metadata.time, payload_fields.temperature, payload_fields.moisture, payload_fields.battery FROM 'cactus_network/devices/+/up'.
  • "Бир же бир нече иш -аракеттерди коюу" астындагы Аракет кошууну чыкылдатыңыз.
  • "Кабарды DynamoDb столунун (DynamoDBv2) бир нече тилкеге бөлүү" дегенди тандаңыз.
  • Конфигурациялоону чыкылдатыңыз
  • Жаңы булакты түзүү чыкылдатыңыз.
  • Таблицаны түзүү үчүн басыңыз жана таблицаңызга ат коюңуз.
  • Негизги ачкычтын астына "dev_id" толтуруңуз.
  • Сорттоо ачкычын кошууну басыңыз
  • "Убакытты" толтуруңуз.
  • Түзүүнү чыкылдатыңыз.
  • Эгерде баары ойдогудай болсо, анда сиз конфигурациялоо барагына кайтып келишиңиз керек.
  • "Бул ишти аткаруу үчүн AWS IoT кирүүсүнө уруксат берүү үчүн ролду тандаңыз же түзүңүз" деген бөлүктүн алдында бир аз боз түс бар.
  • "Роль түзүү" баскычын чыкылдатып, бул ролго ат коюңуз.
  • Роль түзүү чыкылдатыңыз.
  • Аракет кошууну чыкылдатыңыз.
  • Эреже түзүү чыкылдатыңыз.
  • Эми сизде DynamoDbдеги нерселер тармагынан келген бардык билдирүүлөрдү автоматтык түрдө сактаган эреже болушу керек.
  • Сиз бул иштей тургандыгын ардуинону баштапкы абалга келтирүү менен текшере аласыз жана өзүңүз түзгөн DynamoDb таблицасына кайрылыңыз.
  • Билдирүү жазылган жазуу болушу керек.

7 -кадам: Lambda түзүү

DynamoDBден маалыматтарды окуу үчүн биз AWS лямбдасын жазабыз.

  • Кызматтардын астындагы AWS башкаруу консолунда "Lambda" деп аталган шилтеме бар, муну басыңыз.
  • Функцияны түзүү чыкылдатыңыз.
  • Атын тандаңыз.
  • Иш убактысын python 3.7ге коюңуз.
  • Функцияны түзүү чыкылдатыңыз.
  • Бул кодду интеграцияланган IDEге чаптаңыз.

json импорттоо

boto3 импорттоо убактысын datetime импорттоо, boto3.dynamodb.conditions импорттоо ачкыч, Attr def lambda_handler (окуя, контекст): retreive_data () def retreive_data (): # Кызмат булагын алуу. dynamodb = boto3.resource ('dynamodb') стол = dynamodb. Table ('TABLE NAME BERE') азыр = datetime.now () кечээ = азыр - timedelta (саат = 24) fe = Ачкыч ('убакыт'). ортосунда (Кечээ.isoformat (), now.isoformat ()) fed = Key ('time'). lt (Кечээ.isoformat ()) жооп = table.scan (FilterExpression = fe) recordsToDelete = table.scan (FilterExpression = fed) үчүн f in recordsToDelete ['Items']: #print (f) table.delete_item (Key = {'dev_id': f ['dev_id'], 'time': f ['time']}) data = жооп ['Items '] маалыматтарды кайтаруу

  • Сиз тандаган столдун атын өзгөртүңүз.
  • Аткаруу ролуна ылдый сыдырыңыз.
  • Саясаттын калыптарынан жаңы роль түзүү дегенди басыңыз.
  • Атын тандаңыз.
  • Саясат шаблондорунун астынан "Сыноолордун уруксаттарын" жана "Жөнөкөй микросервис уруксаттарын" тандаңыз.
  • Сактоону чыкылдатыңыз.
  • Тестти басыңыз.
  • Калкыма пайда болушу мүмкүн, жөн эле атын тандап, сактап коюңуз.
  • Кайра тестти басыңыз.
  • Үстүндө "Аткаруунун жыйынтыгы: ийгиликтүү болду" деп жазылган жашыл баннер болушу керек.
  • Бул баннерди чыкылдатканда, сиз бул функциянын чыгышын көрүшүңүз керек, бул сенсорлордун тизмеси болушу керек.
  • Сураныч, бул скрипт 24 сааттан ашкан бардык маалыматтарды жок кылаарын унутпаңыз.
  • Эгерде сиздин баннер жашыл эмес, кызыл болсо, анда сиз бир нерсени сагынып калдыңыз жана бул баннерди чыкылдатуу сизге толук ката берет. Бул учурда Google сиздин эң жакын досуңуз.

8 -кадам: APIдин акыркы чекитин түзүү

  • Кызматтардын астындагы AWS башкаруу консолунда "api-шлюз" деп аталган шилтеме бар, муну чыкылдатыңыз.
  • API түзүү чыкылдатыңыз.
  • "REST" жана "New API" экөө тең тандалганын текшериңиз.
  • Api үчүн ат тандаңыз.
  • API түзүү чыкылдатыңыз.
  • Азыр экранда аракеттер басылган баскыч болушу керек, аны басыңыз.
  • Андан кийин Ресурсту түзүү дегенди басыңыз.
  • Ресурстун аталышы катары, сиз "өсүмдүк" же "өсүмдүк-маалымат" сыяктуу жөнөкөй нерселерди колдонушуңуз керек.
  • Resource түзүү чыкылдатыңыз.
  • Сол жакта азыр сиз киргизген ат болушу керек. бул ысымды басыңыз.
  • Эми дагы аракеттерди чыкылдатып, эми ыкманы кошууну чыкылдатыңыз.
  • Getти тандаңыз.
  • Текшерүү белгисин басыңыз.
  • Lambda Function деп аталган текст кутусу болушу керек.
  • Бул жерге lambda функциясын берген ысымды киргизиңиз.
  • Сактоону чыкылдатыңыз.
  • Кошумча уруксаттарды жаратып жатканын эскерткен калкыма терезе болушу мүмкүн.
  • Бул калкып чыкманы кабыл алыңыз.
  • Эми аракеттердин астында корс иштетүүнү чыкылдатыңыз.
  • "CORSту иштетүү жана учурдагы CORS аталыштарын алмаштыруу" дегенди басыңыз.
  • "Ооба,…" чыкылдатыңыз.
  • Аракеттерди дагы бир жолу чыкылдатыңыз жана API жайылтууну чыкылдатыңыз.
  • Жайылтуу баскычында [Жаңы этапты] тандаңыз.
  • Атын тандаңыз.
  • Жайылтууну басыңыз.
  • Сиз азыр api онлайнду дүйнөгө жарыяладыңыз.
  • Сиз келген экранда азыр эле жаратылган ресурсту алуу үчүн "GET" дегенди басыңыз.
  • Үстүндө "URL чакыруу" деп белгиленген шилтеме болушу керек.
  • Бул шилтемени көчүрүү.
  • Аны браузерге чаптаңыз жана "Enter" баскычын басыңыз.
  • Сиз маалымат базасында турган маалыматтарды көрүшүңүз керек.

9 -кадам: Социалдык өсүмдүк тармагына өсүмдүгүңүздү туташтырыңыз

  • Http://bit.ly/social_plant_network дарегине өтүңүз.
  • "Кирүү" дегенди басыңыз.
  • Аккаунт түзүүнү басыңыз.
  • Каттоо эсебиңизди түзүү үчүн форманы толтуруңуз.
  • Сураныч, колдонуучунун аты сиздин электрондук почтаңыз болушу керек.
  • Аккаунт түзүүнү басыңыз.
  • Улантуудан мурун электрондук почтаңызды ырасташыңыз керек болушу мүмкүн.
  • Сиз кирген болушу керек.
  • Үй баракчасына кайтыңыз (жогорку сол бурчтагы логотипти басыңыз).
  • Орнотуулар баскычын чыкылдатыңыз.
  • Анкетаны толтуруңуз, ар бир талааны толтурушуңуз керек.
  • APIге шилтеме - бул APIдин акыркы чекитин түзгөнүңүздөн кийин сакталган шилтеме.
  • Баары толтурулганда, өсүмдүктү сактоо баскычын чыкылдатыңыз. система азыр сиз киргизген api шилтемесин текшерет жана эгер бул туура болсо, ал сиздин заводду тармакта сактап калат.
  • Башкы бетке кайтыңыз.
  • Сиз азыр бардык өсүмдүктөрдү чыкылдата аласыз, катталган бардык өсүмдүктөрдү көрө алышыңыз керек. Сиздин өсүмдүк да ошол жерде болушу керек. картты чыкылдатыңыз жана сиз өсүмдүгүңүздүн жалпы баракчасына өтөсүз, ал ошондой эле сиз орнотууларга койгон баалуулуктарга негизделген кеңештерди көрсөтөт.

10 -кадам: Артка таянып, өзүңүздү аркаңыздан сылаңыз

Сиз жаңы эле өсүмдүктү интернетке туташтырдыңыз. Аябай таасирдүү, туурабы?

Сунушталууда: