İçindekiler:
- Gereçler
- Adım 1: REST JSON Http(s) Protokolü
- 2. Adım: Akış
- 3. Adım: Gösterge Tablosu
- Adım 4: Akışı İçe Aktar (proje, Komut Dosyası vb.)
- Adım 5: Her Şey Birlikte Nasıl Çalışır?
- 6. Adım: HTTP POST ve GET
- Adım 7: Düğme Düğümleri
- Adım 8: İşlev Düğümü
- 9. Adım: JSON Düğümü ve Enjekte Düğümü
- Adım 10: Metin Düğümü ve Hata Ayıklama Düğümü
- Adım 11: Grafik Düğümü
- Adım 12: Düğümü ve Bağlantı Düğümlerini Ölçme
- Adım 13: Talimatımı Okuduğunuz İçin Teşekkür Ederim
Video: Düğüm-RED'de JSON ile Nasıl Çalışılır: 13 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Bu talimat, size düğüm-RED'de JSON ile nasıl çalışacağınızı öğretecektir. Http get ve post yoluyla json dosyalarını aktararak ağ bağlantılı elektrik prizlerini nasıl kontrol edeceğinizi göstereceğim. Ve bu bilgiyi daha sonra JSON protokolünü destekleyen herhangi bir cihazı kontrol etmek için kullanabilirsiniz.
Öğretme amacıyla NETIO 4All ağ bağlantılı elektrik prizini kullanacağım, ama merak etmeyin, herhangi bir şey satın almanıza gerek yok. NETIO, kullanabileceğiniz harika 4All çevrimiçi demosuna sahiptir.
Gereçler
NETIO 4All ağ bağlantılı güç soketi veya 4All çevrimiçi demo:
Düğüm-KIRMIZI
Adım 1: REST JSON Http(s) Protokolü
Bu kısım biraz teknik ama lütfen bana tahammül edin. Bu kısmı açıklamasaydım, düğüm-RED'de göndereceğimiz json dosyalarındaki değerleri anlamada sorun yaşardınız.
Her çıkışa (elektrik prizi) uygulanabilir eylemler:
Tüm M2M protokollerinde, NETIO güç soketleri, bireysel çıkışlara uygulanabilen eylemlerin aynısını kullanır. Örneğin, herhangi bir çıktıya bir Toggle veya Short Off eylemi yazılabilir.
Ancak Action değişkeni sadece değer yazmak için kullanılabilir, mevcut çıkış durumunu okumak için kullanılamaz.
Bunlar, her bir çıktıya uygulayabileceğiniz eylemlerdir:
0 = Çıkış kapalı (Kapalı)
1 = Çıkış açık (Açık)
2 = Çıkış kısa süreliğine kapalı (kısa Kapalı)
3 = Çıkış kısa bir süre için açık (kısa Açık)
4 = Çıkış bir durumdan diğerine geçti (geçiş)
5 = Çıkış durumu değişmedi (değişiklik yok)
6 = Yoksayıldı
Örnek – Çıkış numarasını değiştirmek için JSON dosyası. 1:
{
"Çıktılar": [{
"Kimlik": 1, "Eylem": 4
}]
}
Kimlik - bu sayı hangi çıktıyı kullanacağımızı gösterir
Eylem - bu kısım, çıktının yapacağı eylemdir (ör. 1 (Çıkışı aç))
2. Adım: Akış
Ve şimdi ana kısım. Bu, düğüm-RED ortamının nasıl göründüğüdür.
URL API akışını içe aktardık (Gördüğünüz proje. Daha sonra akışları nasıl içe aktaracağınızı ve bu projeyi göstereceğim) Bu proje iki bölümden oluşmaktadır:
- NETIO AN30 (JSON REST API) akışı
- Dashboard (Programınızı çalıştırabileceğiniz grafik arayüz)
3. Adım: Gösterge Tablosu
Bu talimat için RED düğümündeki gösterge tablosu böyle görünüyor. Dilerseniz zevkinize göre özelleştirebilirsiniz.
Bu projenin gösterge tablosu 4 bölüme ayrılmıştır:
- Cihaz Durumu - model, mac adresi veya donanım yazılımı sürümü gibi cihaz bilgilerini gösterir.
- (POST) Kontrol Çıkışı 1 - Çıkış 1'i kontrol eden 5 düğme içerir. Her düğme farklı eylemi gerçekleştirir.
- (GET) O1 - O4 Çıkış Durumları - Bu bölüm, cihazınızdan gelen her bir çıkışın mevcut durumunu gösterir.
- Cihaz Yönetimi - Bu bölümde NETIO 4Aall cihazından güncel ölçülen değerleri gösteren her türlü grafik ve göstergeyi bulabilirsiniz.
Adım 4: Akışı İçe Aktar (proje, Komut Dosyası vb.)
Menüde (sağ üst köşe) İçe Aktar'ı ve ardından Pano'yu seçin.
Ardından, aşağıdaki metni belirtilen alana kopyalayın ve İçe Aktar'a tıklayın.
Eksik düğümleri yükleme
Düğümler seçilen akışa yüklenir. İçe aktarılmakta olan ancak henüz Node-RED'de kurulmamış olan düğümlerin bir listesiyle birlikte bir hata mesajının görüntülenmesi mümkündür. Bu durumda, eksik düğümlerin yüklenmesi gerekir.
Eksik düğümler varsa, menüden Yönet paletini seçin, Yükle'ye tıklayın ve eksik olan düğümleri bulun ve kurun.
Metni içe aktar:
[{"id":"56b9510c.98c6f", "type":"tab", "label":"NETIO AN30 (REST JSON)", "disabled":false, "info":""}, {"id ":"6a66b637.da1558", "type":"http request", "z":"56b9510c.98c6f", "name":"HTTP Request (POST)", "method":"POST", "ret":"txt", "url":"https://netio-4All.netio-products.com:8080/netio.json", "tls":"", "x":430, "y":100, "wires":
Adım 5: Her Şey Birlikte Nasıl Çalışır?
Akış temel olarak iki kısma ayrılır: POST ve GET.
POST: O1'e Yazma
- Flow'daki Dashboard'da oluşturulan beş düğme Dashboard'da görüntülenir.
- Dashboard'da Çıktı 1 = AÇIK düğmesine tıkladıktan sonra, yük, çıktıyı ve eylemi belirten netio.json dosyasına ayarlanır (düğmelerin her biri için tanımlanır).
- HTTP İsteği (POST) bloğu, netio.json dosyasını bir IP adresine istek olarak gönderir.
- Sunucu yanıtı (durum) çıktı olarak döndürülür.
- Msg.payload bloğu, HTTP İsteğinden (POST) gelen sonucu görüntüler.
GET: O1 – O4 arasında okuma
- 1 Saniyelik Tekrar bloğu, bir saniyelik bir süre ile HTTP İsteği (GET) bloğunu etkinleştirir, bu da netio.json'u bir GET isteği olarak gönderir ve sunucudan alındığı gibi soket durumu ile eksiksiz bir JSON dosyası döndürür.
- JSON Ayrıştırma bloğu, JSON dosyasını HTTP İsteği (GET) bloğundan bir JSON Nesnesine dönüştürür, böylece JSON dosyasındaki özellikleri değiştirmek mümkün olur.
- Function bloğu, JSON nesnesinin tek tek parçalarını alır ve bunları daha sonra kullanmak üzere bir msg nesnesinin özelliklerine dönüştürür.
- Geçerli Grafik bloğu, sonraki Geçerli Grafik (Aygıt) bloğu yalnızca msg.payload değerini görüntüleyebildiğinden, msg.payload'ı msg nesnesinin msg. TotalCurrent özelliğine ayarlar.
- Ardından, panoda JSON nesnesinden alınan msg nesnesinin seçili özelliklerini görüntülemek için çeşitli çıkış düğümleri gelir.
msg nesnesi ve msg.payload
Basit ve özlü bir açıklama için buraya bakın:
www.steves-internet-guide.com/node-red-mess…
6. Adım: HTTP POST ve GET
HTTP İsteği(POST)
Bu düğüm, NETIO 4All cihazını kontrol etmek için bir HTTP İsteği (POST) olarak bir netio.json komut dosyası gönderir.
HTTP İsteği(GET)
Bu düğüm bir HTTP İsteği (GET) gönderir ve durum yanıtını döndürür.
Önceden doldurulmuş adres, masanızda bir NETIO cihazı olmadan bağlantıyı test edebileceğiniz NETIO 4All çevrimiçi demosunu gösterir.
netio-4all.netio-products.com
Bu düğümlerde kendi IP adresinizi ayarlamanız mümkündür; ancak IP'nin hem HTTP İstek düğümlerinde, POST'ta hem de GET'te değiştirilmesi gerekir.
Adım 7: Düğme Düğümleri
Düğme düğümüne tıklamak, netio.json dosyasını (Sağ resim) içeren ve daha sonra http posta düğümü aracılığıyla netio akıllı güç soketine gönderilen bir mesaj oluşturur.
Adım 8: İşlev Düğümü
İşlev düğümü, özel bir JavaScript işlevi yazmayı sağlayan özel bir düğümdür.
Bu talimatta işlev, ayrıştırılmış JSON dosyasından (şimdi bir JSON nesnesi) değerler alır ve bunları msg nesnesinin özelliklerine atar.
Kod dört bölüme ayrılmıştır:
- JSON nesnesinden msg nesnesinin bireysel özelliklerine değer atama
-
Ağa bağlı elektrik prizinin global ölçümleri desteklememesi durumunda hata işleme
Ağ bağlantılı elektrik prizi global değerlerin ölçümünü desteklemiyorsa, Node-RED hataları görüntüler çünkü bu fonksiyon ilgili özelliği bulamaz, örn. msg.payload. GlobalMeasure. Voltage, çünkü JSON nesnesinde mevcut olmayacaktı. Bu durumda, msg nesnesinin özelliği, ör. msg. Voltage, 0'a ayarlanır ve hata işlenirken yakalanır.
- Çıkış durumu değerleri atama
- Çıktı durumlarına göre görüntülenen çıktı durumu değerlerinin renklerini ayarlama
9. Adım: JSON Düğümü ve Enjekte Düğümü
JSON düğümü
JSON düğümü, JSON dosyasını ayrıştırır ve onu bir JSON nesnesine dönüştürür.
Sunucudan GET isteğine bir yanıt olarak, HTTP İstek düğümü, NETIO 4x cihazının mevcut durumunu içeren bir JSON dosyası döndürür, ancak yalnızca bir metin dosyasıdır, bu nedenle verilerle çalışabilmesi için JSON dosyasının ihtiyacı vardır. bir JSON nesnesine ayrıştırılacak.
Enjekte düğümü
Bu düğüm her saniye, bir GET isteği gönderen HTTP İstek düğümünü etkinleştirir.
Sonuç olarak Dashboard'daki değerler bir saniyelik periyotlarla güncellenir.
Adım 10: Metin Düğümü ve Hata Ayıklama Düğümü
Metin düğümü
Gösterge Tablosunda bir metin alanı görüntüler. Bu talimatta, metin düğümleri akımı, voltajı, modeli, bellenim sürümünü veya JSON sürümünü görüntüler.
Etiket, Gösterge Tablosunda görüntülenir ve Ad, Düğüm-RED'de akışta görüntülenen düğüm adıdır.
Hata ayıklama düğümü
msg.payload'ı görüntüler.
Adım 11: Grafik Düğümü
Bu düğüm, yük değerine göre Gösterge Tablosunda mevcut grafiği çizer.
Bu düğüm yalnızca yük değerine göre çizelgeleri çizebilir.
Bu nedenle, msg.payload'ı görüntülenmesi gereken değere ayarlamak için bir işlev düğümü kullanılır.
msg.payload = msg. TotalCurrent;
Adım 12: Düğümü ve Bağlantı Düğümlerini Ölçme
gösterge düğümü
Bu düğüm, Gösterge Tablosuna bir gösterge widget'ı ekler.
Bu talimatta, her gösterge msg nesnesinin bir özelliğini görselleştirir: voltaj [V], akım [A], frekans [Hz] ve genel Gerçek Güç Faktörü (TPF).
Bağlantı düğümleri
Bağla ve bağla düğümler bir tünel gibi çalışır. Msg.payload, düğümdeki bağlantıya gelir ve bağlantı çıkış düğümünden çıkar.
Akışı biraz daha net ve okunmasını kolaylaştırmak için kullandım.
Adım 13: Talimatımı Okuduğunuz İçin Teşekkür Ederim
Umarım öğretilebilir ve umutla yeni bir şeyler öğrenmişsinizdir.
Bu talimat, yaptığım farklı kılavuzun yalnızca kısaltılmış versiyonudur
Orijinal kılavuz daha uzundur ve çok daha fazla ayrıntıya yöneliktir ve genellikle daha iyi yapılandırılmıştır. Bir şeyi anlamadıysanız veya kaçırdığımı veya yeterince açıklamadığımı düşünüyorsanız, kesinlikle orada bulabilirsiniz.
söz veriyorum hayal kırıklığına uğramayacaksın
Orijinal:
Ayrıca, düğüm-RED'in çeşitli kullanımları hakkında benzer kılavuzlar vardır, bu nedenle ilgileniyorsanız, keşfetmekten çekinmeyin:
RED düğümünde REST URL API ile çalışma
www.netio-products.com/en/application-notes/an29-node-red-example-of-url-api-communication-with-netio-4x
RED düğümünde REST XML ile çalışma
www.netio-products.com/en/application-notes/an31-node-red-example-of-rest-xml-communication-with-netio-4x
RED düğümünde TCP/Modbus ile çalışma
Çok yakında gelecek:)
Önerilen:
Düğüm Mcu ile Yeni Başlayanlar için IOT: 7 Adım
Yeni Başlayanlar için IOT-Node Mcu ile: Merhaba, ben bu eğitimde Samarth, size NODE MCU wifi modülünü ve Blynk uygulamasını kullanarak kendi IOT projelerinizi nasıl oluşturacağınızı öğreteceğim
Düğüm-MCU ile Hareket Kontrollü Evrensel Uzaktan Kumanda: 12 Adım
Düğüm-MCU ile Hareket Kontrollü Evrensel Uzaktan Kumanda: Herkese merhaba ve bu projeye hoş geldiniz! Ben oldukça tembel bir insanım ve tembel bir insanın kabusu uzaktan kumandanın çok uzakta olduğunu fark ettiğinizde televizyon izlemektir! Her an elimde olsa uzaktan kumandamın asla çok uzakta olmayacağını fark ettim
15$ LoRa Ağ Geçidi/Düğüm ESP8266 PCB Oluşturma 3cmX8cm Boyut: 6 Adım
15$ LoRa Ağ Geçidi/Düğüm ESP8266 PCB Oluştur 3cmX8cm Boyut: Hey, naber beyler? Akarsh burada CETech'ten.Bugün basit bir LoRa düğümü olan bir proje yapacağız ve bunu tek kanallı bir ağ geçidi olarak bile kullanabilirsiniz.Burada kullandığım mikrodenetleyici LoRa kartlarına bağlı ESP8266
4 Bağlantı Noktalı Röle Modülü, Blynk Uygulaması, IFTTT ve Google Home ile Düğüm MCU. Kar?: 5 Adım
4 Bağlantı Noktalı Röle Modülü, Blynk Uygulaması, IFTTT ve Google Home ile Düğüm MCU. Kâr mı?: Bu yazının tamamı google home'u NodeMCU ve blynk uygulaması ile nasıl bağlayacağınızla ilgili, cihazlarınızı basit blynk kontrollü NodeMCU anahtarı ve google asistanı ile kontrol edebilirsiniz. Hadi gidelim, Ok Google.. Şeyi aç
Arduino ve Farklı RGB Ledlerle Nasıl Çalışılır: 3 Adım
Arduino ve Farklı RGB Ledlerle Nasıl Çalışılır: Arduino, inanılmaz küçük bir cihazdır. Ancak bu güçlü küçük cihaz için en çok kullanılan uygulamalardan biri genellikle bir LED'i yanıp sönmek veya yanıp sönmektir. Bu eğitim size RGB Led'ler ve Arduino ile çalışmanın üç yolunu gösterecektir. İlk yol, basit bir