示例#1
0
			if err != nil {
				ctx.Fatalf("Invalid NwkSKey: %s", err)
			}
			dev.GetLorawanDevice().NwkSKey = &key
		}

		if in, err := cmd.Flags().GetString("app-s-key"); err == nil && in != "" {
			key, err := types.ParseAppSKey(in)
			if err != nil {
				ctx.Fatalf("Invalid AppSKey: %s", err)
			}
			dev.GetLorawanDevice().AppSKey = &key
		}

		if in, err := cmd.Flags().GetString("app-key"); err == nil && in != "" {
			key, err := types.ParseAppKey(in)
			if err != nil {
				ctx.Fatalf("Invalid AppKey: %s", err)
			}
			dev.GetLorawanDevice().AppKey = &key
		}

		if in, err := cmd.Flags().GetInt("fcnt-up"); err == nil && in != -1 {
			dev.GetLorawanDevice().FCntUp = uint32(in)
		}

		if in, err := cmd.Flags().GetInt("fcnt-down"); err == nil && in != -1 {
			dev.GetLorawanDevice().FCntDown = uint32(in)
		}

		if in, err := cmd.Flags().GetBool("enable-fcnt-check"); err == nil && in {
示例#2
0
		if len(args) != 4 {
			cmd.UsageFunc()(cmd)
			return
		}

		appEUI, err := types.ParseAppEUI(args[0])
		if err != nil {
			ctx.WithError(err).Fatal("Could not parse AppEUI")
		}

		devEUI, err := types.ParseDevEUI(args[1])
		if err != nil {
			ctx.WithError(err).Fatal("Could not parse DevEUI")
		}

		appKey, err := types.ParseAppKey(args[2])
		if err != nil {
			ctx.WithError(err).Fatal("Could not parse AppKey")
		}

		devNonceSlice, err := types.ParseHEX(args[3], 2)
		if err != nil {
			ctx.WithError(err).Fatal("Could not parse DevNonce")
		}
		devNonce := [2]byte{devNonceSlice[0], devNonceSlice[1]}

		rtrConn, rtrClient := util.GetRouter(ctx)
		defer rtrConn.Close()

		gatewayID := viper.GetString("gateway-id")
		gatewayToken := viper.GetString("gateway-token")