Beispiel #1
0
    private async void OnPacketArrival(PacketDotNet.Ieee80211.ActionFrame actionFrame)
    {
        if (BufferMatchers.FindPatternEndsWith(actionFrame.PayloadData, this.settings.TogglePacket))
        {
            var addressBytes  = actionFrame.SourceAddress.GetAddressBytes();
            var addressString = BitConverter
                                .ToString(addressBytes)
                                .Replace("-", ":")
                                .ToLower();

            var mappedTarget = this.settings.DeviceMap
                               .SingleOrDefault(x => x.Mac == addressString);

            if (mappedTarget != default(DeviceMap))
            {
                var message = new ManagedMqttApplicationMessage()
                {
                    ApplicationMessage = new MQTTnet.MqttApplicationMessage
                    {
                        Topic   = mappedTarget.Topic,
                        Payload = Encoding.UTF8.GetBytes(mappedTarget.Message)
                    }
                };

                await this.managedMqttClient.PublishAsync(message);
            }
        }
    }
    private void OnPacketArrival(PacketDotNet.Ieee80211.ActionFrame actionFrame)
    {
        if (BufferMatchers.FindPatternEndsWith(actionFrame.PayloadData, this.settings.TogglePacket))
        {
            var addressBytes = actionFrame.SourceAddress.GetAddressBytes();

            var addressString = BitConverter
                                .ToString(addressBytes)
                                .Replace("-", ":")
                                .ToLower();

            this.logger.LogInformation("Found potential Target: {0}", addressString);
        }
    }