Мазмуну:

Seeed IoTea LoRa Solution (Azure менен, Жаңыртуу 1812): 5 кадам
Seeed IoTea LoRa Solution (Azure менен, Жаңыртуу 1812): 5 кадам

Video: Seeed IoTea LoRa Solution (Azure менен, Жаңыртуу 1812): 5 кадам

Video: Seeed IoTea LoRa Solution (Azure менен, Жаңыртуу 1812): 5 кадам
Video: Seeed IoTea Lora Solution 2024, Июнь
Anonim
Seeed IoTea LoRa Solution (Azure менен, Жаңыртуу 1812)
Seeed IoTea LoRa Solution (Azure менен, Жаңыртуу 1812)

Microsoft Azure - бул кубаттуу жана туруктуу эсептөө кубатын камсыз кылган булут кызматы. Бул жолу биз ага IoTea маалыматыбызды жөнөтүүгө аракет кылдык.

1 -кадам: Бул долбоордо колдонулган нерселер

Аппараттык компоненттер

  • Grove - Көмүр кычкыл газы сенсору (MH -Z16)
  • Grove - Санариптик Жарык сенсору
  • Grove - Чаң сенсору (PPD42NS)
  • Grove-кычкылтек сенсору (ME2-O2-Ф20)
  • Топурактын нымдуулугу жана температура сенсору
  • LoRa LoRaWAN Gateway - Raspberry Pi 3 менен 868MHz комплект
  • Grove - Temp & Humi & Barometer Sensor (BME280)

Программалык камсыздоо жана онлайн кызматтары

  • Microsoft Visual Studio 2015
  • Microsoft Azure

2 -кадам: Окуя

Сичуань Яандын түндүк -чыгышындагы Мендинг тоосунда, тоо кыркасы батыштан чыгышка карай жашыл деңизде өтөт. Бул деңиз деңгээлинен 1100м бийиктикте жайгашкан 50му (= 3,3 гектар) плантациясы бар 36 жаштагы Дэнг, өзүнүн муунунун чанда аз сандагы чай кайнатуучуларынын бири үчүн эң тааныш көрүнүш. Дэн чай кайнатуучулардын үй -бүлөсүнөн чыккан, бирок үй -бүлөлүк мурасты улантуу оңой иш эмес. «Биздин чайлар мыкты сапатын камсыз кылуу үчүн органикалык чөйрөдө бийик тоолуу жерде өстүрүлөт. Бирок, ошол эле учурда, өсүмдүктүн тыгыздыгы төмөн, баасы жогору жана бүчүрлөрү бирдей эмес, чайды оруп -жыюу кыйын. Ошондуктан бийик тоолуу чайлар адатта кичинекей түшүм болуп саналат жана алардын баалуулуктары рынокто чагылдырылбайт.”Акыркы эки жылдан бери Дэн керектөөчүлөрдүн бийик тоолуу чай тууралуу маалыматын жогорулатуу үчүн аракет кылып келет. Жана ал Seeedдин IoTea технологиясын ишке ашыруу үчүн плантация издеп жүргөн Фан менен жолукканда, чечимге эң сонун дал келген.

3 -кадам: Аппараттык туташуу

Сураныч, аппараттык туташтыруу үчүн мурунку үйрөткүчтү аткарыңыз.

4 -кадам: Cloud Configure

Кадам 1. Ресурстар тобун түзүү

Microsoft Azure'га кирүү үчүн бул жерди басыңыз. Анан, панелдин сол жагындагы тизмеге Ресурстар топторун киргизип, Ресурстар тобун кошуу үчүн Кошууну чыкылдатыңыз.

Сүрөт
Сүрөт

Ресурстар тобу долбоордогу бардык ресурстарды башкаруу үчүн колдонулат, булут булактарын колдонгондон кийин, төлөмдөрдү болтурбоо үчүн бардык ресурстарды жок кылуу үчүн ресурстар тобун жок кылыңыз. Ачылган баракка Ресурстар тобунун аталышын толтуруңуз (мисалы, iotea), Керек болсо Жазылуу жана Ресурстар тобунун жайгашкан жерин тандап, Ресурстар тобун түзүү үчүн Түзүүнү чыкылдатыңыз.

Кадам 2. Iot Hub түзүү

Эми сиз булут булагын түзө аласыз, сол жактагы резерв түзүү дегенди басыңыз, Интернет нерселерин - Iot Hub тандаңыз, ал жаңы баракты ачат.

Негиздер өтмөгүндө, сиз жаңы эле жараткан Ресурстар тобун тандап, Iot Hub аталышын толтуруңуз (мисалы, иотеа), керек болсо Жазылууну жана Регионду тандап, анан Көлөм жана Склей өтмөгүнө кайрылыңыз.

Сүрөт
Сүрөт

Өлчөм жана масштаб өтмөгүндө F1 тандаңыз: Акысыз деңгээл же В1: Баалардагы негизги деңгээл жана масштабдуу деңгээл комбинациясы, Негизги деңгээлге айына 10.00 АКШ доллары керектелет. Акыр -аягы, карап чыгуу + түзүү өтмөгүнө кирип, текшерүүңүздү текшериңиз жана Iot Hub түзүү үчүн Түзүүнү чыкылдатыңыз.

Сүрөт
Сүрөт

3 -кадам. LORIOTту конфигурациялоо

Жаңы түзгөн Iot Hub'га кирип, Жалпы кирүү саясаты - түзмөктү чыкылдатыңыз, оң жактагы барактын Негизги ачкычын көчүрүңүз.

Сүрөт
Сүрөт

