{"id":1229,"date":"2018-04-13T20:26:08","date_gmt":"2018-04-14T01:26:08","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/edelros\/?p=1229"},"modified":"2018-09-10T10:29:06","modified_gmt":"2018-09-10T15:29:06","slug":"morse-deco-rx-mensaje-morsepython","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/edelros\/morse-deco-rx-mensaje-morsepython\/","title":{"rendered":"Morse Deco \u2013 RX mensaje morse\/Python"},"content":{"rendered":"<p>Decodifica en python desde el puerto serial los valores del pin del receptor descrito en: <a title=\"Morse Codec - TxRx Inal\u00e1mbrico 433Mhz ASK\/OOK\" href=\"http:\/\/blog.espol.edu.ec\/edelros\/2018\/04\/12\/morse-codec-txrx-inalambrico-433mhz-askook\/\">Morse Codec - TxRx Inal\u00e1mbrico 433Mhz ASK\/OOK<\/a><\/p>\n<p>Se recibe en el puerto serial la se\u00f1al OOK equivalente al mensaje morse de \"SOS\".<\/p>\n<p>La lectura del puerto serial continua de lo presentado en <a title=\"Serial - Lectura datos\" href=\"http:\/\/blog.espol.edu.ec\/edelros\/2018\/04\/13\/serial-lectura-datos\/\">Serial - Lectura datos<\/a> se obtienen los valores entre [0,1023]<\/p>\n<p>El resultado se convierte a s\u00edmbolos morse <code>' .-'<\/code> contando las veces que cada valor se repite \"Alto\"(1) o \"Bajo\"(0). Se toma como referencia el ancho de 15 para un simbolo, pues el transmisor usa una DURACION =100. Si se modifican \u00e9stos valores, se deben ajustar.<\/p>\n<pre>1016 15\r\n --- ...  ...\r\n0 63\r\n --- ...  ... \r\n1016 47\r\n --- ...  ... -\r\n0 32\r\n --- ...  ... -\r\n1020 47\r\n --- ...  ... --\r\n0 31\r\n --- ...  ... --\r\n1019 47\r\n --- ...  ... ---\r\n0 63\r\n --- ...  ... --- \r\n1018 15\r\n --- ...  ... --- .\r\n0 31\r\n --- ...  ... --- .\r\n1016 15\r\n --- ...  ... --- ..\r\n0 31\r\n --- ...  ... --- ..\r\n1016 15\r\n --- ...  ... --- ...\r\n<\/pre>\n<p>las instrucciones en python<\/p>\n<pre># Deco se\u00f1al a morse\u00f1\r\n# generados desde arduino\r\n# Continuaci\u00f3n de: TxRx Inalambrico 433Mhz ASK\/OOK\r\n# http:\/\/blog.espol.edu.ec\/edelros\/2018\/04\/11\/txrx-inalambrico-433mhz-askook\/\r\n\r\nimport numpy as np\r\nimport matplotlib.pyplot as plt\r\nimport serial, time\r\n\r\n# INGRESO\r\npuerto = 'com5'\r\nbaudios = 9600\r\ntolera = 100    # rango PIN anal\u00f3gico\r\nancho = 15      # del mensaje\r\n\r\n# PROCEDIMIENTO\r\narduino = serial.Serial(puerto, baudios)\r\narduino.setDTR(False)\r\ntime.sleep(0.3)\r\n\r\n# limpia buffer de datos anteriores\r\narduino.flushInput()  \r\narduino.setDTR()  \r\ntime.sleep(0.3)\r\nprint('\\nEstado del puerto: ',arduino.isOpen())\r\nprint('Nombre del dispositivo conectado: ', arduino.name)\r\nprint('Dump de la configuraci\u00f3n:\\n ',arduino)\r\nprint('\\n###############################################\\n')\r\n\r\n\r\n# Lectura de datos\r\nantes = 0\r\ncuenta = 0\r\nsimbolo = ''\r\nmorse_msg = ''\r\n\r\nwhile True:\r\n    # espera hasta recibir un dato\r\n    while (arduino.inWaiting()==0):\r\n        pass\r\n    \r\n    # lee binario del puerto serial\r\n    lectura = arduino.readline()\r\n    # binario a texto, elimina \/r\/n\r\n    texto = lectura.decode().strip()\r\n    valor = int(texto)\r\n    \r\n    # Busca duraci\u00f3n de s\u00edmbolo\r\n    # valor repetido\r\n    diferencia = np.abs(valor-antes)\r\n    if (diferencia &lt; tolera):\r\n        cuenta = cuenta + 1\r\n    \r\n    else:\r\n        print(antes,cuenta)\r\n        # Revisa espacios\r\n        if (antes&lt;(0+tolera)):\r\n            if (cuenta&lt;(2*ancho+4)):\r\n                simbolo = ''\r\n            else:\r\n                if (cuenta&lt;(4*ancho+5)):\r\n                    simbolo = ' '\r\n                else:\r\n                    simbolo = '  '\r\n        \r\n        # Revisa punto o raya        \r\n        else:\r\n            if (cuenta&lt;(ancho+3)):\r\n                simbolo = '.'\r\n            else:\r\n                simbolo = '-'\r\n        cuenta = 0\r\n        morse_msg = morse_msg + simbolo\r\n        print(morse_msg)\r\n        \r\n        if len(morse_msg)&gt;40:\r\n            morse_msg = ''\r\n            \r\n    antes = valor\r\n    \r\n# Cerrar el puerto serial.\r\nserial.Serial.close\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Decodifica en python desde el puerto serial los valores del pin del receptor descrito en: Morse Codec - TxRx Inal\u00e1mbrico 433Mhz ASK\/OOK Se recibe en el puerto serial la se\u00f1al OOK equivalente al mensaje morse de \"SOS\". La lectura del puerto serial continua de lo presentado en Serial - Lectura datos se obtienen los valores &hellip; <a href=\"https:\/\/blog.espol.edu.ec\/edelros\/morse-deco-rx-mensaje-morsepython\/\" class=\"more-link\">Sigue leyendo <span class=\"screen-reader-text\">Morse Deco \u2013 RX mensaje morse\/Python<\/span><\/a><\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1293406],"tags":[],"class_list":["post-1229","post","type-post","status-publish","format-standard","hentry","category-morse"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/edelros\/wp-json\/wp\/v2\/posts\/1229","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/edelros\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/edelros\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/edelros\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/edelros\/wp-json\/wp\/v2\/comments?post=1229"}],"version-history":[{"count":1,"href":"https:\/\/blog.espol.edu.ec\/edelros\/wp-json\/wp\/v2\/posts\/1229\/revisions"}],"predecessor-version":[{"id":1230,"href":"https:\/\/blog.espol.edu.ec\/edelros\/wp-json\/wp\/v2\/posts\/1229\/revisions\/1230"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/edelros\/wp-json\/wp\/v2\/media?parent=1229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/edelros\/wp-json\/wp\/v2\/categories?post=1229"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/edelros\/wp-json\/wp\/v2\/tags?post=1229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}