Otevře se na nové kartě

ESP32 MicroPython návod: Zakódování JSONu

Níže uvedený článek je článek přeložený ze stránek dfrobot.com.

Cíl tohoto návodu na MicroPython je vysvětlit, jak zakódovat JSON zprávu použitím MicroPython a knihovny ujson na ESP32. Můžete si vyzkoušet, jak umožnit podporu MicroPythonu v tomto předchozím příspěvku. Pokud potřebujete průvodce na práci se strukturou JSON, koukněte na tento předchozí příspěvek.

Všechny články o MicroPython a ESP32/ESP8266 najdete na https://chiptron.cz/articles.php?cat_id=23

Kód

Nejdříve potřebujeme importovat modul ujson, který lze provést následujícím příkazem:

import ujson

Důležitá poznámka: v době psaní tohoto článku byl ujson jeden z modulů obsažených v MicroPython firmwaru. Mohli jsme tedy jen provést import bez dalších kroků. Pokud vám nelze provést import, modul je zapotřebí manuálně instalovat.

Příklad JSON zprávy je níže. Je to simulace možné zprávy od IoT zařízení. Je v ní typ zařízení (teplotní senzor) a nějaké možné naměřené hodnoty.

{

„deviceType“: „Temperature“,

„values“: [23,22,25]

}

Potřebujeme dát konstrukci naší zprávy do proměnné. Použijeme k tomu Python knihovnu, která pracuje se strukturou jméno-hodnota. Vyhovuje to tedy konstrukci pro JSON.

Začneme tím, že nastavíme prázdnou proměnnou, kterou pojmenujeme dict. Poté nastavíme řetězec „Temperature“ do klíče „deviceType“. Do klíče „values“ nastavíme pole hodnot. Po nastavení hodnot, si proměnnou pro ověření vypíšeme.

dict = {}

dict[„deviceType“] = „Temperature“

dict[„values“] = [23,22,25]

print(dict)

Po provedení předchozího kódu, by měl být výstup podobný obrázku 1. Jak lze vidět, máme knihovnu se strukturou jméno-hodnota. Všimněte si, že řetězec reprezentuje Python knihovnu a že je velmi podobný JSON řetězci.

Terminál PuTTY zobrazuje výpis Python slovníku s typem zařízení a hodnotami teplot

Obrázek 1 – Obsah Python knihovny

Pro dokončení, převedeme knihovnu na JSON řetězec použitím funkce dumps použitého ujson modulu. Tato metoda přijímá jako vstup knihovnu a vrací JSON řetězec. Po vyvolání této funkce si zobrazíme výsledky.

encoded=ujson.dumps(dict)

print(encoded)

Finální výsledek je zobrazen na obrázku 2, kde je zakódovaný řetězec zobrazen. Všimněte si, že výstup je velmi podobný řetězcové reprezentaci knihovny, který jsme měli předtím, ale názvy a hodnoty jsou teď ve zdvojených uvozovkách místo jednoduchých.

Terminál PuTTY zobrazuje výstup MicroPythonu s JSON objektem teplotního zařízení

Obrázek 2- Finální výstup JSON programu zakódování

Originální článek je dostupný zde.

Sdílejte článek:
Tričko Chiptron s potiskem Trust me, I'm a maker
Ukaž světu,
že jsi Maker!
Koupit tričko
Kafe pro Chiptrona
Dodej energii dalšímu článku
Buy Me a Coffee

Související články

Terminál PuTTY zobrazuje v MicroPythonu načtení JSONu a výpis slovníku se jménem John

Níže uvedený článek je článek přeložený ze stránek dfrobot.

Prohlížeč zobrazuje JSON odpověď na HTTP GET požadavek

Níže uvedený článek je článek přeložený ze stránek dfrobot.

Postman zobrazuje HTTP POST požadavek s textovým tělem a odpovědí JSON

Níže uvedený článek je článek přeložený ze stránek dfrobot.

Nastavení sériového připojení k ESP32 v Putty — konfigurace pro MicroPython REPL

Dva způsoby, jak nahrát MicroPython na ESP32 — jednoduše přes Thonny IDE nebo ručně přes esptool. První blikající LEDka do pěti minut.

Terminál PuTTY zobrazuje připojení ESP32 k WiFi a získanou IP adresu

Níže uvedený článek je článek přeložený ze stránek dfrobot.

Schéma nahrávání MicroPythonu do ESP32 přes esptool, PuTTY a Octopus()

Toto je první díl ze tří – úvodního kurzu Micropython na ESP32.

Trendy