Терминал работает нестабильно
  • Плата Cosmo GSM Shield с зелёной маской. Воткнута в ардуино уно. В ардуине скейтч setup(){}
    loop(){}

    Подключаюсь через Putty и Hyperteminal, подключение не стабильно, нажатия проходят через раз. Так и должно быть?
  • predat0r said:

    подключение не стабильно, нажатия проходят через раз. Так и должно быть?


    Т.е. вы подключились через терминал, набрали команду, сделали паузу (например доку почитать), потом пробуете набрать AT - в терминале ничего не отобразилось, пишете второй раз AT - команда написалась... Если так, то это нормально.

    Для сравнения можете попробовать работу через монитор порта (из Arduino IDE) - где отправка команд происходит по нажатию кнопки "отправить". В этом случае такого поведения уже не будет.

  • Похоже у ноут глючил, сегодня всё норм.
    Можно ли как-то с шилда с питона слать данные в консоль?
    import SER
    SER.set_speed('115200','8N1')
    SER.send('test'+'r')
    print 'test'
    SER.send('test1')
    SER.sendbyte(0x0d, 0)
    Не работает(
  • 1) проверьте настройку
    AT#STARTMODESCR?

    2) гляньте этот пример, может вы при загрузке скрипта что-то упустили.
  • AT#STARTMODESCR стоит 1,20, но запускаю обычно ручками at#execscr
    Остальные скрипты запускаются, а насчёт вывода никак. Пример видел, пробовал, нифига. Платку сегодня дома забыл, теперь на работе заняться нечем(
  • попробуйте такой вариант
    import MOD
    import SER

    print 'Test UART\r'

    SER.set_speed('115200','8N1')

    while 1:
    MOD.sleep(5)
    a = SER.send('TEST\r\n')
    print '%d\r' % a
  • Слегка добавил, чтобы контролировать: import MOD
    import SER
    import GPIO

    print 'Test UART\r'

    SER.set_speed('115200','8N1')

    while 1:
    GPIO.setIOvalue(7,1)
    MOD.sleep(10)
    a = SER.send('TEST\r\n')
    print '%d\r' % a
    GPIO.setIOvalue(7,0)
    MOD.sleep(10)

    На седьмом GPIO светодиод висит. Он ожидаемо моргает, но в консоль ничего не сыпется. Может из-за подключения через Arduino?
  • CMUX выключил, заработало.
  • Заработало SER.send. А вот print не улетает в порт. При попытке переопределения зависает: import SER
    import GPIO

    SER.set_speed('115200','8N1')
    GPIO.setIOvalue(7,1)

    class SerWriter:
    def __init__(self):
    SER.set_speed('115200','8N1')

    def write(self,s):
    SER.send(s+'r')

    sys.stdout = sys.stderr = SerWriter()
    GPIO.setIOvalue(7,0)

    print 'Test UART\r'
    Светодиод на седьмом порту загорается и больше не гаснет.
  • SER.send(s+'r') ошибку 'r' исправил на '\r'. Не помогло.
  • Попробуйте как в мануале
    b = SER.send('test')
    c = SER.sendbyte(0x0d)
    d = SER.receive(10)
  • Возможно главный косяк совсем в другом. На видео снята работа модуля по программе: import MOD
    import SER
    import GPIO

    SER.set_speed('115200','8N1')
    #GPIO.setIOvalue(7,1)
    i = 1

    def ledBlink( count ):
    for _ in range(count):
    GPIO.setIOvalue(7,1)
    MOD.sleep(3)
    GPIO.setIOvalue(7,0)
    MOD.sleep(3)

    ledBlink(5)

    #print 'Test UART\r'

    while 1:
    ledBlink(i)
    MOD.sleep(10)
    a = SER.send('TEST\r\n')
    # print '%d\r' % a
    i = i + 1
    MOD.sleep(10)
    Проходит 1-2 итерации и сбрасывается. Перед снятием видео, модуль один раз отработал 7 проходов. Чем вызвано такое поведение?
    ps. сходил покурить, вернулся, судя по морганию диода прошло 45 итераций.
  • А попробуйте задать конкретное число циклов, все отработает без сбоев?

    i = 0
    while i < 100:
    ledBlink(i)
    MOD.sleep(10)
    b = SER.send('test')
    c = SER.sendbyte(0x0d)
    d = SER.receive(10)
    i = i + 1
  • Сегодня модуль ведёт себя абсолютно нормально на вчерашней программе. Естественно по вашему примеру тоже отрабатывает.
    Может ли это быть связанно с плохими условиями приема? Вчера модуль не мог зарегистрироваться в домашней сети, регился в других сетях.
  • predat0r said:

    Может ли это быть связанно с плохими условиями приема?


    Возможно.

  • Я правильно понимаю, что для работы модуля необходимо только питание, согласно картинке?
    image https://www.dropbox.com/s/beth9dbb3o7k1gg/Снимок.PNG
  • predat0r said:

    Я правильно понимаю, что для работы модуля необходимо только питание, согласно картинке?


    Да

Привет, незнакомец!

Похоже, вы новенький! Чтобы пообщаться с нами, кликните на одну из кнопок ниже :)

Войти с помощью OpenID

В этом теме: