Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Microsoft Azure adalah layanan cloud yang menyediakan daya komputasi yang lebih kuat dan stabil. Kali ini kami mencoba mengirimkan data IoTea kami ke sana.
Langkah 1: Hal-hal yang Digunakan dalam Proyek Ini
Komponen perangkat keras
- Grove - Sensor Karbon Dioksida (MH-Z16)
- Grove - Sensor Cahaya Digital
- Grove - Sensor Debu PPD42NS)
- Grove - Sensor Oksigen (ME2-O2-Ф20)
- Sensor Kelembaban & Suhu Tanah
- LoRa LoRaWAN Gateway - Kit 868MHz dengan Raspberry Pi 3
- Grove - Sensor Suhu & Humi & Barometer (BME280)
Aplikasi perangkat lunak dan layanan online
- Microsoft Visual Studio 2015
- Microsoft Azure
Langkah 2: Cerita
Di Gunung Mengding di timur laut Ya'an, Sichuan, punggungan gunung membentang dari barat ke timur dalam lautan hijau. Ini adalah pemandangan yang paling akrab bagi Deng, 36 tahun, salah satu dari sedikit pembuat teh Mengding dari generasinya, dengan perkebunan 50mu (= 3,3 hektar) yang terletak di 1100m di atas permukaan laut. Deng berasal dari keluarga pembuat teh, tetapi meneruskan warisan keluarga bukanlah tugas yang mudah. “Teh kami ditanam di dataran tinggi di lingkungan organik untuk memastikan kualitasnya yang sangat baik. Tetapi pada saat yang sama, kepadatan pertumbuhan rendah, biaya tinggi dan tunas tidak merata, membuat teh sulit dipanen. Itu sebabnya teh gunung tinggi biasanya panen kecil dan nilainya tidak tercermin di pasar.” Selama dua tahun terakhir, Deng telah berusaha meningkatkan kesadaran konsumen akan teh gunung tinggi untuk mempromosikan nilainya. Dan ketika dia bertemu Fan, yang sedang mencari perkebunan untuk mengimplementasikan teknologi IoTea Seeed, solusi yang cocok dibuat.
Langkah 3: Koneksi Perangkat Keras
Silakan ikuti Tutorial Sebelumnya untuk menghubungkan perangkat keras Anda.
Langkah 4: Konfigurasi Cloud
Langkah 1. Buat Grup Sumber Daya
Klik di sini untuk masuk ke Microsoft Azure. Dan kemudian, masukkan Grup sumber daya dalam daftar di sebelah kiri dasbor, klik Tambah untuk menambahkan Grup Sumber Daya.
Grup Sumber Daya digunakan untuk mengelola semua sumber daya dalam proyek, setelah menggunakan sumber daya cloud, hapus grup sumber daya untuk menghapus semua sumber daya untuk menghindari biaya. Di halaman yang terbuka, isi nama grup Sumber Daya (seperti iotea), pilih Berlangganan dan Lokasi grup sumber daya jika diperlukan, klik Buat untuk membuat Grup Sumber Daya.
Langkah 2. Buat Hub Iot
Sekarang Anda dapat membuat sumber daya cloud, klik Buat sumber daya di sebelah kiri, pilih Internet of Things - Iot Hub, itu akan membuka halaman baru.
Di tab Dasar, pilih Grup Sumber Daya yang baru saja Anda buat, dan isi Nama Hub Iot (seperti iotea), pilih Langganan dan Wilayah jika diperlukan, lalu buka tab Ukuran dan scle.
Di tab Ukuran dan skala, pilih F1: Tingkat gratis atau B1: Tingkat dasar dalam harga dan kombo tingkat skala, Tingkat Dasar akan memakan biaya 10,00 USD per bulan. Terakhir, buka tab Tinjau + buat, periksa input Anda dan klik Buat untuk membuat Hub Iot.
Langkah 3. Konfigurasikan LORIOT
Masukkan Iot Hub yang baru saja Anda buat, klik Kebijakan akses bersama - perangkat, salin Kunci utama di halaman di sebelah kanan.
Buka jendela browser baru (atau tab), login Panel Kontrol LORIOT Anda, buka Aplikasi - SampleApp, klik Output data di grup Kontrol - Ubah. Di grup Ubah tipe keluaran, pilih Azure Iot Hub, isi Nama Hub Iot dan Kunci utama Anda, dan klik tombol Konfirmasi perubahan di bagian bawah.
Langkah 4. Tambahkan perangkat Iot
Klik Perangkat dalam daftar di sebelah kiri di LORIOT, salin EUI Perangkat Anda.
Kembali ke Azure Iot Hub, klik Perangkat Iot dalam daftar di sebelah kiri Iot Hub. Klik Add, isi Device EUI ke Device ID di halaman yang terbuka.
PENTING: HAPUS SEMUA SEPRATOR DI DEVICE EUI, biar terlihat seperti 1122334455667788.
Klik Simpan, semua selesai.
Langkah 5. Terima Pesan D2C (Perangkat ke Cloud)
Anda dapat mengikuti Microsoft Docs untuk membaca Pesan D2C.
Langkah 5: Pemrograman Perangkat Lunak
Pemrograman Perangkat Lunak dibagi menjadi 3 bagian: Node, Gateway dan Situs Web, silakan ikuti Tutorial Sebelumnya untuk memprogram Bagian Node dan Bagian Gateway. Langkah 1 hingga 8 dari Bagian Situs Web juga sama dengan Tutorial Sebelumnya.
Jika Anda sudah mengonfigurasi Microsoft Azure, buka terminal, masukkan folder root situs web Anda, aktifkan lingkungan virtual:
cd ~/iotea-hb
sumber bin/aktifkan
instal modul Azure Event Hub melalui pip, dan buat file new.py (seperti iothub_recv.py):
pip install Azure-eventhub
sentuh iothub_recv.py
dan kemudian tulis kode berikut ini:
# --------------------------------------------------------------------------------------------
# Hak Cipta (c) Microsoft Corporation. Seluruh hak cipta. # Dilisensikan di bawah Lisensi MIT. Lihat License.txt di root proyek untuk informasi lisensi. # -------------------------------------------------- ------------------------------------------- dari azure import eventhub dari azure. eventhub import EventData, EventHubClient, Offset import logging logger = logging.getLogger('azure.eventhub') import db, json, time, datetime def get_time(): cntime = datetime.datetime.now() + datetime.timedelta(jam = +8) tanggal = cntime.strftime('%Y-{}-{}').format(cntime.strftime('%m').zfill(2), cntime.strftime('%d').zfill(2)) jam = cntime.strftime('%H').zfill(2) menit = cntime.strftime('%M').zfill(2) detik = cntime.strftime('%S').zfill(2) return [tanggal, jam, menit, detik] def get_iothub_data(): list = ['0'] * 11 client = EventHubClient.from_iothub_connection_string('', debug=True) receiver = client.add_receiver("$default", " 3", operation='/messages/events', offset = Offset(datetime.datetime.utcnow())) coba: client.run() eh_info = client.get_eventhub_info() print(eh_info) diterima = receiver.receive(timeout =5) print(diterima) untuk barang yang diterima: saya ssage = json.loads(str(item.message)) print(message) jika 'data' dalam pesan: data = message['data'] air_temp = str(int(data[0:2], 16)) air_hum = str(int(data[2:4], 16)) tekanan = str(int((data[4:8]), 16)) co2 = str(int(data[8:12], 16)) debu = str(int(data[12:16], 16)) iluminasi = str(int(data[16:20], 16)) o2 = str(bulat(int(data[20:22], 16) / 10, 1)) soil_temp = str(int(data[22:24], 16)) soil_hum = str(int(int(data[24:26], 16)) voltage = str(round(int(data[26:28], 16) / int('ff', 16) * 5, 1)) error = str(int(data[28:], 16)) list = [suhu_udara, hum_udara, tekanan, co2, debu, penerangan, o2, suhu_tanah, soil_hum, voltage, error] akhirnya: client.stop() mengembalikan daftar sementara True: list = get_time() + get_iothub_data() db.insert(list) print(list)
Sebelum Anda menjalankan program, ubah string koneksi Anda di
klien = EventHubClient.from_iothub_connection_string('', debug=True)
Anda bisa mendapatkan string koneksi Anda dengan mengklik Kebijakan akses bersama - pemilik iot di Iot Hub, kunci utama string koneksi di halaman yang dibuka adalah string koneksi.
Setelah itu, Anda dapat memulai program:
gunicorn iothub_recv:app