效果是这样的

小屏幕的名称叫oled,使用芯片SSD1306 驱动

上面有四个引脚,与 NX 接线如下()
VCC - 5V
GND - GND
SDA - 3
SCL - 5

python环境要配好,我使用的是3.6,环境这样配
一开始我默认python版本是2点几,现在我换成3.6

然后装pip


配好环境之后输入
sudo apt-get install build -essential python-dev

sudo apt-get install python-pil

sudo apt-get install python-smbus

pip3 install smbus

sudo apt-get install libi2c-dev i2c-tools

这个时候测一下,板子和小屏幕有没有通信,输入
i2cdetect -y -r 8

上面出现了3c,这个是正常的情况,如果没出现这个要检查一下接线或环境配置问题
代码地址 python_ssd1306: 根据micropython官方ssd1306驱动,修改的python版驱动,适用于树莓派、香橙派等linux开发板
把上面这个代码下载下来,放到NX中,之后打开ssd1306,修改main中的内容,修改成我下图这样就行

这样就能达到我们开头看到的效果
点亮之后我们只需要对python代码进行操作了,将代码写在main中结构上不太好看,所以我们新建一个py文件,然后这样写
from ssd1306 import SSD1306_I2Cimport smbusimport subprocess cmd = "hostname -I | cut -d\' \' -f1"IP = subprocess.check_output(cmd,shell = True)IP = 'IP ' + str(IP).split('\'')[1].split('\\')[0] cmd = "top - bn1 | grep load"CPU = subprocess.check_output(cmd, shell=True)CPU = 'CPU' + str(CPU).split(',')[3] cmd = "free -m"Memusage = subprocess.check_output(cmd, shell=True)all_Mem = str(Memusage).split(' ')[52]used = str(Memusage).split(' ')[60]Memusage = 'Memusage ' + used + '/' + all_Mem + 'MB' cmd = "df -h"Disk = subprocess.check_output(cmd, shell=True)all_disk = str(Disk).split(' ')[14][:-1]used_disk = str(Disk).split(' ')[17][:-1]persent = str(Disk).split(' ')[22]Disk = 'Disk ' + used_disk + '/' + all_disk + 'GB' + ' ' + persent i2c = smbus.SMBus(8)oled=SSD1306_I2C(128,32,i2c)oled.fill(0)oled.text(IP, 0, 0 , 1)oled.text(CPU, 0, 8 , 1)oled.text(Memusage, 0, 16 , 1)oled.text(Disk, 0, 24 , 1)oled.contrast(1000)oled.show()这样运行后就会将此时的信息显示在oled上

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删