/ic880a-gateway

Reference setup for iC880a gateways running The Things Network

Primary LanguageShellGNU General Public License v3.0GPL-3.0

The Things Network: iC880a-based gateway

Reference setup for The Things Network gateways based on the iC880a USB concentrator with a Raspberry Pi host.

This installer targets the USB version of the board, if you have the SPI version, check this branch.

Setup based on Raspbian image

  • Download Raspbian Jessie Lite

  • Follow the installation instruction to create the SD card

  • Start your RPi connected to Ethernet

  • Plug the iC880a (WARNING: first power plug to the wall socket, then to the gateway DC jack, and ONLY THEN USB to RPi!)

  • From a computer in the same LAN, ssh into the RPi using the default hostname:

      local $ ssh pi@raspberrypi.local
    
  • Default password of a plain-vanilla RASPBIAN install for user pi is raspberry

  • Use raspi-config utility to expand the filesystem (1 Expand filesystem):

      $ sudo raspi-config
    
  • Reboot

  • Configure locales and time zone:

      $ sudo dpkg-reconfigure locales
      $ sudo dpkg-reconfigure tzdata
    
  • Make sure you have an updated installation and install git:

      $ sudo apt-get update
      $ sudo apt-get upgrade
      $ sudo apt-get install git
    
  • Create new user for TTN and add it to sudoers

      $ sudo adduser ttn 
      $ sudo adduser ttn sudo
    
  • To prevent the system asking root password regularly, add TTN user in sudoers file

      $ sudo visudo
    

Add the line ttn ALL=(ALL) NOPASSWD: ALL

⚠️ Beware this allows a connected console with the ttn user to issue any commands on your system, without any password control. This step is completely optional and remains your decision.

  • Logout and login as ttn and remove the default pi user

      $ sudo userdel -rf pi
    
  • Configure the wifi credentials (check here for additional details)

      $ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf 
    

And add the following block at the end of the file, replacing SSID and password to match your network:

            network={
                ssid="The_SSID_of_your_wifi"
                psk="Your_wifi_password"
            }
  • Clone the installer and start the installation

      $ git clone https://github.com/ttn-zh/ic880a-gateway.git ~/ic880a-gateway
      $ cd ~/ic880a-gateway
      $ sudo ./install.sh
    
  • If you want to use the remote configuration option, please make sure you have created a JSON file named as your gateway EUI (e.g. B827EBFFFE7B80CD.json) in the Gateway Remote Config repository.

  • Big Success! You should now have a running gateway in front of you!

Credits

These scripts are largely based on the awesome work by Ruud Vlaming on the Lorank8 installer.