Жаңы броузер терезесин (же өтмөктү) ачыңыз, LORIOT Башкаруу Панелине кириңиз, Колдонмо - SampleAppка кайрылыңыз, Башкаруу тобундагы Маалыматтын чыгышы - Өзгөртүү дегенди басыңыз. Чыгыш түрүн өзгөртүү тобунда Azure Iot Hub тандап, Iot Hub Атыңызды жана Негизги ачкычыңызды толтуруп, астындагы Өзгөртүүнү ырастоо баскычын басыңыз.

Сүрөт
Сүрөт

Кадам 4. Iot аппаратты кошуу

LORIOT'то сол жактагы тизмедеги Түзмөктөрдү чыкылдатыңыз, Аспабыңыздын EUI көчүрүңүз.

Сүрөт
Сүрөт

Azure Iot Hubго кайтып, Iot Hubдын сол жагындагы тизмедеги Iot түзмөктөрүн чыкылдатыңыз. Кошуу баскычын чыкылдатыңыз, ачылган беттеги Device EUIди Device IDге толтуруңуз.

МААНИЛҮҮ: EUI ТҮЗҮМДӨ БАРДЫК СЕПРАТОРДУ ӨЧҮРҮҢҮЗ, 1122334455667788 окшош болсун.

Сүрөт
Сүрөт

Сактоону чыкылдатыңыз, баары бүттү.

Кадам 5. D2C (Аспаптан Булутка) билдирүүлөрдү алуу

Сиз Microsoft Docs'ту ээрчип D2C билдирүүлөрүн окуй аласыз.

5 -кадам: Программалык камсыздоо

Программалык камсыздоо 3 бөлүккө бөлүнөт: Node, Gateway жана Website, Node Part and Gateway Part программаларын мурунку үйрөткүчтү аткарыңыз. Вебсайт бөлүгүнүн 1ден 8ге чейинки кадамдары мурунку окуу куралы менен бирдей.

Эгерде сиз мурунтан эле Microsoft Azure конфигурацияланган болсоңуз, терминалды ачыңыз, веб -сайтыңыздын түпкү папкасын киргизиңиз, виртуалдык чөйрөнү жандырыңыз:

cd ~/iotea-hb

булак бин/жандандыруу

Azure Event Hub модулун pip аркылуу орнотуңуз жана new.py файлын түзүңүз (мисалы, iothub_recv.py):

azure-eventhub орнотуу

тийүү iothub_recv.py

анан ага чейин коддорду жазыңыз:

# --------------------------------------------------------------------------------------------

# Автордук укук (c) Microsoft Corporation. Бардык укуктар корголгон. # MIT лицензиясынын астында лицензияланган. Лицензия маалыматы үчүн долбоордун тамырынан License.txt караңыз. # ------------------------------------------------- ------------------------------------------- азурдан импорттук eventhubдан. eventhub импорттоо EventData, EventHubClient, Offset импорттук журналдарды каттоочу = logging.getLogger ('azure.eventhub') импорттоо дб, json, убакыт, дате deff get_time (): cntime = datetime.datetime.now () + datetime.timedelta (сааттар = +8) дата = cntime.strftime ('%Y-{}-{}'). Формат (cntime.strftime ('%m'). Zfill (2), cntime.strftime ('%d'). Zfill (2)) саат = cntime.strftime ('%H'). Zfill (2) мүнөт = cntime.strftime ('%M'). Zfill (2) экинчи = cntime.strftime ('%S'). Zfill (2)) кайтуу [күн, саат, мүнөт, секунд] def get_iothub_data (): list = ['0'] * 11 client = EventHubClient.from_iothub_connection_string ('', debug = True) ресивер = client.add_receiver ("$ default", " 3 ", операция = '/билдирүүлөр/окуялар', офсет = Офсэт (datetime.datetime.utcnow ())) аракет кылыңыз: client.run () eh_info = client.get_eventhub_info () басып чыгаруу (eh_info) алынды = алуучу.кабыл алуу (күтүү убакыты) = 5) алынды: пунктундагы пункт үчүн басып чыгаруу (алуу) ssage = json.loads (str (item.message)) басып чыгаруу (билдирүү) эгерде 'data' билдирүүдө: data = message ['data'] air_temp = str (int (data [0: 2], 16)) air_hum = str (int (маалымат [2: 4], 16)) басым = str (int ((маалымат [4: 8]), 16)) co2 = str (int (маалыматтар [8:12], 16)) чаң = str (int (маалымат [12:16], 16)) жарыктандыруу = str (int (маалымат [16:20], 16)) o2 = str (тегерек (int (маалыматтар [20:22], 16) / 10, 1)) tuproq_temp = str (int (маалымат [22:24], 16)) tuproq_hum = str (int (маалымат [24:26], 16)) чыңалуу = str (тегерек (int (маалыматтар [26:28], 16) / int ('ff', 16) * 5, 1)) ката = str (int (маалыматтар [28:], 16)) тизме = [air_temp, air_hum, басым, co2, чаң, жарык, o2, tuproq_temp, tuproq_hum, чыңалуу, ката] акыры: client.stop () кайтаруу тизмеси, ал эми True: list = get_time () + get_iothub_data () db.insert (тизме) басып чыгаруу (тизме)

Программаны иштетүүдөн мурун, туташуу сапыңызды өзгөртүңүз

кардар = EventHubClient.from_iothub_connection_string ('', мүчүлүштүктөрдү чыгаруу = Чын)

Iot Hubдагы iotowner деген жалпы кирүү саясатын чыкылдатуу менен туташуу сабын ала аласыз, ачылган беттеги Connection string -primnary ачкычы байланыш сабы.

Сүрөт
Сүрөт

Андан кийин программаны баштасаңыз болот:

gunicorn iothub_recv: колдонмо

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