1.1.19 • Public • Published


thsq-agent is a tool for running a Thingsquare gateway agent on a Linux machine such as a Raspberry Pi. The gateway agent sets up serial line IP, PPP, Ethernet, and WiFi connections on the Linux gateway.


This installation assumes that you have npm and node already installed, and that the Raspberry Pi is properly configured to communicate with Thingsquare devices over serial port.

Install the pm2 npm package first:

sudo npm install -g pm2
sudo pm2 install pm2-logrotate # optional: for log rotation

The install the agent:

sudo npm install -g thsq-agent

thsq-agent automatically configures IP forwarding for a few common Internet-connected network interfaces: wlan0, eth0, and wwan0.


To run the agent, start the following command:

sudo thsq-agent [options]


  • -f <frontend>: the Thingsquare frontend ID to connect the agent to.
  • -b <backend>: the Thingsquare backend server address to connect the agent to.
  • --autostart: register the agent in /etc/rc.local so that it starts on the next boot.
  • --reset: resets a previously saved configuration.
  • --ppp [tty regexp | disable]: set up a PPP interface for directly connected serial port devices. The argument is a Javascript regular expression that should match the filename of the serial devices that the PPP server should listen on, excluding the /dev/ prefix. For example "ttyS*|ttyUSB*". If no argument is given, the default is ttyACM0.
  • --blecommands: configure the agent to listen for encrypted Bluetooth commands to setup WiFi, which can be sent from a Thingsquare-compatible smartphone app.
  • --configfile <filename>: specify the place for the configuration file
  • --verbose: log more
  • --watchdog <number>: reboot device after <number> seconds if agent is disconnected
  • --watchdogcommand <command>: reboot device with the <command> if watchdog is triggered

Run thsq-agent on a Raspberry Pi:

To run thsq-agent on a Raspberry Pi, use the follwing command:

sudo thsq-agent --autostart --ppp "ttyS|ttyUSB|ttyACM" --blecommands

The above command configures thsq-agent to start automatically, to try to scan for and set up PPP connections with serial devices, and finally to accept encrypted Bluetooth commands.

Since the --autostart option is provided, thsq-agent will automatically start at boot. So press Ctrl-C and reboot the Pi for thsq-agent to start automatically.




Package Sidebar


npm i thsq-agent

Weekly Downloads






Unpacked Size

64.8 kB

Total Files


Last publish


  • adamdunkels
  • fredrik-thingsquare