Mundarija:
- 1 -qadam: Ushbu loyihada ishlatilgan narsalar
- 2 -qadam: hikoya
- 3 -qadam: Uskuna ulanishi
- 4 -qadam: Bulutni sozlash
- 5 -qadam: dasturiy ta'minot
Video: IoTea LoRa Qarori (Azure bilan, 1812 -ni yangilang): 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Microsoft Azure - bulutli xizmat bo'lib, u yanada kuchli va barqaror hisoblash quvvatini beradi. Bu safar biz unga IoTea ma'lumotlarini yuborishga harakat qildik.
1 -qadam: Ushbu loyihada ishlatilgan narsalar
Uskuna komponentlari
- Grove - karbonat angidrid sensori (MH -Z16)
- Grove - Raqamli yorug'lik sensori
- Grove - chang sensori (PPD42NS)
- Grove-kislorod sensori (ME2-O2-F20)
- Tuproq namligi va harorat sensori
- LoRa LoRaWAN Gateway - Raspberry Pi 3 bilan 868 MGts to'plami
- Grove - Temp va Humi va barometr sensori (BME280)
Dasturiy ta'minot va onlayn xizmatlar
- Microsoft Visual Studio 2015
- Microsoft Azure
2 -qadam: hikoya
Sichuan, Yaanning shimoli -sharqidagi Mengding tog'ida, tog 'tizmasi g'arbdan sharqqa yashil dengizda oqadi. Dengiz sathidan 1100 m balandlikda joylashgan 50mu (= 3,3 gektar) plantatsiyaga ega bo'lgan 36 yoshli Deng, o'z avlodining kam sonli choy ishlab chiqaruvchilardan biri uchun eng tanish manzara. Deng choy ishlab chiqaruvchilar oilasidan, lekin oilaviy merosni davom ettirish oson ish emas. Bizning choylarimiz yuqori sifatda organik muhitda o'stiriladi va uning sifatini ta'minlaydi. Shu bilan birga, o'sish zichligi past, narxi yuqori va kurtaklari notekis bo'lib, choyni yig'ib olishni qiyinlashtiradi. Shuning uchun baland tog'li choylar odatda kichik hosil bo'lib, ularning qiymati bozorda aks ettirilmaydi.”So'nggi ikki yil mobaynida Deng o'z qadrini oshirish uchun iste'molchilarning baland tog'li choy haqida xabardorligini oshirishga harakat qilmoqda. Va u Seeedning IoTea texnologiyasini amalga oshirish uchun plantatsiya qidirayotgan Fan bilan uchrashganida, yechim uchun mukammal moslik topildi.
3 -qadam: Uskuna ulanishi
Uskunani ulash uchun oldingi qo'llanmani bajaring.
4 -qadam: Bulutni sozlash
Qadam 1. Resurslar guruhini yarating
Microsoft Azure -ga kirish uchun shu erni bosing. Va keyin, asboblar paneli chap tomonidagi ro'yxatga Resurs guruhlarini kiriting, Resurslar guruhini qo'shish uchun Qo'shish -ni bosing.
Resurslar guruhi loyihadagi barcha resurslarni boshqarish uchun ishlatiladi, bulutli manbalardan foydalangandan so'ng, to'lovlarni oldini olish uchun barcha manbalarni o'chirish uchun resurslar guruhini o'chirib tashlang. Ochilgan sahifada Resurslar guruhining nomini (masalan, iotea) to'ldiring, agar kerak bo'lsa Obuna va Resurslar guruhining manzilini tanlang, Resurslar guruhini yaratish uchun Yaratish -ni bosing.
Qadam 2. Iot Hub yaratish
Endi siz bulutli manbani yaratishingiz mumkin, chapda Resurs yaratish -ni bosing, Internet of Things - Iot Hub -ni tanlang, u yangi sahifani ochadi.
"Asoslar" yorlig'ida siz yaratgan Resurslar guruhini tanlang va Iot Hub nomini to'ldiring (masalan, iotea), agar kerak bo'lsa "Obuna" va "Hudud" ni tanlang, so'ng "Hajmi va o'lchamlari" yorlig'iga o'ting.
"Hajmi va o'lchovi" yorlig'ida F1: Bepul daraja yoki B1: Narxlashning asosiy darajasi va shkalali darajali kombinatsiyani tanlang, Asosiy daraja oyiga 10,00 AQSh dollarini tashkil qiladi. Nihoyat, "Ko'rib chiqish + yaratish" yorlig'iga o'ting va kiritganingizni tekshiring va Iot Hub yaratish uchun Yaratish -ni bosing.
3 -qadam. LORIOT -ni sozlang
O'zingiz yaratgan Iot Hub -ga kiring, "Umumiy foydalanish siyosati - qurilma" ni bosing, o'ngdagi sahifadagi asosiy kalitni nusxalash.
Yangi broker oynasini (yoki yorlig'ini) oching, LORIOT boshqaruv paneliga kiring, Ilova - SampleApp -ga o'ting, Boshqarish guruhidagi Ma'lumotlar chiqishi - O'zgartirish -ni bosing. Chiqish turini o'zgartirish guruhida Azure Iot Hub -ni tanlang, Iot Hub nomi va asosiy kalitini to'ldiring va pastdagi O'zgartirishni tasdiqlash tugmasini bosing.
Qadam 4. Iot qurilmasini qo'shing
LORIOT -da chapdagi ro'yxatdagi qurilmalar -ni bosing, qurilmangiz EUI -ni nusxalash.
Azure Iot Hub -ga qaytib, Iot Hub -ning chap tomonidagi ro'yxatdagi Iot -ni bosing. Qo'shish -ni bosing, ochilgan sahifada Device EUI -ni Device ID -ga to'ldiring.
MUHIM: EUI QURILMASIDAGI BARCHA SEPRATORNI O'CHIRING, u 1122334455667788 ga o'xshaydi.
Saqlash -ni bosing, hammasi tayyor.
Qadam 5. D2C (Qurilmadan bulutga) xabarlarini qabul qiling
D2C xabarlarini o'qish uchun siz Microsoft Docs -ga amal qilishingiz mumkin.
5 -qadam: dasturiy ta'minot
Dasturiy ta'minotni dasturlash 3 qismga bo'linadi: tugun, shlyuz va veb -sayt, iltimos, tugun qismi va shlyuz qismini dasturlash uchun oldingi qo'llanmani o'qing. Veb -sayt qismining 1-8 bosqichlari oldingi qo'llanma bilan bir xil.
Agar siz allaqachon Microsoft Azure -ni sozlagan bo'lsangiz, terminalni oching, veb -saytingizning ildiz papkasini kiriting, virtual muhitni yoqing:
cd ~/iotea-hb
manba qutisi/faollashtirish
Azure Event Hub modulini pip orqali o'rnating va new.py faylini yarating (masalan, iothub_recv.py):
pip azure-eventhub-ni o'rnating
iothub_recv.py ga teging
va keyin quyidagi kodlarni yozing:
# --------------------------------------------------------------------------------------------
# Mualliflik huquqi (c) Microsoft korporatsiyasi. Barcha huquqlar himoyalangan. # MIT litsenziyasi ostida litsenziyalangan. Litsenziya ma'lumotlari uchun loyiha ildizidagi License.txt ga qarang. # ------------------------------------------------- ------------------------------------------- azure-dan azure import eventhub-dan. eventhub import EventData, EventHubClient, ofset import jurnali logger = logging.getLogger ('azure.eventhub') import db, json, time, datetime def get_time (): cntime = datetime.datetime.now () + datetime.timedelta (hours = +8) sana = cntime.strftime ('%Y-{}-{}'). Format (cntime.strftime ('%m'). Zfill (2), cntime.strftime ('%d'). Zfill (2)) soat = cntime.strftime ('%H').zfill (2) daqiqa = cntime.strftime ('%M').zfill (2) sekund = cntime.strftime ('%S').zfill (2)) qaytish [sana, soat, daqiqa, soniya] def get_iothub_data (): list = ['0'] * 11 client = EventHubClient.from_iothub_connection_string ('', debug = True) qabul qiluvchi = client.add_receiver ("$ default", " 3 ", operatsiya = '/xabarlar/hodisalar', ofset = Ofset (datetime.datetime.utcnow ())) harakat qilib ko'ring: client.run () eh_info = client.get_eventhub_info () chop etish (eh_info) qabul qilingan = qabul qiluvchi.qabul qilish (vaqt tugashi) = 5) qabul qilingan element uchun bosma (qabul qilingan): men ssage = json.loads (str (item.message)) chop etish (xabar) agar xabarda "ma'lumotlar" bo'lsa: ma'lumotlar = xabar ['ma'lumotlar'] air_temp = str (int (ma'lumotlar [0: 2], 16)) air_hum = str (int (ma'lumotlar [2: 4], 16)) bosim = str (int ((ma'lumotlar [4: 8]), 16)) co2 = str (int (ma'lumotlar [8:12], 16)) chang = str (int (ma'lumotlar [12:16], 16)) yoritish = str (int (ma'lumotlar [16:20], 16)) o2 = str (dumaloq (int (ma'lumotlar [20:22], 16) / 10, 1)) tuproq_temp = str (int (ma'lumotlar [22:24], 16)) tuproq_xum = str (int (ma'lumotlar [24:26], 16)) kuchlanish = str (yumaloq (int (ma'lumotlar [26:28],) 16) / int ('ff', 16) * 5, 1)) xato = str (int (ma'lumotlar [28:], 16)) ro'yxat = [air_temp, air_hum, bosim, co2, chang, yorug'lik, o2, tuproq_temp, tuproq_xum, kuchlanish, xato] nihoyat: client.stop () qaytish ro'yxati esa True: list = get_time () + get_iothub_data () db.insert (ro'yxat) chop etish (ro'yxat)
Dasturni ishga tushirishdan oldin ulanish tarmog'ini o'zgartiring
mijoz = EventHubClient.from_iothub_connection_string ("", disk raskadrovka = To'g'ri)
Iot Hub -dagi umumiy foydalanish siyosati - iotauner -ni bosish orqali siz ulanish satrini olishingiz mumkin, ochilgan sahifadagi ulanish mag'lubiyatining asosiy kaliti bu ulanish satridir.
Shundan so'ng siz dasturni ishga tushirishingiz mumkin:
gunicorn iothub_recv: ilova
Tavsiya:
Heathkit Hero Jr robotini zamonaviy uskuna bilan yangilang: 4 qadam
Heathkit Hero Jr robotini zamonaviy uskuna bilan yangilang: Bu tugallangan loyihadan ko'ra ko'proq bajarilayotgan ish, o'qish paytida buni yodda saqlang. Bu robot haqida, men uni qayerdan olganim va u uchun rejalarim haqida bir oz. (2015 yil "Yulduzli urushlar kuni" loyihasidan olingan rasm) Ehtimol, 20 -yillarda
Oddiy LED chiziqli lampalar (LED chiziqlaringizni yangilang): 4 qadam (rasmlar bilan)
Oddiy LED chiziqli lampalar (LED chiziqlaringizni yangilang): Men uzoq vaqtdan beri LED chiziqlardan foydalanaman va ularning soddaligini doim yaxshi ko'raman. Siz shunchaki rolni kesib tashladingiz, unga simlarni lehimladingiz, quvvat manbaiga uladingiz va o'zingizga yorug'lik manbasini oldingiz. Yillar davomida men c ni topdim
DIY Mini DSO -ni ajoyib xususiyatlarga ega haqiqiy osiloskopga yangilang: 10 qadam (rasmlar bilan)
DIY Mini DSO -ni ajoyib xususiyatlarga ega haqiqiy osiloskopga yangilang: O'tgan safar men MCU yordamida mini -DSO -ni qanday qilish haqida gaplashdim, uni bosqichma -bosqich qanday qurishni bilish uchun, iltimos, mening oldingi ko'rsatmalarni o'qing: https: //www.instructables. com/id/O'zingizga Oskar qiling … Ko'pchilik bu loyihaga qiziqish bildirgani uchun, men bir oz vaqt o'tkazdim
IoTea LoRa qarori (yangilanish 1811): 5 qadam
IoTea LoRa Qarori (1811 -ni yangilash): Internet+ - hozir mashhur tushunchadir. Bu safar biz Internet va qishloq xo'jaligini sinab ko'rdik, choy bog'i Internet -choy bo'lib o'sdi
IPod Mini -ni flesh xotira bilan yangilang - qattiq disk yo'q!: 6 qadam (rasmlar bilan)
IPod Mini -ni flesh xotira bilan yangilang - boshqa qattiq disk yo'q !: Qattiq disk o'rniga, yangi yangilangan iPod tezroq yuklash uchun harakatlanuvchi qismlari bo'lmagan flesh -xotiradan foydalanadi & kirish vaqti va kam quvvat sarfi. (Men iPod -ni bir zaryadda 20 soatdan ortiq uzluksiz ishladim!). Siz ham Enhanni olasiz