Contrôle de l'éclairage extérieur

Une fois, j'ai été confronté à la tâche de moderniser le système de contrôle de l'éclairage extérieur: éclairage artistique des façades, panneaux publicitaires, poteaux de rue, éclairage des plaques d'adresse, etc. participation humaine. Pour que la commande fonctionne comme prévu, il était nécessaire d'ajuster manuellement les heures de marche et d'arrêt.





IT . , . , , . . , , , .





: , , , .





, , . . , - . , . () .





. (). RS485 -, . SCADA OPC-, Ethernet, . .





, . , : , . . , . . .





, , . . , / , . , . : , () 0. . , "-6" , 6°. , , . .





, . , . -, - . , . , Ethernet, , Linux-.





-, . - , Modbus TCP.





Modbus modpoll. Linux :





$ wget https://www.modbusdriver.com/downloads/modpoll.tgz
$ tar xzf modpoll.tgz
$ sudo cp modpoll/linux_x86-64/modpoll /usr/local/bin/
      
      



:





# 
$ modpoll -m tcp -r 2 -t 0 -a 1 -p 502 192.168.0.227 1 1 1 1 1 1 1 1 

# 
$ modpoll -m tcp -r 2 -t 0 -a 1 -p 502 192.168.0.227 0 0 0 0 0 0 0 0 
      
      



- . , . , , "".





, «». , . : , . , 0°50′ 6°, — 6° 12°, — 12° 18°.





. , , . , ( -6° ) ( -6° ). , , , -6° .





.

, , . . , . , , . , , . - .





, , .





Youtube - / How the sun moves across the sky (by daybit).





, . - , - . Linux Perl, . :





$ sudo cpan install Astro::Coord::ECI
      
      



get_sun_elevation.pl, .





#!/usr/bin/perl
#          
# get_sun_elevation.pl 55.7558 37.6173 127
# 55.7558 -   
# 37.6173 -   
# 127 -      

use Astro::Coord::ECI::Sun;
use Astro::Coord::ECI::Utils qw{:all};

my ($lat, $lon, $elev) = (deg2rad($ARGV[0]), deg2rad($ARGV[1]), $ARGV[2]/1000);

my $time = time ();

my $loc = Astro::Coord::ECI->geodetic ($lat, $lon, $elev);

my $sun = Astro::Coord::ECI::Sun->universal ($time);

my ($azimuth, $elevation, $range) = $loc->azel ($sun);

print rad2deg ($elevation), "\n";
      
      



moscow_lights_ctrl.sh . , , - :





#!/bin/sh

[ -z "$1" ] && angle=-6 || angle=$1

sun_angle=`./sun_pos.pl 55.751244 37.618423 124`

if [ $(echo "$sun_angle >= $angle" |bc -l) -eq "0" ]; then
  modpoll -m tcp -r 2 -t 0 -a 1 -p 502 192.168.0.227 1 1 1 1 1 1 1 1
  exit 0
fi

modpoll -m tcp -r 2 -t 0 -a 1 -p 502 192.168.0.227 0 0 0 0 0 0 0 0
      
      



, , -1.5°. , , .





cron moscow_lights_ctrl.sh :





#    1.5  -  ,  - 
* * * * * root /path/to/moscow_lights_ctrl.sh -1.5
      
      



. , . -, Modbus TCP.





. .





ZABBIX

, . . , . , .. , . , - ZABBIX.





. ZABBIX.





ZABBIX

astro_outdoor_lighting Zabbix :





  • {$CIVIL_DEGREES} - . ,





  • {$ELEV} - ,





  • {$LAT} - ,





  • {$LON} - .





- elevation. .





, get_sun_elevation.pl.





/usr/lib/zabbix/externalscripts/get_sun_elevation.pl
#!/usr/bin/perl
#          
# get_sun_elevation.pl 55.7558 37.6173 127
# 55.7558 -   
# 37.6173 -   
# 127 -      

use Astro::Coord::ECI::Sun;
use Astro::Coord::ECI::Utils qw{:all};

my ($lat, $lon, $elev) = (deg2rad($ARGV[0]), deg2rad($ARGV[1]), $ARGV[2]/1000);

my $time = time ();

my $loc = Astro::Coord::ECI->geodetic ($lat, $lon, $elev);

my $sun = Astro::Coord::ECI::Sun->universal ($time);

my ($azimuth, $elevation, $range) = $loc->azel ($sun);

print rad2deg ($elevation), "\n";
      
      



ZABBIX .





civil_twilight_dawn , . . , .





github.





, , . .





ZABBIX

[]->[] facade light off facade light on.





civil_twilight_dawn "", , .. facade light on. , facade light off. []->[] facade light, .





.





ZABBIX .





. - .





, ( cron) . . , . ., . , - , .





La variante avec l'utilisation d'un système de surveillance peut résoudre des problèmes encore plus intéressants. En plus du contrôle, il permet de surveiller le fonctionnement de l'équipement et d'avertir le personnel lorsqu'un dysfonctionnement est détecté. Un exemple est l'inclusion synchrone d'enseignes publicitaires sur la façade d'un centre commercial. Et en cas de dysfonctionnement de l'un des panneaux, le personnel d'exploitation recevra un message.





Bien entendu, tout ce qui précède est pertinent en présence de tout type d'infrastructure informatique. Mais, en règle générale, il est disponible.





C'est tout. Merci pour l'attention!








All Articles