Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- $delay=0.1; #second
- $timeout=60; #loop for exit if didnt get any morse code
- $text='';
- $gpio=23;
- print "\n [+]====================================[+]";
- print "\n | Receive Morse Code From GPIO | ";
- print "\n | | ";
- print "\n | GPIO Pin -> $gpio "; if ($gpio<9) { print " "; } print "| ";
- print "\n | Created By : AssazziN | ";
- print "\n | Version : 1 [03/18/2013] | ";
- print "\n | | ";
- #print "\n | http://comfeedom.blogspot.com | ";
- print "\n [+]====================================[+] ";
- print "\n\n";
- print " Geting >> ";
- do {
- open READ,"cat /sys/class/gpio/gpio$gpio/value |";
- $value=<READ>;
- close READ;
- select undef,undef,undef,$delay;
- $end=0;
- } until ($value == 1);
- while (1) {
- open READ,"cat /sys/class/gpio/gpio$gpio/value |";
- $value=<READ>;
- close READ;
- if ($value == 1) {
- print '1';
- select undef,undef,undef,$delay;
- $text.='1';
- $end=0;
- }
- else {
- print ',';
- select undef,undef,undef,$delay;
- $text.=',';
- ++$end;
- }
- if ($end > $timeout) {
- print "\n Morse >> ",analys($text);
- print "\n Text >> ",convert(analys($text));
- print "\n";
- exit;
- }
- }
- sub analys {
- my $text=$_[0];
- # $text=~s/1{3,}/-/g; #For send speed = 0.125
- # $text=~s/1{1,2}/./g; #For send speed = 0.125
- # $text=~s/,{11,}/ \/ /g; #For send speed = 0.125
- # $text=~s/,{4,10}/ /g; #For send speed = 0.125
- # $text=~s/,{1,3}//g; #For send speed = 0.125
- $text=~s/1{4,}/-/g; #For send speed = 0.25
- $text=~s/1{1,3}/./g; #For send speed = 0.25
- $text=~s/,{11,}/ \/ /g; #For send speed = 0.25
- $text=~s/,{5,10}/ /g; #For send speed = 0.25
- $text=~s/,{1,4}//g; #For send speed = 0.25
- return " ".$text." ";
- }
- sub convert {
- my $text=$_[0];
- $text=~s/ \.- /a/ig;
- $text=~s/ \.--- /b/ig;
- $text=~s/ -\.-\. /c/ig;
- $text=~s/ -\.\. /d/ig;
- $text=~s/ \. /e/ig;
- $text=~s/ \.\.-\. /f/ig;
- $text=~s/ --\. /g/ig;
- $text=~s/ \.\.\.\. /h/ig;
- $text=~s/ \.\. /i/ig;
- $text=~s/ \.--- /j/ig;
- $text=~s/ -\.- /k/ig;
- $text=~s/ \.-\.\. /l/ig;
- $text=~s/ -- /m/ig;
- $text=~s/ -\. /n/ig;
- $text=~s/ --- /o/ig;
- $text=~s/ \.--\. /p/ig;
- $text=~s/ --\.- /q/ig;
- $text=~s/ \.-\. /r/ig;
- $text=~s/ \.\.\. /s/ig;
- $text=~s/ - /t/ig;
- $text=~s/ \.\.- /u/ig;
- $text=~s/ \.\.\.- /v/ig;
- $text=~s/ \.-- /w/ig;
- $text=~s/ -\.\.- /x/ig;
- $text=~s/ -\.-- /y/ig;
- $text=~s/ --\.\. /z/ig;
- $text=~s/ \.---- /1/ig;
- $text=~s/ \.\.--- /2/ig;
- $text=~s/ \.\.\.-- /3/ig;
- $text=~s/ \.\.\.\.- /4/ig;
- $text=~s/ \.\.\.\.\. /5/ig;
- $text=~s/ -\.\.\.\. /6/ig;
- $text=~s/ --\.\.\. /7/ig;
- $text=~s/ ---\.\. /8/ig;
- $text=~s/ ----\. /9/ig;
- $text=~s/ ----- /0/ig;
- $text=~s/ \.-\.-\.- /./ig;
- $text=~s/ --\.\.-- /,/ig;
- $text=~s/ \.\.-\.\. /?/ig;
- $text=~s/ //ig;
- $text=~s/\// /ig;
- return $text;
- }
- #http://comfreedom.blogspot.com/2013/03/raspberry-pi-morse.html
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement