覆盆子LCD IP显示格式

时间:2016-09-19 16:35:55

标签: python raspberry-pi ip lcd

我正在使用Raspberry Pi进行一个小项目,我需要在LCD屏幕上显示PI的IP地址。

我遵循了这个教程: https://learn.adafruit.com/drive-a-16x2-lcd-directly-with-a-raspberry-pi/python-code

似乎工作正常,但是显示IP时出现问题。它不显示" 192.168.0.68",而是显示" fe80 :: 779b:a7a1:9282:f4d5"。它显示时间很好(" 9月19日18:20:41和#34;)。

对编程不熟悉,我无法找到问题,所以我在这里寻求帮助

提前致谢!

1 个答案:

答案 0 :(得分:0)

我发现netifaces包对获取IP地址很有用。以下链接很好地解释了它的基本用法

https://pypi.python.org/pypi/netifaces

下面是在python解释器中获取ip地址的示例。

>>>import netifaces
>>>addr = netifaces.ifaddresses('en1')
>>>addr
{18: [{'addr': 'e4:ce:8f:30:98:0c'}], 2: [{'broadcast': '192.168.1.255', 'addr': '192.168.1.22', 'netmask': '255.255.255.0'}], 30: [{'addr': 'fe80::e6ce:8fff:fe30:980c%en1', 'netmask': 'ffff:ffff:ffff:ffff::'}]}
>>>addr[netifaces.AF_INET][0]['addr']
'192.168.1.22'

注意:我使用'en1',因为我在Mac上。在Pi中,通常这将是'eth0'