Como obter um emulador de terminal serial no linux para ignorar RTS e DTR?

1

Eu comprei um ESP8266 genérico de 8 pinos da Amazon. Ele veio carregado com algum firmware de comando "AT" que agia como um modem. Eu conectei o módulo a um FTDI1232 que é um UART conectado por USB que age como uma porta serial.

Aqui está o ID do USB:

Bus 002 Device 010: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC

Aparece como /dev/ttyUSB0 no meu sistema. Eu instalei o CuteCom na minha máquina Ubuntu 14.04, selecionei uma velocidade de 115200, sem paridade, 8 bits e 1 bit de parada. Consegui me comunicar normalmente para enviar e receber dados usando o CuteCom.

No entanto, não tenho muito uso para esse firmware padrão. Eu fiz o download da versão mais recente do Arduino IDE e adicionei o suporte do ESP8266 por meio de um pacote principal adicional.

Para programar este dispositivo, conectei o ESP8266 com base neste diagrama.

Esteébasicamenteocircuitoqueeujátive,mastivequeadicionaroRTS&LinhasDTRparaconcluirisso.

Eucrieiumesboçomuitosimplescomoeste

voidsetup(){Serial.begin(115200);//8bitchar,noparity,1stopbitwhile(!Serial){};}voidloop(){intv=Serial.read();if(-1!=v){Serial.write((uint8_t)v);}else{delay(10)}}

Esteéumesboçodotipo"echo" básico que deve escrever o que estiver escrito no dispositivo.

Depois de enviar o esboço, posso usar as Ferramentas - > Serial Monitor para interagir com o esboço. Eu criei mais alguns, incluindo um que transformou os dados enviados e, em seguida, retornou. Todos trabalham.

Neste ponto, a CuteCom não funcionou. Depois de pesquisar muito pelo motivo, finalmente olhei para a implementação do Serial Monitor no código java. O que eu encontrei é essa linha

  !BaseNoGui.getBoardPreferences().getBoolean("serial.disableRTS"),
  !BaseNoGui.getBoardPreferences().getBoolean("serial.disableDTR"));

De: link

Parece que basicamente cada "quadro" (a nomenclatura do código que permite ao SDK falar com o ESP8266 aqui) define se RTS & O DTR deve estar ativado. O código chama a biblioteca jccs para habilitar ou desabilitar o RTS & CTS.

Neste ponto, desconectei as linhas do meu ESP8266 que estavam conectadas ao RTS & CTS. Eu pude usar o CuteCom novamente para falar com meu novo esboço que eu tinha carregado. No entanto, não quero desconectar o & reconectar minhas linhas toda vez que eu programar a partir do Arduino IDE.

Obviamente, é possível falar com o dispositivo sem desconectá-lo, já que o "Monitor Serial" no Arduino IDE funciona muito bem.

Como posso obter um emulador de terminal serial no Ubuntu 14.04 que me permita ignorar o RTS & DTR? Eu também aceito comandos para colocar a porta neste modo para que ela possa ser usada com socat ou similar.

É provavelmente irrelevante, mas aqui está uma foto dos dispositivos reais

    
por Eric Urban 27.08.2018 / 03:54

0 respostas