Audible signal test - Mikrotik Script RouterOS
Script for audible signal test on boards with beeper:
Code compatible with version 2.9:
:local beep "10ms";
:local no "2400ms";
:local 90 "1290ms";
:local 85 "790ms";
:local 80 "590ms";
:local 77 "390ms";
:local 74 "290ms";
:local 71 "240ms";
:local 68 "190ms";
:local 65 "140ms";
:local 62 "90ms";
:local 59 "60ms";
:local 56 "40ms";
:local 53 "20ms";
:local 50 "10ms";
:for i from=1 to=100 do={
/interface wireless monitor wlan1 interval=1 do={
:if ($signal-strength <= -90) do={
:delay $no;
}
:if ($signal-strength <= -85 && $signal-strength > -90) do={
:for i from=1 to=2 do={ :beep length=$beep; :delay $90; }
}
:if ($signal-strength <= -80 && $signal-strength > -85) do={
:for i from=1 to=3 do={ :beep length=$beep; :delay $85; }
}
:if ($signal-strength <= -77 && $signal-strength > -80) do={
:for i from=1 to=4 do={ :beep length=$beep; :delay $80; }
}
:if ($signal-strength <= -74 && $signal-strength > -77) do={
:for i from=1 to=6 do={ :beep length=$beep; :delay $77; }
}
:if ($signal-strength <= -71 && $signal-strength > -74) do={
:for i from=1 to=8 do={ :beep length=$beep; :delay $74; }
}
:if ($signal-strength <= -68 && $signal-strength > -71) do={
:for i from=1 to=10 do={ :beep length=$beep; :delay $71; }
}
:if ($signal-strength <= -65 && $signal-strength > -68) do={
:for i from=1 to=12 do={ :beep length=$beep; :delay $68; }
}
:if ($signal-strength <= -62 && $signal-strength > -65) do={
:for i from=1 to=16 do={ :beep length=$beep; :delay $65; }
}
:if ($signal-strength <= -59 && $signal-strength > -62) do={
:for i from=1 to=24 do={ :beep length=$beep; :delay $62; }
}
:if ($signal-strength <= -56 && $signal-strength > -59) do={
:for i from=1 to=34 do={ :beep length=$beep; :delay $59; }
}
:if ($signal-strength <= -53 && $signal-strength > -56) do={
:for i from=1 to=48 do={ :beep length=$beep; :delay $56; }
}
:if ($signal-strength <= -50 && $signal-strength > -53) do={
:for i from=1 to=80 do={ :beep length=$beep; :delay $53; }
}
:if ($signal-strength <= -20 && $signal-strength > -50) do={
:for i from=1 to=120 do={ :beep length=$beep; :delay $50; }
}
}
}
Code compatible with version 3:
:local beep "10ms";
:local no "2400ms";
:local s90 "1290ms";
:local s85 "790ms";
:local s80 "590ms";
:local s77 "390ms";
:local s74 "290ms";
:local s71 "240ms";
:local s68 "190ms";
:local s65 "140ms";
:local s62 "90ms";
:local s59 "60ms";
:local s56 "40ms";
:local s53 "20ms";
:local s50 "10ms";
:for i from=1 to=100 do={
/interface wireless monitor wlan1 interval=1 do={
:if ($"signal-strength" <= -90) do={
:delay $no;
}
:if ($"signal-strength" <= -85 && $"signal-strength" > -90) do={
:for i from=1 to=2 do={ :beep length=$beep; :delay $s90; }
}
:if ($"signal-strength" <= -80 && $"signal-strength" > -85) do={
:for i from=1 to=3 do={ :beep length=$beep; :delay $s85; }
}
:if ($"signal-strength" <= -77 && $"signal-strength" > -80) do={
:for i from=1 to=4 do={ :beep length=$beep; :delay $s80; }
}
:if ($"signal-strength" <= -74 && $"signal-strength" > -77) do={
:for i from=1 to=6 do={ :beep length=$beep; :delay $s77; }
}
:if ($"signal-strength" <= -71 && $"signal-strength" > -74) do={
:for i from=1 to=8 do={ :beep length=$beep; :delay $s74; }
}
:if ($"signal-strength" <= -68 && $"signal-strength" > -71) do={
:for i from=1 to=10 do={ :beep length=$beep; :delay $s71; }
}
:if ($"signal-strength" <= -65 && $"signal-strength" > -68) do={
:for i from=1 to=12 do={ :beep length=$beep; :delay $s68; }
}
:if ($"signal-strength" <= -62 && $"signal-strength" > -65) do={
:for i from=1 to=16 do={ :beep length=$beep; :delay $s65; }
}
:if ($"signal-strength" <= -59 && $"signal-strength" > -62) do={
:for i from=1 to=24 do={ :beep length=$beep; :delay $s62; }
}
:if ($"signal-strength" <= -56 && $"signal-strength" > -59) do={
:for i from=1 to=34 do={ :beep length=$beep; :delay $s59; }
}
:if ($"signal-strength" <= -53 && $"signal-strength" > -56) do={
:for i from=1 to=48 do={ :beep length=$beep; :delay $s56; }
}
:if ($"signal-strength" <= -50 && $"signal-strength" > -53) do={
:for i from=1 to=80 do={ :beep length=$beep; :delay $s53; }
}
:if ($"signal-strength" <= -20 && $"signal-strength" > -50) do={
:for i from=1 to=120 do={ :beep length=$beep; :delay $s50; }
}
}
}
Code for RouterBoard 411 with led and sound aligment:
:local beep "10ms";
:local no "2400ms";
:local s90 "1290ms";
:local s85 "790ms";
:local s80 "590ms";
:local s77 "390ms";
:local s74 "290ms";
:local s71 "240ms";
:local s68 "190ms";
:local s65 "140ms";
:local s62 "90ms";
:local s59 "60ms";
:local s56 "40ms";
:local s53 "20ms";
:local s50 "10ms";
:for i from=1 to=100 do={
/interface wireless monitor wlan1 interval=1 do={
:if ($"signal-strength" <= -90) do={
:delay $no;
}
:if ($"signal-strength" <= -85 && $"signal-strength" > -90) do={
:for i from=1 to=2 do={ :beep length=$beep; :delay $s90; :led led1=yes led2=no led3=no led4=no led5=no }
}
:if ($"signal-strength" <= -80 && $"signal-strength" > -85) do={
:for i from=1 to=3 do={ :beep length=$beep; :delay $s85; :led led1=yes led2=no led3=no led4=no led5=no }
}
:if ($"signal-strength" <= -77 && $"signal-strength" > -80) do={
:for i from=1 to=4 do={ :beep length=$beep; :delay $s80; :led led1=yes led2=yes led3=no led4=no led5=no }
}
:if ($"signal-strength" <= -74 && $"signal-strength" > -77) do={
:for i from=1 to=6 do={ :beep length=$beep; :delay $s77; :led led1=yes led2=yes led3=no led4=no led5=no }
}
:if ($"signal-strength" <= -71 && $"signal-strength" > -74) do={
:for i from=1 to=8 do={ :beep length=$beep; :delay $s74; :led led1=yes led2=yes led3=yes led4=no led5=no }
}
:if ($"signal-strength" <= -68 && $"signal-strength" > -71) do={
:for i from=1 to=10 do={ :beep length=$beep; :delay $s71; :led led1=yes led2=yes led3=yes led4=no led5=no }
}
:if ($"signal-strength" <= -65 && $"signal-strength" > -68) do={
:for i from=1 to=12 do={ :beep length=$beep; :delay $s68; :led led1=yes led2=yes led3=yes led4=yes led5=no }
}
:if ($"signal-strength" <= -62 && $"signal-strength" > -65) do={
:for i from=1 to=16 do={ :beep length=$beep; :delay $s65; :led led1=yes led2=yes led3=yes led4=yes led5=no }
}
:if ($"signal-strength" <= -59 && $"signal-strength" > -62) do={
:for i from=1 to=24 do={ :beep length=$beep; :delay $s62; :led led1=yes led2=yes led3=yes led4=yes led5=no }
}
:if ($"signal-strength" <= -56 && $"signal-strength" > -59) do={
:for i from=1 to=34 do={ :beep length=$beep; :delay $s59; :led led1=yes led2=yes led3=yes led4=yes led5=yes }
}
:if ($"signal-strength" <= -53 && $"signal-strength" > -56) do={
:for i from=1 to=48 do={ :beep length=$beep; :delay $s56; :led led1=yes led2=yes led3=yes led4=yes led5=yes }
}
:if ($"signal-strength" <= -50 && $"signal-strength" > -53) do={
:for i from=1 to=80 do={ :beep length=$beep; :delay $s53; :led led1=yes led2=yes led3=yes led4=yes led5=yes }
}
:if ($"signal-strength" <= -20 && $"signal-strength" > -50) do={
:for i from=1 to=120 do={ :beep length=$beep; :delay $s50; :led led1=yes led2=yes led3=yes led4=yes led5=yes }
}
}
}
Credit: https://wiki.mikrotik.com/wiki/Audible_signal_test