Google Chat: email@example.com
After CPU Info LCD screen is correctly inserted into the Raspberry Pi, you need to compile and run the program to display it normally. This experiment is used to display the current CPU usage and CPU temperature of the Raspberry Pi.
1. Install the wringPi library
CPU Info LCD screen is used for data communication through the GPIO port of the Raspberry Pi, so we must install the wiringPi library file.
Enter the following command to install the wringPi library. Users who have already installed the wiringPi library can ignore this step.
git clone git://git.drogon.net/wiringPi
2.1 Transfer the driver file to the Raspberry Pi
You need to install the SSH Secure Shell Client tool on your computer. After connecting to the Raspberry Pi, transfer the cpu_show_temp.zip package from this folder to the pi directory of the Raspberry Pi.
As shown blew, drag and drop cpu_show_temp.zip directly into the Raspberry Pi system.
2.2 Extract file
Open the Raspberry Pi terminal and find the cpu_show_temp.zip file.
2.3 Enter the program folder
2.4 Compiler file
cc -o cpushow_temp pcd8544_rpi.c PCD8544.c -L/usr/local/lib -lwiringPi
cc is the compile command, -o is the compile parameter, cpushow_temp is the generated program name, pcd8544_rpi.c and PCD8544.c are the source files in the current directory, -L/usr/local/lib and -lwiringPi are referenced libraries file.
2.5 Running procedure
The system will print the current CPU temperature value and display the following on the CPU Info screen.
3. Code analysis
This command is to open pcd8544_rpi.c
1. The following sections are pin settings. The corresponding relationship of the GPIO ports has been indicated on the back of the LCD.
3.The front part is the initialize program and the prompt information; the latter part is a for loop,
which is display data.
Get CPU usage
①Open the /proc/stat file and read the data with the fgets function. The sscanf function saves the read parameters to the corresponding variables,
②Calculates the total_1 and idle_1 read for the first time.
③Delays for 1 second and clear the variable data, it has been tested that the time is less than 1 second, the problem of read data failure will occur.
④The second read data is saved to total_2 and idle_2;
⑤The value of CPU usage is calculated and stored in cpuInfo . sprintf (cpuInfo, "CPU% ld %%", avgCpuLoad); The function is a splicing function that replaces the value of avgCpuLoad to the position of% ld and saves it to cpuInfo. If the value of avgCpuLoad is 2, the CPU output of cpuInfo is 2%.
4.Get CPU temperature
LCDdrawstring(0, 1, "Hello YahBoom!") meaning is first row, second line display ‘Hello YahBoom!’. First parameter is 0,which meaning is starting from the first column on the left. Second parameter is 1, which meaning is starting from the second column count from above. Third parameter is "hello YahBoom!", which meaning is data we need to display.
Note: If you have added the boot-up display program, please edit the rc.local file comment or delete the code related to the display. After restarting, close the running driver and then operate.
If the program that has already been run is not closed, the new program will run and the screen will always change due to the conflict.
The method of modification is as follows：
sudo nano /etc/rc.local
You need to shield the program, which related to the cpu Info LCD (add a # in front of the code to shield the code)
This command is to restart the Raspberry Pi.