Mündəricat:
- Təchizat
- Addım 1: JSON Http (s) Protokolunu REST
- Addım 2: axın
- Addım 3: İdarəetmə Paneli
- Addım 4: İdxal axını (layihə, Script, Etc)
- Addım 5: Hamısı Birlikdə Necə Çalışır
- Addım 6: HTTP POST və GET
- Addım 7: Düymə Düyünləri
- Addım 8: Function Node
- Addım 9: JSON Node və Inject Node
- Addım 10: Mətn Node və Debug Node
- Addım 11: Qrafik Node
- Addım 12: Ölçmə Nodu və Bağlantı Nodları
- Addım 13: Təlimatımı oxuduğunuz üçün təşəkkür edirəm
Video: Node-RED-də JSON ilə necə işləmək olar: 13 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Bu təlimat, node-RED-də JSON ilə necə işləməyi öyrədəcək. Json fayllarını http get və post vasitəsi ilə ötürməklə şəbəkəyə qoşulmuş elektrik prizlərini necə idarə edəcəyinizi sizə göstərəcəyəm. Və bu bilikdən sonra JSON protokolunu dəstəkləyən hər hansı bir cihazı idarə etmək üçün istifadə edə bilərsiniz.
Tədris məqsədləri üçün NETIO 4All şəbəkə prizindən istifadə edəcəyəm, amma narahat olmayın, heç bir şey almağınıza ehtiyac yoxdur. NETIO istifadə edə biləcəyiniz inanılmaz 4All onlayn demoya malikdir.
Təchizat
NETIO 4All şəbəkəyə qoşulmuş powersocket və ya 4All onlayn demo:
Qırmızı Qırmızı
Addım 1: JSON Http (s) Protokolunu REST
Bu hissə bir az texniki xarakter daşıyır, amma mənə səbr edin. Bu hissəni izah etməsəydim, node-RED ilə göndərəcəyimiz json sənədlərindəki dəyərləri anlamaqda probleminiz olardı.
Hər bir çıxışa tətbiq olunan hərəkətlər (elektrik prizi):
Bütün M2M protokollarında NETIO elektrik prizləri fərdi çıxışlara tətbiq oluna bilən eyni hərəkətləri istifadə edir. Məsələn, hər hansı bir çıxışa keçid və ya qısa söndürmə hərəkəti yazıla bilər.
Bununla birlikdə, Action dəyişənləri yalnız dəyərlər yazmaq üçün istifadə edilə bilər, mövcud çıxış vəziyyətini oxumaq üçün istifadə edilə bilməz.
Bunlar hər bir çıxışa tətbiq edə biləcəyiniz hərəkətlərdir:
0 = Çıxış söndürüldü (Qapalı)
1 = Çıxış aktivdir (Açıq)
2 = Çıxış qısa müddətə söndürüldü (qısa Off)
3 = Çıxış qısa müddətə açıldı (qısa Açıq)
4 = Çıxış bir vəziyyətdən digərinə keçdi (keçid)
5 = Çıxış vəziyyəti dəyişməz (dəyişməz)
6 = Yoxdur
Nümunə - Çıxış nömrəsini dəyişdirmək üçün JSON faylı. 1:
{
"Çıxışlar": [{
"ID": 1, "Fəaliyyət": 4
}]
}
ID - bu nömrə hansı çıxışdan istifadə edəcəyimizi göstərir
Fəaliyyət - bu hissə, çıxışın edəcəyi hərəkətdir (məsələn, 1 (Çıxışı yandır))
Addım 2: axın
Və indi əsas hissə. Node-RED mühitinin görünüşü belədir.
URL API axını idxal etdik (Gördüyünüz layihə. Daha sonra axınları və bu layihəni necə idxal edəcəyinizi sizə göstərəcəyəm) Bu layihə iki hissədən ibarətdir:
- NETIO AN30 (JSON REST API) axını
- Dashboard (Proqramınızı idarə edə biləcəyiniz qrafik interfeys)
Addım 3: İdarəetmə Paneli
Bu təlimat üçün node-RED tablosuna bənzəyir. Zövqünüzə uyğunlaşdırmaq istəsəniz özəlləşdirə bilərsiniz.
Bu layihənin idarəetmə paneli 4 hissəyə bölünür:
- Cihaz Vəziyyəti - model, mac ünvanı və ya firmware versiyası kimi cihaz məlumatlarını göstərir.
- (POST) Nəzarət Çıxışı 1 - Çıxış 1 -i idarə edən 5 düymədən ibarətdir. Hər bir düymə fərqli hərəkətlər yerinə yetirir
- (GET) O1 - O4 Çıxış Vəziyyətləri - Bu hissə cihazınızdakı hər bir çıxışın cari vəziyyətini göstərir.
- Cihaz İdarəçiliyi - Bu hissədə NETIO 4Aall cihazından cari ölçülmüş dəyərləri göstərən hər cür qrafik və ölçü cihazlarını tapa bilərsiniz.
Addım 4: İdxal axını (layihə, Script, Etc)
Menyuda (yuxarı sağ küncdə) İdxal və sonra Panoya seçin.
Sonra aşağıdakı mətni göstərilən sahəyə kopyalayın və İdxal et düyməsini basın.
Eksik qovşaqların quraşdırılması
Düyünlər seçilmiş axına yüklənir. İdxal olunan, lakin hələ də Node-RED-də quraşdırılmayan qovşaqların siyahısı ilə bir səhv mesajının göstərilməsi mümkündür. Bu vəziyyətdə itkin qovşaqların quraşdırılması lazımdır.
Düyünlər yoxdursa, menyudan Palitranı idarə et seçin, Quraşdır düyməsini vurun və itkin olduğunuz qovşaqları tapın və quraşdırın.
Mətni idxal edin:
[{"id": "56b9510c.98c6f", "type": "tab", "label": "NETIO AN30 (REST JSON)", "disabled": false, "info": ""}, {"id ":" 6a66b637.da1558 "," type ":" http sorğusu "," z ":" 56b9510c.98c6f "," ad ":" HTTP İstəyi (POST) "," metod ":" POST "," ret ": "txt", "url": "https://netio-4All.netio-products.com:8080/netio.json", "tls": "", "x": 430, "y": 100, "teller":
Addım 5: Hamısı Birlikdə Necə Çalışır
Axın əsasən iki hissəyə bölünür: POST və GET.
POST: O1 -ə yazmaq
- İdarəetmə Panosunda axında İdarə Panosunda yaradılmış beş düymə göstərilir.
- Tablosundakı Çıxış 1 = ON düyməsini tıkladıqdan sonra, yük, çıxışı və hərəkəti (düymələrin hər biri üçün müəyyən edilmiş) təyin edən netio.json faylına təyin olunur.
- HTTP İstəyi (POST) bloku netio.json faylını IP ünvanına sorğu olaraq göndərir.
- Server cavabı (status) çıxış olaraq qaytarılır.
- Msg.payload bloku nəticəni HTTP İstəkindən (POST) göstərir.
GET: O1 - O4 arasında oxu
- 1 Saniyəlik Təkrar bloku, bir saniyəlik bir müddətlə, HTTP İstəyi (GET) blokunu aktivləşdirir və bu da netio.json -u GET sorğusu olaraq göndərir və serverdən alınan yuva statusu ilə tam bir JSON faylını qaytarır.
- JSON Parse bloku, JSON faylını HTTP Request (GET) blokundan JSON Obyektinə çevirir, beləliklə JSON faylının xüsusiyyətlərini manipulyasiya etmək mümkündür.
- Funksiya bloku JSON obyektinin ayrı -ayrı hissələrini alır və sonradan istifadə etmək üçün onları msg obyektinin xüsusiyyətlərinə çevirir.
- Current Chart bloku msg.payload -ı msg obyektinin msg. TotalCurrent xüsusiyyətinə təyin edir, çünki sonrakı Cari Qrafik (Cihaz) bloku yalnız msg.payload dəyərini göstərə bilər.
- JSON obyektindən götürüldüyü kimi, msg obyektinin seçilmiş xüsusiyyətlərini Göstəriş Panosunda göstərmək üçün müxtəlif çıxış qovşaqları izləyir.
Msg obyekti və msg.payload
Sadə və qısa bir izahat üçün bura baxın:
www.steves-internet-guide.com/node-red-mess…
Addım 6: HTTP POST və GET
HTTP İstəyi (POST)
Bu qovşaq NETIO 4All cihazını idarə etmək üçün bir netio.json əmr faylını HTTP İstəyi (POST) olaraq göndərir.
HTTP İstəyi (GET)
Bu düyün bir HTTP İstəyi (GET) göndərir və status cavabını qaytarır.
Əvvəlcədən doldurulmuş ünvan, NETIO 4All onlayn demosunu göstərir, burada masanızda NETIO cihazı olmadan əlaqəni sınaya bilərsiniz.
netio-4all.netio-products.com
Bu qovşaqlarda öz IP ünvanınızı təyin etmək mümkündür; lakin IP -nin həm HTTP İstək qovşaqlarında, həm POST -da, həm də GET -də dəyişdirilməsi lazımdır.
Addım 7: Düymə Düyünləri
Düymə düyməsinə basmaq netio.json faylını (Sağdakı şəkil) ehtiva edən bir mesaj yaradır və sonra http post node vasitəsilə netio ağıllı elektrik yuvasına göndərilir.
Addım 8: Function Node
Function node, xüsusi bir JavaScript funksiyası yazmağa imkan verən xüsusi bir qovşaqdır.
Bu təlimatda funksiya ayrılmış JSON faylından (indi JSON obyekti) dəyərlər seçir və onları msg obyektinin xüsusiyyətlərinə təyin edir.
Kod dörd hissəyə bölünür:
- JSON obyektindən msg obyektinin fərdi xüsusiyyətlərinə dəyərlərin təyin edilməsi
-
Şəbəkə şəbəkə prizinin qlobal ölçüləri dəstəkləmədiyi halda işləmə xətası
Şəbəkəyə qoşulmuş elektrik prizi qlobal dəyərlərin ölçülməsini dəstəkləmirsə, Node-RED səhvləri göstərər, çünki bu funksiya müvafiq xassəni tapa bilməz, məsələn. msg.payload. GlobalMeasure. Voltage, çünki JSON obyektində olmayacaq. Bu halda, msg obyektinin xüsusiyyəti, məsələn. msg. Voltage, 0 olaraq təyin olunur və səhv idarə olunur.
- Çıxış vəziyyəti dəyərlərinin təyin edilməsi
- Çıxış vəziyyətinə görə göstərilən çıxış vəziyyəti dəyərlərinin rənglərinin təyin edilməsi
Addım 9: JSON Node və Inject Node
JSON qovşağı
JSON node JSON faylını təhlil edir və onu JSON obyektinə çevirir.
Serverdən GET sorğusuna cavab olaraq, HTTP İstək nodu, NETIO 4x cihazının cari vəziyyətini ehtiva edən bir JSON faylını qaytarır, ancaq sadəcə bir mətn faylıdır, buna görə də məlumatlarla işləmək üçün JSON faylına ehtiyac var. bir JSON obyektinə təhlil edilməlidir.
Nod vurun
Hər saniyədə bu düyün GET sorğusu göndərən HTTP İstəyi düyməsini aktivləşdirir.
Nəticədə, Tablosundakı dəyərlər bir saniyə ərzində yenilənir
Addım 10: Mətn Node və Debug Node
Mətn düyünü
Tablosuna bir mətn sahəsi göstərir. Bu təlimatda mətn qovşaqları cari, gərginlik, model, firmware versiyası və ya JSON versiyasını göstərir.
Etiket, Tablosuna Göstərilir və Ad, Node-RED-də axında göstərilən qovşaq adıdır.
Debug qovşağı
Mesaj yükünü göstərir.
Addım 11: Qrafik Node
Bu qovşaq, yükləmə dəyərinə görə tablosundakı cari qrafiki qurur.
Bu düyün yalnız faydalı yük dəyərinə görə qrafiklər qura bilər.
Bu səbəbdən msg.payload -ı göstərilməsi lazım olan dəyərə təyin etmək üçün bir funksiya nodu istifadə olunur.
msg.payload = msg. TotalCurrent;
Addım 12: Ölçmə Nodu və Bağlantı Nodları
Ölçmə düyünü
Bu qovşaq Panoya bir ölçü vidceti əlavə edir.
Bu təlimatda hər ölçü cihazı msg obyektinin bir xüsusiyyətini görüntüləyir: gərginlik [V], əyri [A], tezlik [Hz] və ümumi True Power Factor (TPF).
Bağlantı qovşaqları
Bağlantı və qovşaqların bağlanması tunel kimi işləyir. Msg.payload düyündəki linkə daxil olur və linkdən çıxma düyünündən çıxır.
Bir az daha aydın və oxumağı asanlaşdırmaq üçün istifadə etdim.
Addım 13: Təlimatımı oxuduğunuz üçün təşəkkür edirəm
Ümid edirəm ki, mənim öyrədicimdən zövq aldınız və yeni bir şey öyrəndim.
Bu təlimat verdiyim fərqli bələdçinin yalnız qısaldılmış versiyasıdır
Orijinal bələdçi daha uzun və daha detallı və ümumiyyətlə daha yaxşı qurulmuşdur. Bir şeyi başa düşmədinizsə və ya bir şeyi əldən verdiyimi və ya kifayət qədər izah etmədiyimi düşünürsünüzsə, mütləq orada tapa bilərsiniz.
Məyus olmayacağınıza söz verirəm
Orijinal:
Node-RED-in müxtəlif istifadəsi ilə bağlı oxşar təlimatlar da var, buna görə maraqlanırsınızsa araşdırmaqdan çekinmeyin:
Node-RED-də REST URL API ilə işləmək
www.netio-products.com/az/application-notes/an29-node-red-example-of-url-api-communication-with-netio-4x
Node-RED-də REST XML ilə işləmək
www.netio-products.com/az/application-notes/an31-node-red-example-of-rest-xml-communication-with-netio-4x
Node-RED-də TCP/Modbus ilə işləmək
Çox yaxında:)
Tövsiyə:
WS2812b Led Strip ilə Raspberry Pi -də Hyperion ilə OSMC -ni necə qurmaq olar: 8 addım
WS2812b Led Strip ilə Raspberry Pi -də Hyperion ilə OSMC -ni necə qurmaq olar: Bəzən ingilis dilini çox yaxşı bilirəm, bəzən yox … İlk öncə hər şey. Bu mənim ilk öyrədicimdir və ingilis dili mənim ana dilim deyil, xahiş edirəm mənə qarşı çox sərt olmayın. Bu çərçivənin necə qurulacağına aid olmayacaq, bu çox asandır. Söhbət installidən gedir
BGA -nı necə yenidən işləmək olar: 6 addım
BGA -nı yenidən necə işlətmək olar: Bu təlimat, BGA -nın necə dəyişdiriləcəyi ilə bağlı ən az inkişaf etmiş avadanlıqlarla mümkün olan ən asan yolu izah edəcək. Bu üsul aşağıdakıları tələb edir: 1. Yerləşdiriləcək yeni cihaz (və ya əvvəllər yenidən qurulmuş cihaz) 2. StencilQuik (TM) yerində qalın
Tinusaur lövhələri ilə işləmək üçün Arduino IDE -ni necə qurmaq olar: 3 addım
Tinusaur lövhələri ilə işləmək üçün Arduino IDE -ni necə qurmaq olar: Bu, Arduino IDE -ni Tinusaur lövhələri ilə işləmək üçün necə qurulacağına dair qısa bir bələdçidir. Əsasən Atmel ATtiny85/45/25 mikrokontrolörləri ilə işləməsini təmin etməkdir. . Tək fərq, lövhələr siyahısında Tinusau kimi görünməsidir
Arduino və fərqli RGB Ledləri ilə necə işləmək olar: 3 addım
Arduino və Fərqli RGB Ledləri ilə necə işləmək olar: Arduino inanılmaz kiçik bir cihazdır. Ancaq bu güclü kiçik cihaz üçün ən çox istifadə edilən tətbiqlərdən biri də tez -tez bir LED -in yanıb -sönməsi və ya yanıb -sönməsidir.Bu təlimat sizə RGB Leds və Arduino ilə işləməyin üç yolunu göstərəcək. Birinci yol sadə istifadə etməkdir
IPod ilə işləmək üçün Sony Ericsson Dinamiklərini Necə Modlaşdırmaq olar: 4 Addım
IPod ilə İşləmək üçün Sony Ericsson Dinamiklərini Necə Modlaşdırmaq olar: Bu təlimatda sizə bir cüt Sony Ericsson Dinamikini iPod, MP3 və ya qulaqlıq yuvası olan hər hansı bir şeylə necə işlətməyi göstərəcəyəm! Bu mənim ilk təlimatımdır, buna görə də bəyənəcəyinizi ümid edirəm! Avadanlıq: 2,5 mm ja ilə istənilən kabel