brocaar / chirpstack-simulator

Simulator utility for the ChirpStack open-source LoRaWAN Network-Server.
https://www.chirpstack.io
MIT License
64 stars 51 forks source link

[Question] How can i use json playload #3

Closed liangyuanpeng closed 1 year ago

liangyuanpeng commented 3 years ago

Thanks brocaar for opensource and work.It's cool.

Not working and not failed (no err log) when i just use json playload. So how can i use json playload for it? thanks any help!

Print some log when json playload.

chirpstack-network-server_1      | time="2020-10-23T09:58:07Z" level=info msg="gateway/mqtt: uplink frame received" gateway_id=4afcd88d122c243c uplink_id=6b062c48-5813-4cb0-bba3-fd05f1356bf4
chirpstack-network-server_1      | time="2020-10-23T09:58:07Z" level=info msg="gateway/mqtt: uplink frame received" gateway_id=bac494f446e275eb uplink_id=e2ee0135-4b68-4859-910f-770fc91e3b57
chirpstack-network-server_1      | time="2020-10-23T09:58:07Z" level=info msg="gateway/mqtt: uplink frame received" gateway_id=4fc6a244f2e07bab uplink_id=dbad7903-1cdd-4e34-92b5-e923ee6b39df
chirpstack-network-server_1      | time="2020-10-23T09:58:07Z" level=info msg="gateway/mqtt: uplink frame received" gateway_id=82539da20fd6418f uplink_id=692f98e7-f482-48a1-a3c0-e2178c27ad8a
chirpstack-network-server_1      | time="2020-10-23T09:58:07Z" level=info msg="gateway/mqtt: uplink frame received" gateway_id=c2f109acd1d80e07 uplink_id=01a765aa-0e4d-4073-a964-32fb4f652b22
chirpstack-network-server_1      | time="2020-10-23T09:58:07Z" level=info msg="uplink: frame(s) collected" ctx_id=d2f9424e-471d-409f-b9a1-19da04366133 mtype=UnconfirmedDataDown uplink_ids="[dbad7903-1cdd-4e34-92b5-e923ee6b39df 692f98e7-f482-48a1-a3c0-e2178c27ad8a 6b062c48-5813-4cb0-bba3-fd05f1356bf4 e2ee0135-4b68-4859-910f-770fc91e3b57 01a765aa-0e4d-4073-a964-32fb4f652b22]"

My code

func (d *Device) sendUplink(phy lorawan.PHYPayload) error {
jsonb, jsonerr := phy.MarshalJSON()
    if jsonerr != nil {
        log.WithField("phy.MarshalJSON.failed:", jsonerr).Info("sendUplink")
        // log.Println("phy.MarshalJSON.failed:", jsonerr)
    }
    //log.WithField("jsonb:", string(jsonb)).Info("sendUplink")

    // log.Println("jsonb:", string(jsonb))

    _, err := phy.MarshalBinary()
    if err != nil {
        return errors.Wrap(err, "marshal phypayload error")
    }

pl := gw.UplinkFrame{
        PhyPayload: jsonb,
        TxInfo:     &d.uplinkTXInfo,
    }
     ...

Version: master