• Connect and Program an ESP8266 With a Raspberry Pi

    This small tutorial is meant to help you connect the ESP8266 wifi module to Raspberry Pi through the serial port. It will show you how to run a simple AT command and how to connect the chip to your wireless router using these commands.

    Before starting the wiring, I highly recommend you to use a breadboard.

    You can use the following table as a wiring guide.
    Ex: VCC and CH_PD from Wifi module are connected to Pin 1 from Raspberry.

    ESP8266 Raspberry Pi B
    VCC and CH_PD Pin 1 (3V3)
    GND Pin 9 (Ground)
    TX Pin 10 (GPIO 15)
    RX Pin 8 (GPIO 14)
    esp8266_pinout_h-569x236 pinout2

    After you finish the wiring you can plug in the power into Raspberry.

    Now we’ve reached to the phase where we want to access the ESP8266 module through serial port. For this we need a tool called minicom, but first we need to disable Serial Port Login and some Bootup info on Raspberry. You can do that by following the next short steps

    Disable serial port login:
    Open /etc/inittab and search for the following line:

    T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

    You need to comment this line by adding # at the beginning of the line.

    #T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

    Disable bootup info:

    This part is optional. At every boot Raspberry will send all bootup information through serial port. If you want to keep that information to be sent, just skip this step.
    Remove all ttyAMA0 references from /boot/cmdline.txt

    dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

    After deletion, it should look like the following code:

    dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

    Now we must reboot the Raspberry!

    sudo shutdown -r now

    The next step is to install minicom and connect to the wifi module. It will help us to communicate with the ESP8266 by offering us an interface where we can run the AT commands.

    # Install minicon
    sudo apt-get install minicom

    # Connect to wifi module
    minicom -b 115200 -o -D /dev/ttyAMA0

    If everything went well you should see the minicom serial interface. Try to write AT+RST and hit Enter. If it will print some info it means that you are ready to go.

    Connect to your home router

    AT+CWJAP="dlink","password"

    Where dlink is your router name (SSID) and password is the router password.


  • Configure Network Settings on Raspberry Pi Hardware

    You can resolve network connectivity issues by inspecting and editing the IP configuration of the Raspberry Pi™ Ethernet port.

    You may need to reconfigure the IP settings if your board:

    • Has unknown IP settings

    • Is unreachable using a network connection

    • Is being moved to a network or direct Ethernet connection that uses static IP settings

    • Is being moved from a network that used static IP settings to one that uses DHCP services

    There are several conditions under which networks use DHCP or static IP settings:

    • Use DHCP services — If your board is connected to a network with DHCP services, such as an office LAN or a home network connected to the Internet. DHCP is a network service that automatically configures the IP settings of Ethernet devices connected to a network.

    • Use static IP settings — If your board is directly connected to an Ethernet port on your computer or connected to an isolated network without DHCP services.

    To configure the board to use DHCP or static IP settings:

    1. You can use a terminal window after accessing the Linux desktop.

    2. Display the contents of the /etc/network/interfaces file.
      Enter:

      cat /etc/network/interfaces

      If the board is configured to use DHCP services (the default configuration), dhcp appears at the end of the following line:

      iface eth0 inet dhcp

      If the board is configured to use static IP settings, static appears at the end of the following line:

      iface eth0 inet static

    3. Create a backup of the /etc/network/interfaces file.
      Enter:

      sudo cp /etc/network/interfaces /etc/network/interfaces.backup

      If prompted, enter the root password.

    4. Edit interfaces using a simple editor called nano. Enter:sudo nano /etc/network/interfaces

    5. Edit the last word of line that starts with iface eth0 inet.

      To use DHCP services, change the line to:

      iface eth0 inet dhcp

      To use static IP settings, change the line to:

      iface eth0 inet static

    6. For static IP settings, add lines for address, netmask,
      and gateway. For example:

      iface eth0 inet static
      address 192.168.1.2
      netmask 255.255.255.0
      gateway 192.168.1.1

      For static IP settings:

      • The value of the subnet mask must be the same for
        all devices on the network.

      • The value of the IP address must be unique for each device on the network.

      For example, if the Ethernet port on your host computer has a network mask of 255.255.255.0 and a static IP address of 192.168.1.1, set:

      • netmask to use the same network mask value, 255.255.255.0.

      • address to an unused IP address,
        between 192.168.1.2 and 192.168.1.254.

    7. Save the changes and exit nano:

      1. Press Ctrl+X.

      2. Enter Y to save the modified buffer.

      3. For “File Name to Write: /etc/network/interfaces”,
        press Enter.

      4. The nano editor confirms that it
        “Wrote # lines” and returns control to the command line.

    8. Reboot the board. In MATLAB Command Window, enter:

      h = raspberrypi h.execute(‘sudo shutdown -r now’)

    9. Test the IP settings by logging in to the board over a telnet session.


  • Adding a 2xxx series RocketRaid card to Ubuntu, Fedora or CentOS

    This is to explain the simplest way to get the Highpoint RocketRAID 2640×4 RAID controller card to work with Ubuntu. I will get to the problems I faced later, let me just say that it is a sad state of affairs when you have to recommend others NOT to use the driver installer that is posted on the manufacturers web site. Building the driver on your system means no worries about the kernel version not matching the driver.

    I chose Ubuntu 10.04 because it is the most recent long term support version.
    Hardware:
    – Highpoint RocketRAID 2640×4 RAID controller
    – two Patriot TorqX 64GB SSD drives on the RAID controller
    – one Patriot TorqX 64GB SSD drive on the mainboard SATA controller for the OS

    Steps:
    – Install the card in your system and connect the SATA drives.
    – Boot the system, and a new BIOS setup screen will come up that is controlled by the RAID controller
    -Hit CTRL-H to get into the RAID controller setup.
    – Create a RAID array
    – Reboot

    Note that you can setup a RAID array without installing any drivers.

    Next:
    – Start Ubuntu
    – Verify that the hardware is present and recognized:

    lspci
    – Download the source code archive rr264x-linux-src-v1.3-legacy_single-101203-0910.tar.gz from
    http://www.highpoint-tech.com/USA_new/rr2600_download.htm
    (It is called “Linux Open Source” and the link is v1.3)

    – Now install the build environment

    sudo apt-get install build-essential checkinstall

    – change into the source directory:

    cd rr2640-linux-src-v1.3-legacy_single/product/rr2640/linuxls

    – Build the driver

    sudo make install

    – Load the driver

    sudo modprobe rr26xx

    – Verify that the driver is loaded

    lsmod

    If everything went well, you can now use gparted to verify that a new volume is available (on my system, it is /dev/sdb).

    – use gparted to create a partition table and a partition

    – add an according line to /etc/fstab:

    /dev/sdb1 /mnt/raid ext4 errors=remount-ro 0 1

    – create a mount location

    sudo mkdir /mnt/raid

    – change permissions to your username:

    sudo chown -R username:username /mnt/raid

    – mount the new volume

    sudo mount /mnt/raid

    You should now be able to use the RAID array like any other storage.

    The manufacturer offers a GUI to control the RAID array, and that is where the problems start. There are only RPMs, no deb packages, and when you convert the RPMs to deb’s with alien as suggested, you end up with broken packages.