Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Membangun Termometer IoT dengan Python: Panduan Lengkap

Komponen dan Perlengkapan

MikroE Flip & Click
× 1
Membangun Termometer IoT dengan Python: Panduan Lengkap
Arduino Due
× 1
Membangun Termometer IoT dengan Python: Panduan Lengkap
Particle Photon
× 1
Membangun Termometer IoT dengan Python: Panduan Lengkap
Papan Breakout NodeMCU ESP8266
× 1
Membangun Termometer IoT dengan Python: Panduan Lengkap
SparkFun Photon RedBoard
× 1
MikroE Temp&Hum Click
× 1
MikroE WiFi Plus Click
× 1
Membangun Termometer IoT dengan Python: Panduan Lengkap
Espressif Wemos D1 Mini
× 1
Membangun Termometer IoT dengan Python: Panduan Lengkap
Arduino Zero
× 1

Aplikasi dan Layanan Online

Membangun Termometer IoT dengan Python: Panduan Lengkap
Zerynth Studio

Tentang Proyek Ini

Membangun Termometer IoT dengan Python: Panduan Lengkap

Aplikasi Zerynth

Aplikasi Zerynth adalah aplikasi seluler untuk Android dan iOS yang memungkinkan prototyping cepat dari antarmuka grafis untuk proyek IoT Anda.

Dengan Aplikasi Zerynth Anda dapat mengubah ponsel mana saja menjadi pengontrol dan layar untuk objek pintar dan sistem IoT! Secara khusus, Anda dapat mengelola dan mengontrol perangkat yang terhubung yang diprogram dengan Zerynth, mengaktifkan saluran komunikasi dua arah antara mereka dan ponsel Anda.

Dalam tutorial ini, kita akan melihat cara mengembangkan termometer IoT yang sederhana tetapi canggih, menggunakan mikrokontroler papan tunggal yang didukung Zerynth dan Aplikasi Zerynth sebagai layar jarak jauh.

Bahan yang Diperlukan

Pertama-tama, Anda membutuhkan papan. Anda dapat memilih salah satu dari 32 perangkat mikrokontroler bit yang didukung oleh Zerynth. Kami telah memilih Flip&Click oleh Mikroelektronika, yang berbagi banyak atribut yang sama dengan platform Arduino populer, termasuk 32-bit AT91SAM3X8E oleh Microchip, inti dari Arduino Due.

Untuk mengukur suhu kami telah memilih Temp&Hum Click, yang membawa sensor suhu dan kelembaban relatif HTS221.

Untuk menghubungkan papan ke internet kami telah memilih WiFi PLUS Click, yang menampilkan modul MRF24WB0MA – 2.4GHz, IEEE std. 802.11 – yang sesuai dari Microchip, serta pengontrol pendamping MCW1001 dengan stack TCP/IP bawaan dan manajer koneksi 802.11.

Terakhir tetapi tidak kurang penting, Anda membutuhkan:

Mengatur Termometer IoT Anda

Flip&Click adalah sepupu dua sisi Arduino. Di satu sisi itu adalah Arduino. Namun di sisi lain, Anda akan menemukan empat soket mikroBUS terbuka untuk apa yang disebut perusahaan sebagai “click boards.” Pada dasarnya, ini adalah modul tambahan yang mirip dengan shield Arduino, tetapi dikecilkan sehingga Anda dapat memasang beberapa pada Flip & click tanpa masalah apa pun. Cukup tambahkan Temp&Hum dan Wifi Plus clicks ke papan, masing-masing di slot A dan B.

Cara Memrogram Termometer IoT menggunakan Python

Kloning Contoh

Setelah Anda menginstal Zerynth Studio dan membuat pengguna Zerynth, Anda dapat mengkloning contoh “Zerynth App Oscilloscope“. Lihat di sini untuk mempelajari cara mengkloning contoh.

Membangun Termometer IoT dengan Python: Panduan Lengkap

Mari kita lihat kode asli dalam file “main.py”: inilah tempat Anda mengembangkan logika skrip Python Anda. Kami akan mulai dari kode asli lalu mengedit skrip untuk mengembangkan proyek spesifik kami.

