Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
ip_selctor [2014/12/30 18:24] admin |
ip_selctor [2014/12/30 22:09] admin |
||
---|---|---|---|
Line 1: | Line 1: | ||
---- | ---- | ||
**IP Selctor** | **IP Selctor** | ||
+ | with the MCP23008 and MCP23017 | ||
---- | ---- | ||
- | + | **Preparing the RPi for I2C:**\\ | |
- | **MCP23008 and MCP23017**\\ | + | |
- | Configuration: | + | |
[[http:// | [[http:// | ||
[[http:// | [[http:// | ||
- | |||
- | **Preparing the RPi for I2C:**\\ | ||
- | |||
Open the file:\\ | Open the file:\\ | ||
$ sudo nano / | $ sudo nano / | ||
Line 24: | Line 20: | ||
Check the i2c modules:\\ | Check the i2c modules:\\ | ||
$ lsmod | $ lsmod | ||
+ | | ||
+ | Module | ||
+ | i2c_dev | ||
+ | i2c_bcm2708 | ||
+ | Install some programs:\\ | ||
+ | $ sudo apt-get update | ||
+ | $ sudo apt-get install i2c-tools | ||
+ | $ sudo apt-get install python-smbus | ||
+ | Check the address:\\ | ||
+ | $ sudo i2cdetect -y 1 | ||
+ | $ sudo i2cdump -y 1 0x20 | ||
- | Library:\\ | + | **Library:**\\ |
[[https:// | [[https:// | ||
+ | Download Adafruit libraries: | ||
+ | $ wget https:// | ||
+ | unpack:\\ | ||
+ | $ unzip master.zip | ||
+ | Example:\\ | ||
+ | # Set IP Address with MCP23008 | ||
+ | from Adafruit_MCP230xx import * | ||
+ | # Use busnum = 0 for older Raspberry Pi's (256MB) | ||
+ | # Use busnum = 1 for new Raspberry Pi's (512MB with mounting holes) | ||
+ | mcp = Adafruit_MCP230XX(busnum = 1, address = 0x20, num_gpios = 8) | ||
+ | # Set pins to input with the pullup resistor enabled | ||
+ | for i in range(0,8): | ||
+ | mcp.pullup(i, | ||
+ | # Read pins and display the results | ||
+ | # bitshift output, third bit is the output | ||
+ | meineIP=0 | ||
+ | for i in range(0,8): | ||
+ | print "%d: %x" % (i, mcp.input(i) >> i) | ||
+ | meineIP = meineIP + mcp.input(i) | ||
+ | print meineIP | ||
+ | |||
+ |