You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/hr/1-getting-started/lessons/4-connect-internet/single-board-computer-comma...

3.4 KiB

Kontrolirajte svoju noćnu lampu putem Interneta - Virtualni IoT hardver i Raspberry Pi

U ovom dijelu lekcije pretplatit ćete se na naredbe poslane s MQTT brokera na vaš Raspberry Pi ili virtualni IoT uređaj.

Pretplata na naredbe

Sljedeći korak je pretplata na naredbe poslane s MQTT brokera i odgovaranje na njih.

Zadatak

Pretplatite se na naredbe.

  1. Otvorite projekt noćne lampe u VS Code-u.

  2. Ako koristite virtualni IoT uređaj, provjerite je li terminal pokrenut u virtualnom okruženju. Ako koristite Raspberry Pi, nećete koristiti virtualno okruženje.

  3. Dodajte sljedeći kod nakon definicija client_telemetry_topic:

    server_command_topic = id + '/commands'
    

    server_command_topic je MQTT tema na koju će se uređaj pretplatiti kako bi primao naredbe za LED.

  4. Dodajte sljedeći kod neposredno iznad glavne petlje, nakon linije mqtt_client.loop_start():

    def handle_command(client, userdata, message):
        payload = json.loads(message.payload.decode())
        print("Message received:", payload)
    
        if payload['led_on']:
            led.on()
        else:
            led.off()
    
    mqtt_client.subscribe(server_command_topic)
    mqtt_client.on_message = handle_command
    

    Ovaj kod definira funkciju handle_command koja čita poruku kao JSON dokument i traži vrijednost svojstva led_on. Ako je postavljeno na True, LED se uključuje, inače se isključuje.

    MQTT klijent se pretplaćuje na temu na koju će poslužitelj slati poruke i postavlja funkciju handle_command da se pozove kada se primi poruka.

    💁 Obradnik on_message poziva se za sve teme na koje ste pretplaćeni. Ako kasnije napišete kod koji sluša više tema, možete dobiti temu na koju je poruka poslana iz objekta message proslijeđenog funkciji obrade.

  5. Pokrenite kod na isti način kao što ste pokrenuli kod iz prethodnog dijela zadatka. Ako koristite virtualni IoT uređaj, provjerite je li CounterFit aplikacija pokrenuta i jesu li senzor svjetla i LED stvoreni na ispravnim pinovima.

  6. Prilagodite razine svjetla koje detektira vaš fizički ili virtualni uređaj. Poruke koje se primaju i naredbe koje se šalju bit će ispisane u terminalu. LED će se također uključivati i isključivati ovisno o razini svjetla.

💁 Ovaj kod možete pronaći u mapi code-commands/virtual-device ili mapi code-commands/pi.

😀 Uspješno ste programirali svoj uređaj da odgovara na naredbe s MQTT brokera.


Odricanje od odgovornosti:
Ovaj dokument je preveden pomoću AI usluge za prevođenje Co-op Translator. Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane čovjeka. Ne preuzimamo odgovornost za nesporazume ili pogrešna tumačenja koja mogu proizaći iz korištenja ovog prijevoda.