################################################################################ # IoT Thermometer ################################################################################ from wireless import wifi # this example is based on Particle Photon # change the following line to use a different wifi driver from broadcom.bcm43362 import bcm43362 as wifi_driver import streams import adc # Import the Zerynth APP library from zerynthapp import zerynthapp streams.serial() sleep(1000) print("STARTING...") try: # Device UID and TOKEN can be created in the ADM panel zapp = zerynthapp.ZerynthApp("DEVICE UID", "DEVICE TOKEN", log=True) # connect to the wifi network (Set your SSID and password below) wifi_driver.auto_init() for i in range(0,5): try: wifi.link("SSID",wifi.WIFI_WPA2,"PASSWORD") break except Exception as e: print("Can't link",e) else: print("Impossible to link!") while True: sleep(1000) # Start the Zerynth app instance! # Remember to create a template with the files under the "template" folder you just cloned # upload it to the ADM and associate it with the connected device zapp.run() # Read ADC and send values to the ADM while True: sleep(1000) x = (adc.read(A4)*100)//4096 zapp.event({"data":x}) if x>95: # send mobile notification # (there is a limit of one notification per minute per device on the ADM sandbox) zapp.notify("ALARM!","The value is greater than 95!") except Exception as e: print(e) 

Dalam contoh sederhana ini, osiloskop grafis divisualisasikan oleh Aplikasi Zerynth dengan data yang datang dari papan yang terhubung. Data diperoleh dari sensor analog oleh pin “analog” A4.

Impor driver wifi dan library sensor yang tepat

Seperti yang Anda lihat dalam komentar, contoh ini didasarkan pada papan Particle Photon dan driver wifi-nya. Karena kita ingin menggunakan WiFi Plus Click, kita harus mengubah baris berikut:

from broadcom.bcm43362 import bcm43362 as wifi_driver 

ke

from microchip.mcw1001a import mcw1001a as wifi_driver 

dan

 wifi_driver.auto_init() 

ke

 wifi_driver.init(SERIAL2,D24) # slot B 

Kemudian, kita ingin menggunakan sensor suhu dari Temp&Hum Click. Jadi, kita harus menambahkan baris berikut untuk mengimpor library dan menyiapkan sensor, seperti yang dapat Anda baca dalam dokumentasi:

# Import the HTS221 library from stm.hts221 import hts221 temp_hum = hts221.HTS221(I2C0, D21) # slot A 

Untuk membaca sensor, cukup tulis baris berikut, di mana diperlukan:

 tmp, hum = temp_hum.get_temp_humidity() # Read tmp and hum 

Siapkan nama SSID dan PASSWORD

Tentu saja, Anda juga harus mengedit nama SSID dan PASSWORD dari jaringan wifi yang ingin Anda hubungkan ke papan, dengan mengedit baris ini:

 wifi.link("SSID",wifi.WIFI_WPA2,"PASSWORD") 

Buat dan siapkan perangkat terhubung

Sekarang kita harus membuat “perangkat terhubung” dan menghubungkan instance “zerynthapp” ke itu. Di bawah ini Anda dapat melihat beberapa tangkapan layar dengan langkah yang diperlukan. Lihat dokumen ini untuk detail teknis lebih lanjut.

Membangun Termometer IoT dengan Python: Panduan Lengkap

Kredensial perangkat (UID dan TOKEN) dapat disalin dan ditempel langsung dari Zerynth Studio (panel ADM). “IP” adalah alamat ip Zerynth ADM. Argumen ini digunakan ketika driver jaringan tidak mendukung resolusi nama host, seperti dalam kasus ini.

Membangun Termometer IoT dengan Python: Panduan Lengkap

Buat, unggah, dan atur template

Melalui Aplikasi Zerynth Anda dapat menjalankan Antarmuka Pengguna Grafis yang responsif dan indah menggunakan HTML, CSS dan JavaScript. Tidak perlu kode Android atau iOS!

Antarmuka grafis setiap perangkat dihosting di sandbox Zerynth ADM dan terdiri dari serangkaian file HTML5, Javascript, CSS dan gambar yang dimuat dan ditampilkan di aplikasi. Menambahkan Library Javascript ADM ke template memungkinkan aplikasi untuk berinteraksi dengan perangkat yang terhubung baik menerima maupun mengirim pesan.

Template dapat ditambahkan dengan mengklik ikon “plus” yang sesuai.

Membangun Termometer IoT dengan Python: Panduan Lengkap

Kemudian unggah template dari folder khusus. Perhatikan bahwa file tempat template didefinisikan disebut “index.html” dan Anda dapat mengeditnya sesuai keinginan. Dalam kasus ini, Anda dapat membiarkannya seperti apa adanya.

Membangun Termometer IoT dengan Python: Panduan Lengkap

Uplink skrip

Setelah beberapa edit, kode harus terlihat seperti ini:

