Howto setup Raspbian for serial read
This howto will cover the steps to setup a Rasperrypi for reading CSV stream from RPICT series board.
Hardware and OS
This applies to all Raspberrypi. If using the image from Emoncms (emonpi) then this setup is not needed.
Tested with OS:
Raspbian Jessie 2017-06-21-raspbian-jessie.img
Raspbian Stretch 2017-09-07-raspbian-stretch-lite.img
Raspbian Stretch 2018-06-27-raspbian-stretch-lite.img
Raspbian Stretch 2018-10-09-raspbian-stretch-lite.img
Raspbian Stretch 2018-11-13-raspbian-stretch-lite.img
Raspbian Buster 2019-06-20-raspbian-buster-lite.img
Raspbian Buster 2020-02-13-raspbian-buster-lite.img
Rasberry Pi OS 2020-05-27-raspios-buster-armhf-lite.img
Rasberry Pi OS 2020-08-20-raspios-buster-armhf-lite.img
Rasberry Pi OS 2020-12-02-raspios-buster-armhf-lite.img
Rasberry Pi OS 2020-01-11-raspios-buster-armhf-lite.img
Rasberry Pi OS 2021-03-04-raspios-buster-armhf-lite.img
Download the image from the raspberrypi website. https://www.raspberrypi.org/software/operating-systems/
Or you can directly get the torrent for the latest supported image from the links below:
Write the image to the SD card. Follow instructions given by the raspberrypi website.
Once the image written create an empty file called ssh in the boot section of the image.
Power up the raspberrypi and connect it to the ethernet network.
From a computer access the raspberrypi with ssh.
Linux based OS
This is as simple as issuing.
$ ssh pi@raspberrypi
Use password raspberry
On other systems (windows, ios)
We recommend to use the putty tool. Download here
As above use
This will give you access to a terminal window in which you can issue commands on the raspberrypi.
Run the raspi-config tool
$ sudo raspi-config
Then disable the login uart
3 Interface Options <<-- Use option 5 Interfacing Options instead if using the image before 12 DEC 2020 P6 Serial
Would you like a login shell to be accessible over serial?
Select No to the login shell question.
Would you like the serial port hardware to be enabled?
Select Yes to the serial port hardware to be enabled question.
Select Ok at the summary.
Back at the menu select finish.
Would you like to reboot now?
Select No to the reboot question (we will do that later).
Update the Raspbian OS.
sudo apt-get update
This step must be performed regardless if you have a Raspberrypi 3 or 4.
Edit the /boot/config.txt file
$ sudo nano /boot/config.txt
At the end of the file add the following line:
(note the above will disable bluetooth - if bluetooth is needed do not execute this step and use ttyS0 instead of ttyAMA0 for what follows).
A one liner of the above command would be
sudo bash -c 'echo "dtoverlay=disable-bt" >> /boot/config.txt'
Save and Exit file.
sudo systemctl disable hciuart
sudo reboot & exit
return to the ssh session again once the raspberrypi up and running again.
Insert the RPICT board on the RPI. Configure and read from serial port
stty -F /dev/ttyAMA0 raw speed 38400 cat /dev/ttyAMA0
Please refer to the dedicated page of the board for the details of each field.
The cat command above is the most basic form for reading out the data from any RPICT unit. Do not skip this test.
[OPTIONAL] It might be useful to get the board with all utilities ready at this point. Just issue the commands below:
sudo apt-get install python-serial wget lechacal.com/RPICT/tools/lcl-rpict-config.py.zip unzip lcl-rpict-config.py.zip sudo mv lcl-rpict-config.py /usr/local/bin