Ejemplo n.º 1
0
        public async Task <IActionResult> RegisterDevices(RegisterDeviceDto[] deviceDtos)
        {
            List <Device> devices = deviceDtos.Select(dto => new Device
            {
                DeviceEui = dto.DeviceEui,
                Address   = dto.Address,
                Status    = new DeviceStatus
                {
                    DeviceWorking = true,
                    SentToKommune = true
                },
                Configuration = new DeviceConfiguration
                {
                    HeartbeatPeriodDays = dto.Configuration.HeartbeatPeriodDays,
                    ScanMinuteOfTheDay  = dto.Configuration.ScanMinuteOfTheDay,
                    Status = ConfigurationStatus.NotSent
                }
            }).ToList();
            await _detectionSystemService.RegisterDevices(devices);

            foreach (Device device in devices)
            {
                _endNodeCommunicator.SendMessage(new DownlinkDataMessage
                {
                    Confirmed = true,
                    DeviceEui = device.DeviceEui,
                    Data      = DetectionSystemServiceUtil.ConfigurationToDataString(device.Configuration.ScanMinuteOfTheDay, device.Configuration.HeartbeatPeriodDays)
                });
                await _detectionSystemService.SetDeviceConfigurationStatus(device.DeviceEui, ConfigurationStatus.SentToNetwork);
            }

            return(Ok());
        }
Ejemplo n.º 2
0
 public void ConfigurationToDataStringTest()
 {
     Assert.Equal("04C105", DetectionSystemServiceUtil.ConfigurationToDataString(1217, 5));
     Assert.Equal("001F05", DetectionSystemServiceUtil.ConfigurationToDataString(31, 5));
     Assert.Equal("000305", DetectionSystemServiceUtil.ConfigurationToDataString(3, 5));
     Assert.Equal("00001C", DetectionSystemServiceUtil.ConfigurationToDataString(0, 28));
 }
Ejemplo n.º 3
0
        public async Task <IActionResult> ConfigureDevices(ConfigurationDto[] configurations)
        {
            List <ConfigureDevice> configureDevices = new List <ConfigureDevice>();

            foreach (ConfigurationDto configurationDto in configurations)
            {
                foreach (string deviceEui in configurationDto.DeviceEuis)
                {
                    configureDevices.Add(new ConfigureDevice
                    {
                        DeviceEui     = deviceEui,
                        Configuration = new DeviceConfiguration
                        {
                            HeartbeatPeriodDays = configurationDto.Configuration.HeartbeatPeriodDays,
                            ScanMinuteOfTheDay  = configurationDto.Configuration.ScanMinuteOfTheDay,
                            Status = ConfigurationStatus.NotSent
                        }
                    });
                }
            }

            await _detectionSystemService.ConfigureDevices(configureDevices);

            foreach (ConfigureDevice configureDevice in configureDevices)
            {
                _endNodeCommunicator.SendMessage(new DownlinkDataMessage
                {
                    Confirmed = true,
                    DeviceEui = configureDevice.DeviceEui,
                    Data      = DetectionSystemServiceUtil.ConfigurationToDataString(configureDevice.Configuration.ScanMinuteOfTheDay, configureDevice.Configuration.HeartbeatPeriodDays)
                });
                await _detectionSystemService.SetDeviceConfigurationStatus(configureDevice.DeviceEui, ConfigurationStatus.SentToNetwork);
            }

            return(Ok());
        }