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:
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.localso that it starts on the next boot.
--reset: resets a previously saved configuration.
/dev/prefix. For example
"ttyS*|ttyUSB*". If no argument is given, the default is
--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:
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.
--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.