Skip to main content
Chemistry LibreTexts

4: PiTunnel

  • Page ID
    431579
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    What is PiTunnel

    PiTunnel is a service that allows you remote access to your Raspberry Pi. If you’re using PiTunnel you don’t have to know the IP address. To use PiTunnel you need to have VNC Viewer installed on your computer.   

     

    Initial Setup

    1.    Go to https://www.pitunnel.com/

    2.    Click “Sign up Free” in the top right corner

    clipboard_ec9168e56e3edc0c20490cadf89edc296.png
    Figure \(\PageIndex{1}\): Create your acoount

    3.    Enter your information and join

    4.    Follow the Setup steps

    5.    After setup is complete you should see something like this:

    clipboard_e69fff95327372e24b6e457ad8fce9041.png
    Figure \(\PageIndex{2}\): Devices connected to your PiTunnel account

     

    Custom Tunnel

    You can add a custom tunnel to your PiTunnel account. Custom tunnel will allow you to access your Raspberry Pi through VNC Viewer. You can give access to your Raspberry Pi to other people by sharing the PiTunnel address.

    1.    Navigate to “Custom Tunnels”

    clipboard_e73fca90bc47fc9bc841b6a2aba0f1dcd.png
    Figure \(\PageIndex{3}\): Click "Custom Tunnels"

    2.    Click “Create Custom Tunnel”

    clipboard_e53800500dfa38bff644642797ece21c2.png
    Figure \(\PageIndex{4}\): Create new custom tunnel

    3.    Enter Tunnel Name that describes the Pi you want to connect to. Enter 5900 as your local port number. Copy the command below

    clipboard_e46e6bf9897888bd3c7a1d26cc7a3e0eb.png
    Figure \(\PageIndex{5}\): Enter required information and copy the command

    4.    Open crontab on your Raspberry Pi by typing the following

    crontab -e
    

    5. Go to the very bottom of the document and type

    @reboot /usr/local/bin/pitunnel --port=5900 --name=home
    

     Replace the last part (pitunnel --port=5900 --name=home) with the command you copied from the PiTunnel website.

    6. Save the file (CTRL+O). Don't change the name when it asks you about it, just hit "Enter".

    7. Close the file (CTRL+X)

    8. To properly close the terminal type

    exit
    

    9. Reboot your Pi

    10. When your Pi is back on, return to your PiTunnel account and look for the custom tunnel.

    clipboard_e31e25ef4c7f2880a6263654b4e205a46.png
    Figure \(\PageIndex{6}\): Custom tunnel address

     

    Using VNC with PiTunnel

    1. Open VNC Viewer

    2. Create new connection (Right-click on any open space --> New Connection)

    3. Go to your PiTunnel Account and copy the address of your custom tunnel (See Image above --> "Available At")

    4. Paste the address as VNC Server

    clipboard_e4bf79ce8888693a72d7749cf8add872d.png
    Figure \(\PageIndex{7}\): New Connection with PiTunnel

    5. Everything else will be just like a regular VNC connection.

    Contributors and Attributions

    • Elena Lisitsyna 

    This page titled 4: PiTunnel is shared under a not declared license and was authored, remixed, and/or curated by Robert Belford.

    • Was this article helpful?