1 Respuesta Última respuesta el Oct 28, 2016 5:21 AM por fernando@info.unlp.edu.ar

    Como lograr la comunicación entre el modulo 3G/GPRS shield y la tarjeta Intel Galileo 1

    jconde

      Buenas noches, estoy tratando de lograr la comunicación  serial entre el modulo 3G/GPRS shield y la tarjeta Intel Galileo 1 por medio de un scrip de python, como primer paso utilizo un código de Arduino el cual encontré en Internet y funciono correctamente, el cual sirve para ejecutar comando AT.

       

      void setup() 

        //pinMode(2, OUTPUT);  // this pin will pull the HC-05 pin 34 (key pin) HIGH to switch module to AT mode 

        //digitalWrite(2, HIGH); 

        Serial.begin(57600); 

        Serial.println("Enter AT commands:"); 

        Serial1.begin(115200);  // HC-05 default speed in AT command more 

       

      void loop() 

       

        // Keep reading from HC-05 and send to Arduino Serial Monitor 

        if (Serial1.available()) 

          Serial.write(Serial1.read()); 

       

        // Keep reading from Arduino Serial Monitor and send to HC-05 

        if (Serial.available()) 

          Serial1.write(Serial.read()); 

      }

      Viendo el funcionamiento del código trate de traducir este código a Python utilizando las librerias de pySerial y pyGalileo, como resultado y con pocos conocimientos obtuve este codigo:

      #!/usr/bin/env python

      import sys

      import serial

       

      galileo_path = "/media/mmcblk0p1/"

      if galileo_path not in sys.path:

          sys.path.append(galileo_path)

       

      from pyGalileo import *

       

       

      def setup(): 

       

        global Comando

        global Serial

      # global Serial1

        Serial = serial.Serial('/dev/ttyS0',57600)

      # Serial1 = serial.Serial('/dev/ttyS0',115200)

        pinMode(2, OUTPUT) 

        digitalWrite(2, HIGH) 

        #Serial.begin(57600) 

        #Serial.println("Enter AT commands:") 

        Comando = raw_input("Introduzca Comandos AT:   ")

        delay(1)

        #Serial1.begin(115200) 

       

      def loop(): 

        

      #  if Serial1.read(): 

      #   Serial.write(Serial1.read()) 

       

         

      #  if Serial.read(): 

      #   Serial1.write(Serial.read()) 

       

        if Comando:

          Serial.write(Comando) 

          print(Serial.read())

      setup()

      loop()

       

       

      Pero no funciona correctamente, por esto me surge las siguientes dudas:

      • En el código de Arduino se trabaja con dos seriales, esto es posible en Python?
      • Cuales son esos dos seriales en la tarjeta de Intel Galileo y como se trabajan, se definen y como funcionan?
      • Y si hay alguna función en Python que me remplace la función available de Arduino?