18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 行业动态 > Adafruit_SSD1306

Adafruit_SSD1306

时间:2022-03-17 01:51:02 | 来源:行业动态

时间:2022-03-17 01:51:02 来源:行业动态

  • 接下来用 Adafruit_SSD1306.SSD1306_128_32创建disp对象,里面的参数
    1. rst是Raspberry Pi pin configuration的引脚定义,在这里并不使用(none);
    2. i2c_bus指定所使用的总线编号,前面说过这里使用的是第二组(i2c_2),但在代码里的编号是1,如果用的是第一组则编号为0;
    3. gpio表示这个脚位是否被占用?设置为1就表示已占用。
  • 显示屏是以图像方式来处理,第60行 draw.rectangle 是先将显示屏涂黑;
  • 从80~85行利用Linux针对CPU、内存、存储空间的检测指令,获取显示的数据,并抽取所需要的内容,分别存入CPU、MemUsage与Disk三个变量里;
  • 第89~92行就是显示4组数据,因为显示屏的高度为32像素,而每个字符的高度为8像素,因此只能显示4组数据,这里的字符并不支持中文。在代码里面显示的内容是有线网IP、无线网IP、内存使用状况与存储空间的信息。
  • 第95~97行则是将前面四行写入的信息,以图像为单位来现实,每一秒更新一次。
  • 下图是这个OLED所显示的内容,与89~92行的输出是一致的。



    我们可以尝试修改一下显示的内容,例如有线网IP对Jetbot来说并不重要,但是CPU使用状态是挺有价值的,因此我们可以稍作修改,包含要显示的顺序,例如无线网IP其实只要知道一次就行,可以放到最下面,而内存与CPU的使用状态是相对敏感的,可以将顺位往上调。下面就是修改后的内容:

    89

    90

    91

    92

    draw.text((x, top), str(CPU.decode('utf-8')), font=font, fill=255)

    draw.text((x, top 25), "wlan0: " str(get_ip_address('wlan0')), font=font, fill=255)

    draw.text((x, top 8), str(MemUsage.decode('utf-8')), font=font, fill=255)

    draw.text((x, top 16), str(Disk.decode('utf-8')), font=font, fill=255)

    如果您使用镜像版或者脚本(create-sdcard-image-from-scratch.sh)安装Jetbot,应该修改完存档之后,就会看到OLED屏的显示发生变化。

    如果使用容器安装Jetbot的话,这部分需要重建base与display两个容器,需要执行以下步骤让这个改变生效。

    $

    $



    $

    $

    $

    cd ~/jetbot/docker ./disable.sh

    source configure.sh

    # 只需要重建base与display两个容器

    cd base ./build.sh cd ..

    cd display ./build.sh cd ..

    ./enable.sh $HOME/jetbot

    重新启动Jetbot容器之后,就会看到显示屏上的内容已经改变(如下图),这样就能轻松改变OLED的显示内容。



    事实上还有很多方式可以操作I2C对OLED的显示处理,在Adafruit所提供的开源项目https://github.com/adafruit/Adafruit_Python_SSD1306下面有些范例代码可以尝试,不过操作前先把Jetbot容器关闭,否则I2C会被占用。

    现在对Jetson Nano(含2GB)的I2C检测与操作应该有更进一步的了解,这些内容也适用于Jetson系列其他开发套件,主要差别就是得确认所要使用的I2C编号,例如在Xavier AGX上相同位置的I2C是第9组,因此得在代码中修改 i2c_bus=8,其他部分则完全一样。[完]

    关键词:

    74
    73
    25
    news

    版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

    为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
    关闭