0

I'm trying to get a TTY to USB converter hooked up with my Raspberry Pi. I'm using Pyserial to setup the connection and write data to the port in a script called pc_test.py. For some reason the script is able to run but it won't write anything to the port and will not throw any errors. PuTTy will hang there until I hit control C, so I know it's doing something, just not the correct thing. And my TTY to USB converter has a little blue LED that flashes when data is read/written and this LED does not flash when this script runs. Also, it only runs if I type either "Python3 pc_test.py", "Python pc_test.py", and "Sudo Python pc_test.py"; however, if I try to run it with "Sudo Python3 pc_test.py" It gives an error saying:

Traceback (most recent call last): File "pc_test.py", line 1, in import serial ModuleNotFoundError: No module named 'serial'

I feel like this has to be something to do with the issue as I had very similar code running on a different Pi that I ran with sudo Python3. I did have some extreme difficulties installing pyserial this time for some reason. Simply typing "python3 -m pip install pyserial" would not work so I eventually got it by using the command:

python3 -m pip install --trusted-host=pypi.org --trusted-host=files.pythonhosted.org --user pyserial

Maybe this is what messed things up?

Here is the pc_test.py:

import serial
import RPi.GPIO as GPIO
import time,csv
ser=serial.Serial("/dev/ttyAMA0",9600)
print(ser.name)
while True:
 write_ser=ser.write("1".encode())
 time.sleep(0.1)
asked Oct 24, 2021 at 1:30
1
  • Is your "TTY to USB" convertor compatible with 3.3V logic on the UART side? If not it may not work with the pi, and possibly has already damaged the serial interface pins on the pi. Commented Oct 24, 2021 at 11:51

2 Answers 2

1

It is far from clear what you have connected, what OS, what code you are actually using or how you installed modules.

No module named 'serial' means the code won't compile because you haven't installed it.

Normally you would install with sudo apt install python3-serial.

Even if you fix the code it won't work as /dev/ttyAMA0 is connected to Bluetooth on most Pi, but it certainly isn't "a TTY to USB converter".

See How do I make serial work on the Raspberry Pi3 or later

The following is a simple test program (not elegant python) that works on the Pi default serial port.

#! /usr/bin/env python3
import serial
ser=serial.Serial("/dev/serial0",115200)
print(ser.name)
ser.write('This is a test\r\n'.encode('ascii'))
ser.close
answered Oct 24, 2021 at 2:31
1
  • I'm facepalming myself right now. The setup guide I was using to install pyserial used "sudo apt install python-serial". I never once thought to add python3 instead of python to that command. That and using serial0 instead of ttyAMA0 worked. Thanks so much!!! Commented Oct 24, 2021 at 20:10
0

That's because sudo == root, you == pi.

You did --user on pip install so it installed on user pi not system or root.

If you want to keep the --user run sudo pip install or su pip and then do normal pip install, or just don't use --user and install it on system, system is always better.

MatsK
2,8833 gold badges18 silver badges22 bronze badges
answered Oct 24, 2021 at 13:55
1
  • Ohhhhhh that makes total sense now. I guess thats what I get for blindly following guides without understanding them. Thank you! Commented Oct 24, 2021 at 20:11

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.