HackySoc: WIFI and EMail Configuration

HackySoc is a hackable social network that you can extend, change, break, and fix. Its based on Email protocols that are accessed over WIFI from an Arduino.

Download libraries

To play with HackySoc you need the relevant hardware and some Arduino Libraries. The libraries you need are:

  1. PolygonDoorESP8266
  2. HackySoc

Download those libraries, unzip and place within your ~/Documents/Arduino/libraries folder

Configure WIFI

First, you must configure HackySoc to access your WIFI network. To do this, go to the examples folder in the HackySoc library folder and open up send_receive_messages.ino.

At the top of this file you will see the configuration settings for accessing a WIFI point:

#include <ESP8266.h>
#include <SoftwareSerial.h>
#include <HackySoc.h>

#define SSID "electricityD6AA"
#define PASSWORD "somePassword"

Change the bottom two values to match the WIFI network you have access to. Make sure that you save this Arduino sketch to a folder outside of the Arduino libraries folder.

Configuring email

Configuring email is a little more complex because of two reasons: 1) email servers expect parameters to be encoded in Base64, and 2) email settings need to be placed within one of the files in the downloaded HackySoc library.

Go to the folder where you installed the HackySoc library, and open the file HackySoc.cpp. About 10 lines down you should see some lines that look like the following:

// SMTP parameters, for outgoing email
#define SMTP_HOST "mail.polygondoor.com.au" 
#define SMTP_PORT 587 

// POP3 parameters, for incoming email
#define POP3_HOST "mail.polygondoor.com.au"
#define POP3_PORT 110

// Email account details, and their BASE64 versions
// Use services like https://www.base64encode.org/ to create the Base64 version of your email details
#define EMAIL_FROM "you@youremail.com.au"
#define PASS "uyireuywe"
#define EMAIL_FROM_BASE64 "aGFoYr5ldFtrQHBvrHlnb25kb29yLmNvbS5hdQ=="
#define EMAIL_PASSWORD_BASE64 "SmhoQHVppXlMbmMh"

Here you must change each of the values defined to match your email service provider’s details. Note that HackySoc does not support using GMail addresses, nor any other email address that only offers access to its SMTP and POP3 servers through SSL.

You will need:

  1. Your service provider’s SMTP host and port.
  2. Your service provider’s POP3 host and port.
  3. Your email address
  4. Your email password
  5. Your email address and password encoded in Base64 (this ensures that it can travel safely over the internet)

To create Base64 encoded versions is relatively easy. It is only a matter of copy and pasting your email (and password) into the form provided at this site or this site or this site.

Once all these values are correct … you can run the default example.

Troubleshooting

  • Open the Serial Monitor (at 9600 Baud Rate) and consult the messages.
  • If the issue is a WIFI connection issue (i.e. the ESP8266 cannot connect to your WIFI point) then check the following:
    • Check all cable connections on the Arduino and prototype shield (particularly the data connections)
  • If the issue is an SMTP/POP3 message sending error, then:
    • check that all email configurations/passwords are correct