Pebble-Imessager
A PebbleJs and Server Application to allow WhatsApp chatting on microphone enabled pebble smartwatches.
Demo
About
Using this watch app and server microphone enabled pebbles can reply to WhatsApp messages and start WhatsApp messages. Based on GitHub - integraloftheday/Pebble-Imessager: A PebbleJs and Server Application to allow imessage texting on pebble smart watches
A Security Note
In the current state all server requests are sent over http which is not encrypted. In the future it is planed to update this to https to ensure fully encrypted requests. In the meantime, it is recommended to only use this application over local networks or use a VPN to establish a secure connection to a local network.
Server Installation
Requirments
- A computer / raspberry pi (Anything that can run node.js)
- Node.js installed
Steps
The easiest way is to use the install.sh script. It only downloads the required files.
-
curl -o install.sh https://raw.githubusercontent.com/integraloftheday/Pebble-WhatsApp/master/installer.sh
-
sh install.sh
The server will install inside the directory "PebbleWhatsAppServer" -
cd PebbleWhatsAppServer
-
node app.js
Run the server -
Scan the QR code with your phone connecting WhatsApp
To keep the server running screen can be used.
Configuration
Inside the PebbleWhatsAppServer
folder there is a file config.json
which included everything that needs to configured. The file looks like:
{
"key":"abc",
"port":5000,
"saveLogin":false,
"contacts":[
{
"buddyName":"Demo",
"displayName":"Demo"
},
]
}
-
"key"
is generated in the watch app and must be set to the same value. -
"port"
is what port the server runs on -
"saveLogin"
if set totrue
the server will remember the WhatsApp login. -
"contacts"
is the list of everyone the watch app can message.-
"buddyName"
is the WhatsApp id for each contact/group. It follows this pattern for an individual[country code][phone number]@s.whatsapp.net
for example, ``19999999999@s.whatsapp.net`. For infromation including for groups can be found here: GitHub - adiwajshing/Baileys: Lightweight full-featured typescript/javascript WhatsApp Web API. -
"displayName"
is what will be displayed in the WatchApp
Note when editing
config.json
restarting the server is not needed unless the"port"
has be edited. -
{
"key":"abc",
"port":2020,
"contacts":[
{
"buddyName":"Homer Simpson",
"displayName":"Homer"
},
{
"buddyName":"Marge Simpson",
"displayName":"Marge"
},
{
"buddyName":"Bart Simpson",
"displayName":"Bart"
}
]
}
Watch Installation
Currently the watch app needs to be sideloaded but could be added to the rebble store in the future.
Requirements
-
A microphone enabled pebble watch
-
Side Loading
-
Downloaded the latest .pbw file from the releases on your phone.
-
Click the share icon then "more" then select "Copy to Pebble"
The pebble app then will install the watch app.
Watch App Configuration
These steps must be done before the watch app can be used.
- Click "Settings" and scroll to "Server IP" select and enter the Server's IP address and Port Number
- Click "key Generate" and updated
config.json
to match the key displayed on the watch app - Click "Contact Fetch" to update the watches internal contacts. This can be done after any update to
config.json
- Click "Current" if everything was entered correctly and working the server IP the key and any contacts should be displayed.
- Send Messages! by clicking on the contacts name on the main menu.