################################################################################ # IoT Thermometer ################################################################################ from wireless import wifi from microchip.mcw1001a import mcw1001a as wifi_driver import streams import adc streams.serial() # Import the Zerynth APP library from zerynthapp import zerynthapp # Import the HTS221 library from stm.hts221 import hts221 temp_hum = hts221.HTS221(I2C0, D21) # slot A sleep(1000) print("STARTING...") try: # Device UID and TOKEN can be created in the ADM panel zapp = zerynthapp.ZerynthApp("DEVICE UID", "DEVICE TOKEN",ip = "178.22.65.123", log=True) # connect to the wifi network (Set your SSID and password below) wifi_driver.init(SERIAL2,D24) # slot B for i in range(0,5): try: wifi.link("SSID",wifi.WIFI_WPA2,"PASSWORD") break except Exception as e: print("Can't link",e) else: print("Impossible to link!") while True: sleep(1000) # Start the Zerynth app instance! # Remember to create a template with the files under the "template" folder you just cloned # upload it to the ADM and associate it with the connected device zapp.run() # Read the sensor and send values to the ADM while True: sleep(1000) tmp, hum = temp_hum.get_temp_humidity() # Read tmp and hum print("Temp is:", tmp, "Humidity is:", hum) try: zapp.event({"data":tmp}) except Exception as e: print(e) if tmp>30: # send mobile notification # (there is a limit of one notification per minute per device on the ADM sandbox) try: zapp.notify("ALARM!","High Temperature!") except Exception as e: print(e) except Exception as e: print(e) 

Ingatlah bahwa “DEVICE UID”, “DEVICE TOKEN”, “SSID” dan “PASSWORD” harus diedit untuk cocok dengan parameter Anda sendiri.

Pada titik ini, Anda dapat mengunggah skrip ke perangkat Anda.

Cara melihat dasbor Termometer IoT di Aplikasi Zerynth

Seperti yang Anda baca dalam tutorial yang sangat singkat ini, Anda hanya perlu membuka Aplikasi Zerynth, masuk dan pilih perangkat tertentu untuk melihat dasbor Termometer IoT Anda. Terakhir, Aplikasi Zerynth juga dapat menerima push notifications dari perangkat yang terhubung. Dalam kasus ini, notifikasi akan muncul ketika suhu lebih besar dari ambang!

Membangun Termometer IoT dengan Python: Panduan Lengkap

Jika Anda memiliki pertanyaan jangan ragu untuk membuka diskusi di forum komunitas Zerynth.

Enjoy!

Kode

Termometer IoTPython
################################################################################ # Zerynth App Oscilloscope ################################################################################ from wireless import wifi from microchip.mcw1001a import mcw1001a as wifi_driver import streams import adc streams.serial() # Import the Zerynth APP library from zerynthapp import zerynthapp # Import the HTS221 library from stm.hts221 import hts221 temp_hum = hts221.HTS221(I2C0, D21) # slot A sleep(1000) print("STARTING...") try: # Device UID and TOKEN can be created in the ADM panel zapp = zerynthapp.ZerynthApp("DEVICE UID", "DEVICE TOKEN",ip = "178.22.65.123", log=True) # connect to the wifi network (Set your SSID and password below) wifi_driver.init(SERIAL2,D24) # slot B for i in range(0,5): try: wifi.link("SSID",wifi.WIFI_WPA2,"PASSWORD") break except Exception as e: print("Can't link",e) else: print("Impossible to link!") while True: sleep(1000) # Start the Zerynth app instance! # Remember to create a template with the files under the "template" folder you just cloned # upload it to the ADM and associate it with the connected device zapp.run() # Read the sensor and send values to the ADM while True: sleep(1000) tmp, hum = temp_hum.get_temp_humidity() # Read tmp and hum print("Temp is:", tmp, "Humidity is:", hum) try: zapp.event({"data":tmp}) except Exception as e: print(e) if tmp>30: # send mobile notification # (there is a limit of one notification per minute per device on the ADM sandbox) try: zapp.notify("ALARM!","High Temperature!") except Exception as e: print(e) except Exception as e: print(e) 

Skematik

Membangun Termometer IoT dengan Python: Panduan Lengkap

Proses manufaktur

  1. Termometer: Dari Termoskop Galileo hingga Sensor Digital Modern
  2. Sensor Suhu Infra Merah TMP006 dengan Raspberry Pi: Panduan Library Python & Pengaturan
  3. Membuat Sensor Suhu Jarak Jauh dengan Raspberry Pi dan Python – Panduan Langkah demi Langkah
  4. Menguasai Papan PSoC 6 Pioneer dengan IoT Add-On Shield: Panduan untuk Pengembang
  5. Bagaimana IoT Mengubah Kehidupan Sehari-hari
  6. Instal Python dan PyCharm di Windows: Panduan Langkah demi Langkah
  7. Cara Mengganti Nama File dan Direktori dalam Python dengan os.rename() – Panduan Langkah demi Langkah
  8. Otomatisasi Login Facebook dengan Python dan Selenium: Panduan Langkah demi Langkah
  9. Menghitung Rata-rata di Python: Panduan Praktis
  10. Mengirim Email dengan Python SMTP: Panduan Cepat dan Mudah