Mündəricat:
- Addım 1: BoM - Material Bill
- Addım 2: Hw
- Addım 3: Micropython, REPL, Jupyter
- Addım 4: Sensorlar
- Addım 5: Bütün Sensor Verilərinin Yerli Olaraq Alınması və Göstərilməsi
- Addım 6: ESP Başlanğıcında Yerli Stansiya Kodunu Çalışdırın
- Addım 7: ESP -ni Yerli WiFi -yə bağlayın
- Addım 8: ThingSpeak
- Addım 9: MQTT Protokolu və ThingSpeak Bağlantısı
- Addım 10: Sensor Data Logger
- Addım 11: ThingView Tətbiqi
- Addım 12: Nəticə
Video: IoT Asanlığı: ESP-MicroPython-MQTT-ThingSpeak: 12 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Əvvəlki dərsliyimdə, Jupyter istifadə edərək ESP üzrə MicroPython, bir ESP cihazına MicroPython -un necə qurulacağını və işlədiləcəyini öyrəndik. İnkişaf mühiti olaraq Jupyter Notebook-dan istifadə edərək, sensorlardan oxumağı da öyrəndik (Temperatur, Rütubət və Parlaqlıq), Analoq, Rəqəmsal, 1-Telli və I2C bir neçə ünsiyyət protokollarından və metodlarından istifadə edirik. OLED displeydəki məlumatlar.
İndi, bir MQTT protokolu istifadə edən bu təlimatda, əldə edilən bütün məlumatları əldə edərək onları IoT xidmətinə, ThingSpeak.com -a və məlumatlarla daxil olub oynaya biləcəyimiz mobil tətbiqə (Thingsview) göndərəcəyik.
Budur, layihəmizin blok diaqramı:
Addım 1: BoM - Material Bill
- NodeMCU - 8.39 ABŞ dolları
- DHT22 Temperatur və Nisbi Nəmlik Sensoru - USD 9.95
- DS18B20 Su keçirməyən Temperatur Sensoru - 5.95 USD
- OLED Ekran SSD1366- USD 8.99 (isteğe bağlı)
- LDR (1x)
- LEDlər (1x) (İsteğe bağlı)
- Düymə (1x)
- Rezistor 4K7 ohm (2x)
- Rezistor 10K ohm (1x)
- Rezistor 220 ohm (1x)
Addım 2: Hw
Burada istifadə edəcəyimiz Hw, təlimatda istifadə olunanla eynidir: Jupyter istifadə edərək ESP -də Micropython. Bütün HW əlaqələri üçün ona baxın.
İstisna Servo, bu layihədə istifadə edilməyəcəyimizdir.
Yuxarıda tam HW -ni görə bilərsiniz. Cihazları orada göstərildiyi kimi bağlayın.
Addım 3: Micropython, REPL, Jupyter
ESP cihazınıza yüklənmiş bir Micropython tərcüməçiniz olmalıdır. Yükləndikdən sonra, ESP -ni mövcud olan hər hansı bir yolu/IDE -dən istifadə edərək proqramlaşdırmalısınız:
- REPL
- Jupyter Noutbuku
- Mu
- ESPCut (yalnız Windows)
- … Və s
Dərsliyimdə, Jupyter istifadə edərək ESP haqqında Micropython, ESP cihazlarını idarə etmək üçün MicroPython tərcüməçisini, ESPToolu necə yükləyib quracağımı və İnkişaf Mühiti olaraq Jupyter Notebook -dan necə istifadə edəcəyimi izah etdim. Sizin üçün daha rahat olanı istifadə etməkdən çekinmeyin.
Adətən bütün inkişafı Jupyter Notebook -da edirəm və son kodu əldə etdikdən sonra onları Geany -ə kopyalayıram və Ampy istifadə edərək ESP -ə yükləyirəm.
Addım 4: Sensorlar
Kitabxanaları quraşdıraq, GPIO təyin edək, ayrı -ayrı bütün sensorlar üçün obyektlər, funksiyalar yaradaq:
A. DHT (Temperatur və Rütubət)
DHT kitabxanasını quraq və bir obyekt yaradaq:
DHT22 idxalından
maşın idxalından Pin dht22 = DHT22 (Pin (12))
İndi DHT sensorunu oxumaq üçün bir funksiya yaradın:
def readDht ():
dht22. ölçü () qayıt dht22.sıcaklıq (), dht22. rütubət () DHT funksiyasını yoxlayın
çap et (readDht ())
Nəticə belə olmalıdır:
(17.7, 43.4)
B. DS18B20 (Xarici Temperatur)
Kitabxanaları quraşdıraq və bir obyekt yaradaq:
onewire idxal edin, ds18x20
idxal vaxtı # 1 telli cihazın hansı pinlə bağlanacağını təyin edin ==> pin 2 (D4) dat = Pin (2) # onewire obyekti yaradın ds = ds18x20. DS18X20 (onewire. OneWire (dat)) Bu cihazları axtarın
sensorlar = ds.scan ()
çap ('tapılan cihazlar:', sensorlar)
Çap olunan nəticə həqiqətən vacib deyil, bizə lazım olan ilk aşkarlanan sensordur: sensorlar [0]. İndi sensor məlumatlarını oxumaq üçün bir funksiya qura bilərik:
def readDs ():
ds.convert_temp () time.sleep_ms (750) qayıt ds.read_temp (sensorlar [0])
Yaradılmış funksiyadan istifadə edərək sensoru yoxlamaq həmişə vacibdir
çap (readDs ()) Bir temperatur dəyəri alsanız, kodunuz doğrudur
17.5
C. LDR (Parlaqlıq)
LDR, ESP -nin analoq pinindən istifadə edəcək (ESP8266 -da yalnız bir və ESP32 -də birdir).
Ətraflı məlumat üçün ESP32 dərsliyimə baxın.
Əvvəlki kimi eyni:
# idxal kitabxanası
maşın idxalından ADC # Obyekti təyin et adc = ADC (0) Sadə bir funksiya: adc.read () ADC dəyərini oxumaq üçün istifadə edilə bilər. Ancaq unutmayın ki, daxili ADC 0 -dan 1023 -ə qədər dəyişən rəqəmsal dəyərlərdə 0 ilə 3.3V arasında olan gərginliyi çevirəcək. "Parlaqlıq" ilə maraqlandıqdan sonra, Max işığını sensordan əldə edilən maksimum dəyər olaraq nəzərdən keçirəcəyik (mənim case 900) və mənim vəziyyətimdə 40 olan minimum işıq. Bu dəyərlərə sahib olaraq, 40 -dan 900 -ə qədər olan dəyərin 0 -dan 100% -ə qədər "xəritələndirə" bilərik. Bunun üçün yeni bir funksiya yaradacağıq
def readLdr ():
lumPerct = (adc.read ()-40)*(10/86) # faizlə çevir ("xəritə") geri dönmə dövrü (lumPerct)
Print (readLDR ()) istifadə edərək funksiyanı yoxlamalısınız. Nəticə o ilə 100 arasında bir tam ədəd olmalıdır.
D. Push-Button (Rəqəmsal Giriş)
Burada bir rəqəmsal sensor olaraq bir Push-Button istifadə edirik, ancaq bu bir aktuatorun "əks-sədası" ola bilər (məsələn, AÇMA/KAPALI edilmiş nasos).
# pin 13-ü giriş olaraq təyin edin və daxili bir çəkmə müqavimətini işə salın:
button = Pin (13, Pin. IN, Pin. PULL_UP) # Düymə vəziyyətini oxumaq funksiyası: def readBut (): return button.value ()
Print funksiyasını oxuyan düyməni sınaya bilərsiniz (readBut ()). Nəticəni basmadan "1" olmalıdır. Düyməni basaraq nəticə "0" olmalıdır
Addım 5: Bütün Sensor Verilərinin Yerli Olaraq Alınması və Göstərilməsi
İndi hər sensor üçün bir funksiya yaratdıqdan sonra, hamısını eyni vaxtda oxuyacaq sonuncu funksiyanı yaradaq:
def colectData ():
temp, hum, = readDht () extTemp = readDs () lum = readLdr () butSts = readBut () return temp, hum, extTemp, lum, butSts İndi istifadə etsəniz
çap (colectData ())
Sensorlardan alınan bütün məlumatları ehtiva edən bir tuple nəticələnəcək:
(17.4, 45.2, 17.3125, 103, 1)
İsteğe bağlı olaraq bu məlumatları yerli bir ekranda göstərə bilərik:
# kitabxana idxal edin və i2c obyekti yaradın
maşın idxalından I2C i2c = I2C (scl = Pin (5), sda = Pin (4)) # idxal kitabxanası və idxal edilmiş obyekt yaradın ssd1306 i2c = I2C (scl = Pin (5), sda = Pin (4)) oled = ssd1306. SSD1306_I2C (128, 64, i2c, 0x3c) # funksiya yaradın: def displayData (temp, hum, extTemp, lum, butSts): oled.fill (0) oled.text ("Temp:" + str (temp)) + "oC", 0, 4) oled.text ("Hum:" + str (hum) + "%", 0, 16) oled.text ("ExtTemp:" + str (extTemp) + "oC", 0, 29) oled.text ("Lumin:" + str (lum) + "%", 0, 43) oled.text ("Button:" + str (butSts), 0, 57) oled.show () # DisplayData funksiyasından istifadə edərək məlumatları göstərin (temp, hum, extTemp, lum, butSts)
Bir seçim olaraq, sensorlar oxumağa başladıqda, bu məlumatlar göstərildikdən sonra sönən LED -in AÇIQ olacağını da əlavə edəcəyəm. Bu, ESP -nin PC -dən ayrıldığı və avtomatik olaraq işlədiyi zaman proqramın işlədiyini təsdiqləməyə kömək edəcək.
Beləliklə, əsas funksiya:
# Bütün sensorları oxumaq üçün əsas funksiya
def main (): # led.on () temp, hum, extTemp, lum, butSts = colectData () displayData (temp, hum, extTemp, lum, butSts) led.off () funksiyası ilə məlumatları göstərin
Beləliklə, main () funksiyasını yerinə yetirərək, şəkildə göstərildiyi kimi OLED -də göstərilən sensor məlumatlarını alacağıq.
Addım 6: ESP Başlanğıcında Yerli Stansiya Kodunu Çalışdırın
İndiyə qədər inkişaf etdirilənlərin hamısını ESP tərəfindən icra ediləcək bir fayl üzərində əldə edə bilərik.
İstənilən mətn redaktorunu açaq və bütün kodu keçək:
# ümumi kitabxanaları idxal edin
maşın idxalından Pin idxal vaxtı # pin 0 -ı çıxış led olaraq təyin edin = Pin (0, Pin. OUT) # DHT dht import DHT22 dht22 = DHT22 (Pin (12)) # DHT def readDht () oxumaq funksiyası: dht22. ölçü () qayıt dht22.temperature (), dht22.humidity () # DS18B20 onewire, ds18x20 # 1 telli cihazın hansı pinlə bağlanacağını təyin edin ==> pin 2 (D4) dat = Pin (2) # Bir tel yaradın obyekt ds = ds18x20. DS18X20 (onewire. OneWire (dat)) # avtobus sensorlardakı cihazlar üçün tarama = ds.scan () # DS18B20 def readDs () oxumaq üçün # funksiya: ds.convert_temp () time.sleep_ms (750) qayıt dəyirmi (ds.read_temp (sensorlar [0]), 1) ADC maşın idxalından # LDR # Obyekti təyin edin adc = ADC (0) #funksiyanı oxumaq üçün funksiya def readLdr (): lumPerct = (adc.read ()-40) *(10/86) # faizlə çevir ("xəritə") geri dönmə (lumPerct) # pin 13-ü giriş olaraq təyin edin və daxili çəkmə müqavimətini aktiv edin: düymə = Pin (13, Pin. IN, Pin. PULL_UP) # Oxuma funksiyası düymənin vəziyyəti: def readBut (): return button.value () # Bütün məlumatları oxumaq funksiyası: def cole ctData (): temp, hum, = readDht () extTemp = readDs () lum = readLdr () butSts = readBut () temp, hum, extTemp, lum, butSts # idxal kitabxanasını qaytarın və maşın idxalı I2C i2c -dən i2c obyekti yaradın I2C (scl = Pin (5), sda = Pin (4)) # idxal kitabxanası və idxal edilmiş obyekt yaradın, 64, i2c, 0x3c) # funksiya yaradın: def displayData (temp, hum, extTemp, lum, butSts): oled.fill (0) oled.text ("Temp:" + str (temp) + "oC", 0, 4) oled.text ("Hum:" + str (hum) + "%", 0, 16) oled.text ("ExtTemp:" + str (extTemp) + "oC", 0, 29) oled. text ("Lumin:" + str (lum) + "%", 0, 43) oled.text ("Button:" + str (butSts), 0, 57) oled.show () # Bütün sensorları oxumaq üçün əsas funksiya def main (): # led.on () temp, hum, extTemp, lum, butSts = colectData () displayData (temp, hum, extTemp, lum, butSts) led.off () ''- ----- əsas funksiyanı işləyin -------- '' 'main ()
Saxla, məsələn localData.py.
Bu kodu birbaşa terminalınızda işə salmaq üçün Ampy -yə ehtiyacınız olacaq.
Əvvəlcə Terminalda Serial limanımızı Ampy -yə bildirək:
ixrac AMPY_PORT =/dev/tty. SLAB_USBtoUART
İndi ESP kök qovluğumuzdakı faylları görə bilərik:
amp ls
Cavab olaraq, sistemdə işləyəcək ilk fayl olan boot.py əldə edəcəyik.
İndi Python Script LocalData.py faylımızı /main.py olaraq yükləmək üçün Ampy -dən istifadə edək, beləliklə skript açılışdan dərhal sonra işləyəcək:
ampy localData.py /main /py qoyun
İndi ls əmrindən istifadə etsək, ESP daxilində 2 fayl görəcəksiniz: boot.py və main.py
ESP -ni sıfırlayaraq, sensor məlumatlarını ekranda göstərərək localData.py proqramını avtomatik olaraq işə salacaqsınız.
Yuxarıdakı Terminal çap ekranı nə etdiyimizi göstərir.
Yuxarıdakı kodla, ekran yalnız bir dəfə göstəriləcək, ancaq main () funksiyasında hər müəyyən edilmiş vaxt aralığında (PUB_TIME_SEC) məlumatları göstərəcək bir döngə təyin edə bilərik və məsələn düyməni basana qədər:
Düymə basılana qədər # loop məlumat əldə edir
while button.value (): led.on () temp, hum, extTemp, lum, butSts = colectData () displayData (temp, hum, extTemp, lum, butSts) led.off () time.sleep (PUB_TIME_SEC)
PUB_TIME_SEC dəyişən nümunələri istədiyiniz vaxt elan edilməlidir.
Kodumuzu daha da təkmilləşdirmək üçün döngədən çıxacağımızı bildirmək yaxşı olardı, bunun üçün biri ekranı təmizləmək üçün, digəri isə LED -i müəyyən dəfə yanıb sönmək üçün 2 yeni ümumi funksiya təyin edəcəyik.
# Təmiz ekran:
def displayClear (): oled.fill (0) oled.show () # bir yanıp sönmə funksiyası yaratmaq def blinkLed (sayı): i aralığında (0, sayı): led.on () yuxu (0.5) led.off () yuxu (0.5)
Beləliklə, indi əsas () funksiyamızı yenidən yaza bilərik:
while button.value ():
led.on () temp, hum, extTemp, lum, butSts = colectData () displayData (temp, hum, extTemp, lum, butSts) led.off () time.sleep (PUB_TIME_SEC) blinkLed (3) displayClear ()
Son kodu GitHub -dan yükləyə bilərsiniz: localData.py və eyni zamanda tam kodun hazırlanması üçün istifadə olunan Jupyter Notebook: Jupyter Yerli Məlumat İnkişafı.
Addım 7: ESP -ni Yerli WiFi -yə bağlayın
Şəbəkə modulu WiFi bağlantısını konfiqurasiya etmək üçün istifadə olunur. İki WiFi interfeysi var, biri stansiya üçün (ESP8266 routerə qoşulduqda) və biri giriş nöqtəsi üçün (digər cihazlar ESP8266 -ya qoşulmaq üçün). Burada ESP yerli şəbəkəyə qoşulacaq. Kitabxananı çağıraq və şəbəkə məlumatlarımızı təyin edək:
idxal şəbəkəsi
WiFi_SSID = "SİZİN SİZİN" WiFi_PASS = "ŞİFRİNİZ"
Aşağıdakı funksiya ESP -ni yerli şəbəkənizə bağlamaq üçün istifadə edilə bilər:
def do_connect ():
wlan = network. WLAN (network. STA_IF) wlan.active (True) wlan.isconnected deyilsə (): çap edin ('şəbəkəyə qoşulur…') wlan.connect (WiFi_SSID, WiFi_SSID) wlan.isconnected deyil (): keçmək çap ('şəbəkə konfiqurasiyası:', wlan.ifconfig ())
Funksiyanı işlədərək nəticədə IP ünvanını əldə edə bilərsiniz:
do_connect ()
Nəticə belə olacaq:
şəbəkə konfiqurasiyası: ('10.0.1.2 ',' 255.255.255.0 ', '10.0.1.1', '10.0.1.1 ')
Mənim vəziyyətimdə, 10.0.1.2, ESP IP ünvanıdır.
Addım 8: ThingSpeak
Bu nöqtədə, bütün sensorlardakı məlumatları OLED -də nümayiş etdirməyi öyrəndik. İndi, bu məlumatları bir IoT platformasına, ThingSpeak -a necə göndərməyi görmək vaxtıdır.
Başlayaq!
Əvvəlcə ThinkSpeak.com -da bir hesabınız olmalıdır. Sonra, Kanal yaratmaq üçün təlimatları izləyin və Kanal ID -ni qeyd edin və API Açarını Yazın.
Yuxarıda Kanalımızda istifadə ediləcək 5 sahəni görə bilərsiniz.
Addım 9: MQTT Protokolu və ThingSpeak Bağlantısı
MQTT, əsasən simsiz şəbəkələr üzərindən bant genişliyi və gücü məhdud cihazları birləşdirmək üçün hazırlanmış bir nəşr/abunə arxitekturasıdır. TCP/IP yuvaları və ya WebSockets üzərində işləyən sadə və yüngül bir protokoldur. WebSockets üzərindən MQTT SSL ilə təmin edilə bilər. Nəşr/abunə arxitekturası, serverin davamlı olaraq sorğu keçirməsinə ehtiyac duymadan mesajların müştəri cihazlarına göndərilməsini təmin edir.
MQTT brokeri, ünsiyyətin mərkəzi nöqtəsidir və göndəricilərlə qanuni alıcılar arasında bütün mesajların göndərilməsindən məsuldur. Müştəri, brokerə qoşulan və məlumat əldə etmək üçün mövzuları dərc edə və ya abunə ola bilən hər hansı bir cihazdır. Bir mövzu broker üçün marşrutlaşdırma məlumatlarını ehtiva edir. Mesaj göndərmək istəyən hər bir müştəri onları müəyyən bir mövzuya göndərir və mesaj almaq istəyən hər bir müştəri müəyyən bir mövzuya abunə olur. Broker uyğun gələn mövzu ilə bütün mesajları uyğun müştərilərə çatdırır.
ThingSpeak ™ mqtt.thingspeak.com URL və 1883 limanında bir MQTT brokerinə malikdir. ThingSpeak broker həm MQTT nəşrini, həm də MQTT abunəsini dəstəkləyir.
Bizim vəziyyətimizdə istifadə edəcəyik: MQTT Publish
Şəkil mövzunun quruluşunu təsvir edir. Dərc etmək üçün Write API Açarı tələb olunur. Broker CONNACK ilə düzgün bir CONNECTrequest qəbul edir.
MQTT protokolu Micropython ikili sənədlərindəki daxili kitabxanada dəstəklənir-bu protokol WIFI üzərindən ESP8266-dan məlumatları pulsuz bir bulud verilənlər bazasına göndərmək üçün istifadə edilə bilər.
Umqtt.simple kitabxanasından istifadə edək:
umqtt.sadə idxal MQTTClient -dən
SERVER ID -nizi bilməklə MQTT müştəri obyektimizi yaratmaq mümkündür:
SUNUCU = "mqtt.thingspeak.com"
müştəri = MQTTClient ("umqtt_client", SERVER)
İndi ThingSpeak etimadnamənizi əlinizdə tutaraq:
CHANNEL_ID = "KANAL IDİNİZ"
WRITE_API_KEY = "AÇARINIZ BURADA"
MQTT "Mövzumuzu" yaradaq:
mövzu = "kanallar/" + KANAL_ID + "/yayımla/" + WRITE_API_KEY
Yaradılmış funksiyanı istifadə edərək məlumatlarımızı ThingSpeak IoT Xidmətinə göndərilməsini təmin edək və cavabını xüsusi məlumat dəyişənləri ilə əlaqələndirək:
temp, hum, extTemp, lum, butSts = colectData ()
Bu dəyişənlərin yenilənməsi ilə "MQTT Yükü" nü yarada bilərik:
payload = "field1 ="+str (temp)+"& field2 ="+str (hum)+"& field3 ="+str (extTemp)+"& field4 ="+str (lum)+"& field5 ="+str (butSts))
Və bu qədər! Aşağıdakı 3 satır kodunu istifadə edərək ThinsSpeak -ə məlumat göndərməyə hazırıq:
müştəri.connect ()
client.publish (mövzu, faydalı yük) client.disconnect ()
İndi kanal səhifənizə daxil olsanız (yuxarıdakı kimi) 5 sahənin hər birində sensorlarınızla əlaqəli məlumatların olacağını görəcəksiniz.
Addım 10: Sensor Data Logger
İndi bilirik ki, yalnız bir neçə kod xətti ilə məlumatları bir IoT xidmətinə yükləmək mümkündür, bunu müəyyən bir zaman aralığında avtomatik olaraq yerinə yetirmək üçün bir döngə funksiyası yaradaq ("Yerli məlumatlar" ilə etdiyimizə bənzər) ").
Daha əvvəl elan edilmiş eyni dəyişəndən (PUB_TIME_SEC) istifadə edərək, məlumatları davamlı olaraq kanalımıza daxil etmək üçün sadə bir əsas funksiya olacaq:
Doğru halda:
temp, hum, extTemp, lum, butSts = colectData () payload = "field1 ="+str (temp)+"& field2 ="+str (hum)+"& field3 ="+str (extTemp)+"& field4 ="+ str (lum)+"& field5 ="+str (butSts) client.connect () client.publish (mövzu, yük) client.disconnect () time.sleep (PUB_TIME_SEC)
Diqqət yetirin ki, "mövzu" kanalımızın etimadnaməsi ilə əlaqədardır və dəyişməyəcək.
ThingSpeak kanal səhifənizi axtararkən, məlumatların hər bir sahəyə davamlı olaraq yüklənəcəyini müşahidə edəcəksiniz. LDR -ni əhatə edə bilər, əlinizi temp/hum sensorlarına qoyub, düyməni basa bilərsiniz və s. Kanalın gələcək analiz üçün avtomatik olaraq bu məlumatları necə "qeyd" edəcəyini görə bilərsiniz.
Ümumiyyətlə, Məlumat Qeydiyyatı üçün mümkün olduğu qədər az enerji istifadə etməyə çalışmalıyıq, buna görə LED -dən istifadə etməyəcəyik və ya ekranı yerli olaraq göstərməyəcəyik. ESP cihazlarında da "dərin yuxu" vəziyyətinə salın, bu zaman mikroprosessor məlumatları tutub IoT platformasına göndərmə vaxtı çatana qədər minimum enerji vəziyyətində olacaq.
Ancaq burada fikir öyrənildikdə, əvvəllər olduğu kimi ekranı və LED -i də daxil edək. Bunu edərkən "qeydiyyatçı" funksiyamız olacaq:
while button.value ():
led.on () temp, hum, extTemp, lum, butSts = colectData () displayData (temp, hum, extTemp, lum, butSts) led.off () temp, hum, extTemp, lum, butSts = colectData () payload = "field1 ="+str (temp)+"& field2 ="+str (hum)+"& field3 ="+str (extTemp)+"& field4 ="+str (lum)+"& field5 ="+str (butSts) müştəri.connect () client.publish (mövzu, faydalı yük) client.disconnect () time.sleep (PUB_TIME_SEC) blinkLed (3) displayClear ()
Tam microPython skriptini burada tapa bilərsiniz: dataLoggerTS_EXT.py və inkişaf üçün istifadə olunan Jupyter notebooku da burada tapa bilərsiniz: IoT ThingSpeak Data Logger EXT.ipynb.
Ssenarini ESP -də yükləmək üçün terminalınızda əmrdən istifadə edin:
ampy dataLoggerTS.py /main.py qoyur
Və ESP - sıfırlama düyməsini basın. ESP məlumatları tutacaq və ThingSpeak.com -da aşağıya basılana qədər onları qeyd edəcəksiniz (LED -in 3 dəfə yanıb -sönməsini və OLED -nin sönməsini gözləyin).
Addım 11: ThingView Tətbiqi
Daxil edilmiş məlumatları birbaşa ThingSpeak.com saytında və ya bir tətbiq vasitəsi ilə görmək olar, məsələn ThingsView!
ThingView, ThingSpeak kanallarınızı asan bir şəkildə görselleştirmenize imkan verən CINETICA tərəfindən hazırlanmış bir tətbiqdir, sadəcə kanal kimliğini daxil edin və getməyə hazırsınız.
İctimai kanallar üçün tətbiq pəncərə parametrlərinizə hörmət edəcək: rəng, vaxt cədvəli, qrafik növü və nəticələrin sayı. Mövcud versiya xətt və sütun qrafiklərini dəstəkləyir, spline qrafikləri xətt qrafikləri kimi göstərilir.
Şəxsi kanallar üçün məlumatlar, yalnız API açarı ilə xüsusi pəncərə parametrlərini oxumaq üçün heç bir yol olmadığı üçün standart parametrlərdən istifadə edərək göstəriləcəkdir.
ThingView APP ANDROID və IPHONE üçün endirilə bilər.
Addım 12: Nəticə
Həmişə olduğu kimi, ümid edirəm ki, bu layihə başqalarına maraqlı elektronika dünyasına yol tapmağa kömək edə bilər!
Detallar və son kod üçün GitHub depozitarımı ziyarət edin: IoT_TS_MQTT
Daha çox layihə üçün blogumu ziyarət edin: MJRoBot.org
Dünyanın cənubundan salamlar!
Növbəti təlimatımda görüşənədək!
Çox sağ ol, Marcelo
Tövsiyə:
ESP32 və ESP8266 istifadə edərək ESP-NOW vasitəsilə birdən çox ESP Söhbəti necə aparılır: 8 addım
ESP32 və ESP8266 istifadə edərək ESP-NOW vasitəsi ilə birdən çox ESP Söhbəti necə aparılır: Davam edən layihəmdə bir-birimizlə marşrutlaşdırıcı olmadan danışmaq üçün birdən çox ESP lazımdır. Bunu etmək üçün ESP-NOW-dan ESP-də marşrutlaşdırıcı olmadan bir-birimizlə simsiz əlaqə qurmaq üçün istifadə edəcəyəm
WiFi üzərindən ESP 32 Kamera Video Axını - ESP 32 CAM lövhəsi ilə işə başlama: 8 addım
WiFi üzərindən ESP 32 Kamera Video Axını | ESP 32 CAM lövhəsi ilə işə başlayın: ESP32-CAM, təxminən 10 dollara başa gələn ESP32-S çipi olan çox kiçik bir kamera moduludur. OV2640 kamerası və ətraf cihazları birləşdirmək üçün bir neçə GPIO ilə yanaşı, t ilə çəkilmiş şəkilləri saxlamaq üçün faydalı ola biləcək bir microSD kart yuvasına da malikdir
Arduino IDE ilə Esp 8266 Esp-01-ə Başlama - Arduino Ide -də Esp Lövhələrinin Qurulması və Esp -in Proqramlaşdırılması: 4 Addım
Arduino IDE ilə Esp 8266 Esp-01-ə Başlama | Esp Boardlarını Arduino Ide-də quraşdırmaq və Proqramlaşdırma Esp: Bu təlimatlarda, Arduino IDE-də esp8266 lövhələrinin necə qurulacağını və esp-01-in proqramlaşdırılmasını və ona kod yükləməyi öyrənəcəyik. Esp lövhələri o qədər populyar olduğu üçün bir təlimat düzəltməyi düşündüm. bu və insanların çoxu problemlə üzləşir
ESP -dən ESP -ə keçid: 4 addım
ESP -dən ESP -ə Əlaqə: Bu təlimat, simsiz ünsiyyət daxil olan hər hansı bir layihə üçün digər qəbuledici modulları əvəz etməyə kömək edəcək. Biri WiFi -STA rejimində, digəri WiFi -AP rejimində olan ESP8266 əsaslı lövhədən istifadə edəcəyik, NodeMCU V3 bu layihə üçün mənim seçimimdir
ESP-12E və ESP-12F Proqramlaşdırma və İnkişaf Lövhəsi: 3 addım (şəkillərlə)
ESP-12E və ESP-12F Proqramlaşdırma və İnkişaf Lövhəsi: Bu lövhənin vəzifəsi sadə idi: ESP-12E və ESP-12F modullarını NodeMCU lövhələri kimi asanlıqla proqramlaşdıra biləsiniz (yəni düymələrə basmağa ehtiyac yoxdur). İstifadə edilə bilən IO -ya çıxışı olan çörək taxtası dostu pinlərə sahib olun. Serial ötürmək üçün ayrı bir USB istifadə edin