Мазмуну:
- Жабдуулар
- 1 -кадам: REST JSON Http (s) протоколу
- 2 -кадам: агым
- 3 -кадам: Куралдар тактасы
- 4 -кадам: Импорттук агым (долбоор, скрипт, ж.б.)
- 5 -кадам: Мунун баары кантип бирге иштейт
- 6 -кадам: HTTP POST жана Get
- 7 -кадам: Баскыч түйүндөрү
- 8 -кадам: Функция түйүнү
- 9 -кадам: JSON Node жана Inject Node
- 10 -кадам: Текст түйүнү жана мүчүлүштүктөрдү оңдоо түйүнү
- 11 -кадам: Диаграмма түйүнү
- 12 -кадам: ченегич түйүн жана шилтеме түйүндөрү
- 13 -кадам: Менин көрсөтмөмдү окуганыңыз үчүн рахмат
Video: Node-REDде JSON менен кантип иштөө керек: 13 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Бул көрсөтмө сизге JSON менен түйүн-REDде кантип иштөөнү үйрөтөт. Мен сизге json файлдарын http get and post аркылуу берүү менен тармактык розеткаларды кантип башкарууну көрсөтөм. Жана бул билимди кийин JSON протоколун колдогон каалаган түзмөктү көзөмөлдөө үчүн колдоно аласыз.
Окутуу максатында мен NETIO 4All тармактык розеткасын колдоном, бирок кабатыр болбо, эч нерсе сатып алуунун кереги жок. NETIO укмуштуудай 4All онлайн демо колдоно аласыз.
Жабдуулар
NETIO 4All тармактык powerocket же 4All онлайн демо:
Түйүн-КЫЗЫЛ
1 -кадам: REST JSON Http (s) протоколу
Бул бөлүк бир аз техникалык, бирок мага чыдап коюңуз. Эгерде мен бул бөлүктү түшүндүрбөсөм, анда биз түйүн-КЫЗЫЛ аркылуу жөнөтө турган json файлдарындагы баалуулуктарды түшүнүүдө көйгөйлөргө туш болмоксуз.
Ар бир чыгууга тиешелүү аракеттер (электр розеткасы):
Бардык M2M протоколдорунда, NETIO электр розеткалары жеке чыгууларга карата колдонула турган аракеттерди колдонушат. Мисалы, Toggle же Short Off аракети каалаган чыгууга жазылышы мүмкүн.
Бирок, Action өзгөрмөсү баалуулуктарды жазуу үчүн гана колдонулушу мүмкүн, аны учурдагы розетка абалын окуу үчүн колдонууга болбойт.
Булар ар бир чыгарылышка карата колдонула турган аракеттер:
0 = Чыгуу өчүрүлдү (Өчүк)
1 = Output күйгүзүлдү (On)
2 = Чыгуу кыска убакытка өчүрүлдү (кыска өчүрүү)
3 = Чыгуу кыска убакытка күйгүзүлдү (кыска күйүк)
4 = Чыгуу бир абалдан экинчисине которулду (которуштуруу)
5 = Output абалы өзгөрүүсүз (өзгөрүүсүз)
6 = Этибарга алынбайт
Мисал - JSON файлы, чыгаруу номерин которуу үчүн. 1:
{
"Чыгаруулар": [{
"ID": 1, "Аракет": 4
}]
}
ID - бул сан биз колдоно турган продукцияны көрсөтөт
Аракет - бул бөлүк, бул чыгаруучу иш -аракет (мис. 1 (Чыгууну күйгүзүү))
2 -кадам: агым
Ал эми азыр негизги бөлүгү. Түйүндүү КЫЗЫЛ чөйрө ушундай көрүнөт.
Биз URL API агымын импорттодук (Сиз көрүп жаткан долбоор. Кийинчерээк мен сизге агымдарды жана бул долбоорду импорттоону көрсөтөм) Бул долбоор эки бөлүктөн турат:
- NETIO AN30 (JSON REST API) агымы
- Куралдар тактасы (Программаңызды иштете турган графикалык интерфейс)
3 -кадам: Куралдар тактасы
Бул көрсөтмө үчүн түйүн-КЫЗЫЛ тактасы ушундай көрүнөт. Сиз өзүңүздүн табитиңизге ылайыкташтырууну кааласаңыз, аны өзүңүзгө ылайыкташтырсаңыз болот.
Бул долбоордун панели 4 бөлүккө бөлүнөт:
- Түзмөк Статусу - модель, Mac дареги же жабдыктын версиясы сыяктуу түзмөк маалыматын көрсөтөт.
- (POST) Control Output 1 - Чыгууну көзөмөлдөгөн 5 баскычтан турат. Ар бир баскыч ар кандай аракеттерди аткарат
- (GET) O1 - O4 Output States - Бул бөлүк сиздин түзмөгүңүздөгү ар бир чыгаруунун учурдагы абалын көрсөтөт.
- Түзмөктү башкаруу - Бул бөлүктө NETIO 4Aall түзмөгүнөн учурдагы ченелген баалуулуктарды көрсөтүүчү ар кандай графиктерди жана өлчөгүчтөрдү таба аласыз.
4 -кадам: Импорттук агым (долбоор, скрипт, ж.б.)
Менюда (оң жактагы жогорку бурчта) Импорттоону, анан Алмашуу буферин тандаңыз.
Андан кийин, төмөндөгү текстти көрсөтүлгөн талаага көчүрүп, Импорттоону чыкылдатыңыз.
Жетишпеген түйүндөр орнотулууда
Түйүндөр тандалган агымга жүктөлөт. Мүмкүн, ката билдирүүсү импорттолуп жаткан, бирок азырынча Node-REDде орнотулбаган түйүндөрдүн тизмеси менен көрсөтүлүшү мүмкүн. Бул учурда, жок болгон түйүндөрдү орнотуу керек.
Эгерде түйүндөр жок болсо, менюдан Палитраны башкарууну тандап, Орнотууну чыкылдатып, жок болгон түйүндөрдү таап орнотуңуз.
Текстти импорттоо:
[{"id": "56b9510c.98c6f", "type": "tab", "label": "NETIO AN30 (REST JSON)", "өчүрүлгөн": жалган, "маалымат": ""}, {"id ":" 6a66b637.da1558 "," type ":" http өтүнүчү "," z ":" 56b9510c.98c6f "," аталышы ":" HTTP Сурамы (POST) "," метод ":" POST "," ret ": "txt", "url": "https://netio-4All.netio-products.com:8080/netio.json", "tls": "", "x": 430, "y": 100, "зымдар":
5 -кадам: Мунун баары кантип бирге иштейт
Агым негизинен эки бөлүккө бөлүнөт: POST жана GET.
POST: O1ге жазуу
- Агымдагы Куралдар тактасында түзүлгөн беш баскыч панелде көрсөтүлөт.
- Панелдеги Output 1 = ON баскычын чыкылдаткандан кийин, пайдалуу жүк netio.json файлына коюлат, ал өндүрүштү жана аракетти (баскычтардын ар бири үчүн аныкталган) көрсөтөт.
- HTTP Request (POST) блогу netio.json файлын IP дарегине суроо катары жөнөтөт.
- Сервердин жообу (статусу) чыгаруу катары кайтарылат.
- Msg.payload блогу HTTP Сурамынын (POST) натыйжасын көрсөтөт.
Get: O1 - O4 чейин окуу
- 1 Second Repeat блогу бир секунддун ичинде активдешет, HTTP Request (GET) блогу, ал өз кезегинде netio.jsonду GET суранычы катары жөнөтөт жана серверден алынган сокет статусу менен толук JSON файлын кайтарат.
- JSON Parse блогу JSON файлын HTTP Request (GET) блогунан JSON объектине айландырат, андыктан JSON файлындагы касиеттерди башкарууга мүмкүн болот.
- Функция блогу JSON объектисинин айрым бөлүктөрүн алат жана аларды кийинчерээк колдонуу үчүн msg объектинин касиеттерине айландырат.
- Учурдагы диаграмма блогу msg.payloadду msg. TotalCurrent касиетине коет, анткени кийинки Учурдагы диаграмма (Түзмөк) блогу msg.payload маанисин гана көрсөтө алат.
- JSON объектисинен алынган, msg объектинин тандалган касиеттерин башкаруу панелинде көрсөтүү үчүн ар кандай чыгаруу түйүндөрү иштейт.
Msg объектиси жана msg.payload
Жөнөкөй жана кыска түшүндүрмөнү бул жерден караңыз:
www.steves-internet-guide.com/node-red-mess…
6 -кадам: HTTP POST жана Get
HTTP Сурамы (POST)
Бул түйүн NETIO 4All түзмөгүн көзөмөлдөө үчүн netio.json буйрук файлын HTTP Сурамы (POST) катары жөнөтөт.
HTTP Сурамы (Get)
Бул түйүн HTTP сурамын (GET) жөнөтөт жана статустун жообун кайтарат.
Алдын ала толтурулган дарек NETIO 4All онлайн демонстрациясын көрсөтөт, анда сиз столунда NETIO аппараты жок туруп туташууну текшере аласыз.
netio-4all.netio-products.com
Бул түйүндөрдө өз IP дарегиңизди коюуга болот; бирок, IPти HTTP Request түйүндөрүндө, POSTте жана GETте өзгөртүү керек.
7 -кадам: Баскыч түйүндөрү
Баскычтын түйүнүн басуу netio.json файлын камтыган билдирүүнү пайда кылат (Оң жактагы сүрөт), андан кийин http пост түйүнү аркылуу netio акылдуу электр розеткасына жөнөтүлөт.
8 -кадам: Функция түйүнү
Функция түйүнү - бул колдонуучунун JavaScript функциясын жазууга мүмкүнчүлүк берген атайын түйүн.
Бул көрсөтмөдө, функция талданган JSON файлынан (азыр JSON объектиси) баалуулуктарды тандайт жана аларды msg объектинин касиеттерине дайындайт.
Код төрт бөлүмгө бөлүнөт:
- JSON объектисинен msg объектинин жеке касиеттерине баалуулуктарды дайындоо
-
Тармактык розетка глобалдык өлчөөлөрдү колдобосо, катаны иштетүү
Эгерде тармактык розетка глобалдык баалуулуктарды өлчөөнү колдобосо, Node-RED каталарды көрсөтөт, анткени бул функция тиешелүү касиетти таба албайт, мис. msg.payload. GlobalMeasure. Voltage, анткени ал JSON объектисинде болбойт. Бул учурда, msg объектинин касиети, мис. msg. Voltage, 0 деп коюлган жана ката кармалган.
- Чыгуу абалынын маанилерин дайындоо
- Чыгуу абалына жараша көрсөтүлгөн абал абалынын түстөрүн коюу
9 -кадам: JSON Node жана Inject Node
JSON түйүнү
JSON түйүнү JSON файлын талдайт жана аны JSON объектине айландырат.
Серверден GET сурамына жооп катары, HTTP суроо түйүнү NETIO 4x түзмөгүнүн учурдагы абалын камтыган JSON файлын кайтарат, бирок бул жөн гана текст файлы, андыктан маалыматтар менен иштөө үчүн JSON файлы керек. JSON объектине талдоо үчүн.
Түйүндү сайыңыз
Ар бир секунд сайын, бул түйүн GET сурамын жөнөтүүчү HTTP Сурам түйүнүн активдештирет.
Натыйжада, панелдеги баалуулуктар бир секундага чейин жаңыртылып турат
10 -кадам: Текст түйүнү жана мүчүлүштүктөрдү оңдоо түйүнү
Текст түйүнү
Куралдар тактасында текст талаасын көрсөтөт. Бул нускамада текст түйүндөрү учурдагы, чыңалуудагы, моделдин, жабдыктын версиясын же JSON версиясын көрсөтөт.
Этикетка тактасында көрсөтүлөт, ал эми Аты Node-RED агымында көрсөтүлгөн түйүндүн аталышы.
Мүчүлүштүктөрдү оңдоо түйүнү
Msg.payload көрсөтөт.
11 -кадам: Диаграмма түйүнү
Бул түйүн учурдагы диаграмманы панелдеги пайдалуу жүктүн наркына жараша түзөт.
Бул түйүн пайдалуу жүктүн наркына ылайык диаграммаларды гана түзө алат.
Ушул себептен улам, msg.payload көрсөткүчүн дисплейге коюу үчүн функция түйүнү колдонулат.
msg.payload = msg. TotalCurrent;
12 -кадам: ченегич түйүн жана шилтеме түйүндөрү
Өлчөө түйүнү
Бул түйүн панелге ченегич виджет кошот.
Бул көрсөтмөдө, ар бир өлчөгүч msg объектинин бир касиетин элестетет: чыңалуу [V], curent [A], жыштык [Hz] жана жалпы True Power Factor (TPF).
Шилтеме түйүндөрү
Түйүндөрдү туташтыруу шилтеме туннель сыяктуу иштейт. Msg.payload түйүндөгү шилтемеге келип, шилтеме түйүнүнөн чыгып кетет.
Мен муну агымды бир аз түшүнүктүү жана окууга жеңил кылуу үчүн колдондум.
13 -кадам: Менин көрсөтмөмдү окуганыңыз үчүн рахмат
Сиз менин үйрөткөн сабагымдан ырахат алдыңыз деп үмүттөнөм жана үмүт менен жаңы нерсени үйрөндүңүз.
Бул көрсөтмө мен жасаган ар кандай гиддердин кыскартылган версиясы
Түпнуска көрсөтмө узунураак жана деталдарга көбүрөөк багытталган жана жалпысынан жакшыраак структураланган. Эгерде сиз бир нерсени түшүнбөсөңүз же мен бир нерсени сагындым же жетиштүү түшүндүргөн жокмун деп ойлосоңуз, анда аны сөзсүз ошол жерден таба аласыз.
Мен убада берем, көңүлүңүз калбайт
Түпнуска:
Ошондой эле, Node-REDдин ар кандай колдонулушу жөнүндө окшош колдонмолор бар, андыктан сизди кызыктырса, анда изилдөөгө болот:
RED URL API менен иштөө түйүн-КЫЗЫЛ
www.netio-products.com/en/application-notes/an29-node-red-example-of-url-api-communication-with-netio-4x
REST XML менен түйүн-REDде иштөө
www.netio-products.com/en/application-notes/an31-node-red-example-of-rest-xml-communication-with-netio-4x
TCP/Modbus менен түйүн-КЫЗЫЛда иштөө
Жакында келет:)
Сунушталууда:
Батарейканын узакка иштөө температурасы сенсорун кантип бузуу керек: 4 кадам
Батарейканын узак иштөө мөөнөтү үчүн температура сенсорун кантип бузуу керек: Inkbird IBS-TH1-бул температура менен нымдуулукту бир нече саат же күн ичинде каттоого ыңгайлуу кичинекей аппарат. Аны ар бир 10 мүнөткө чейин секунд сайын каттоого койсо болот жана Bluetooth LE аркылуу маалыматтарды андроид же iOS смартфондоруна кабарлайт. Колдонмо
Tinusaur такталары менен иштөө үчүн Arduino IDEди кантип орнотуу керек: 3 кадам
Tinusaur такталары менен иштөө үчүн Arduino IDEди кантип орнотуу керек: Бул Tinusaur такталары менен иштөө үчүн Arduino IDEди кантип орнотуу керек экени жөнүндө кыскача маалымат. Негизинен ал Atmel ATtiny85/45/25 микроконтроллери менен иштеши керек. . Жалгыз айырмасы, ал тактайлардын тизмесинде Tinusau катары пайда болот
Arduino жана башка RGB Leds менен кантип иштөө керек: 3 кадам
Arduino жана башка RGB Leds менен кантип иштөө керек: Arduino - бул укмуштай кичинекей түзмөк. Бул кичинекей түзмөктө эң көп колдонулган тиркемелердин бири - бул көп учурда LEDди жаркыратуу же өчүрүү. Бул окуу куралы сизге RGB Leds жана Arduino менен иштөөнүн үч жолун көрсөтөт. Биринчи ыкма жөнөкөй колдонуу
IPod менен иштөө үчүн Sony Ericsson динамиктерин кантип өзгөртүү керек.: 4 кадам
IPod менен иштөө үчүн Sony Ericsson спикерлерин кантип модернизациялоо керек: Бул көрсөтмөдө мен сизге Sony Ericsson динамиктеринин жуптарын iPod, MP3 же гарнитура розеткасы бар нерселер менен кантип иштөө керектигин көрсөтөм! Бул менин биринчи үйрөткүчүм, андыктан сизге жагат деп ишенем! Жабдуулар: 2,5 мм я менен каалаган кабель
Гитаранын спикери кутучасын кантип куруу керек же стерео үчүн экөөнү кантип куруу керек: 17 кадам (сүрөттөр менен)
Гитаранын спикери кутучасын кантип куруу керек же стерео үчүн экөөнү кантип куруу керек?: Мен куруп жаткан түтүк амп менен жаңы гитаралык спикердин барышын кааладым. Баяндамачы менин дүкөнүмдө калат, андыктан өзгөчө бир нерсенин кереги жок. Толекс жабуусу өтө оңой эле бузулуп калышы мүмкүн, ошондуктан мен кумдун артынан сыртын кара чачтым