Introduction: Smart Walking Stick for Blind People
This project is an initial project prototype and can be a reference for someone who wants to use similar technology, techniques and methods.
However this software code is currently under progress and therefore is prone to contain errors/bugs.
Prior knowledge of C/C++ language along with operating Linux OS is required.
Step 1:
List of Materials
Hardware
1) Intel Edison
2) Arduino Breakout Board
3) Arduino I/O Shield
4) Adafruit Ultimate GPS module
5) Groove - Buzzer
6) Groove - Infrared reflective sensor
7) Groove - 3 axis digital accelerometer
8) Groove - Button
9) Groove - Light Sensor
10) IOS/Android SmartPhone
Step 2:
Software Setup
1) Refer to Intel Edison getting started guide to setup your Edison board (follow the link below).
https://software.intel.com/en-us/iot/library/Edison-getting-started
2) Choose Intel Eclipse IDE .
http://software.intel.com/en-us/installing-the-eclipse-ide
3) Perform the following actions on the Edison Linux system to install the libraries for Blynk.
npm-install -g mraa blynk-library
export NODE_PATH=/usr/local/lib/node_modules
4) Download the Script provided as above (Blynk_Test.js) and put in your root directory of the Edison Board.
Attachments
Step 3:
Hardware Setup.
1) Connect the I/O Shield over the Intel Edison.
2) I2C - Accelerometer
D2 - Switch
Step 4:
Software Applications
1) Create a new Eclipse worksheet using the C/C++ example with the Blink LED.
2) Replace the SCR files with files attached above (It is highly recommended that the scr code file names match the project name).
Step 5:
Sending Email from Linux
Intel Edison platform (Yokko) is running a distribution of Linux called OpenWRT. Therefore we can use functions included in order to send simple email alerts.
- We can use 'Curl' tool out of box.
- We don't have to (re)compile busybox package in order to support secure simple mail transfer protocol.
- Regarding SMTP protocol. We can send email in plain text or over an encrypted channel.
- It is recommended to use encrypted channels.
What you Need
- A proper functioning email with proper credentials.
- The message (Created at runtime by blindstick software application)
- External command used to send email is:
curl --url ''smtp://mymailserver:25'' --mail-from ''expeditor@domain.tld'' --mail-rcpt ''recipient@domain.tld'' --upload-file mail.txt --user ''user:password''
We managed to send the email notifications as we controlled a live email server with proper configuration. We white listed our IP address of mobile connection in order to allow email relaying.
Email content is build on runtime by C++ application and after file creation (called mail.txt) is issued the external command curl with previous paramters
File mail.txt will be created in /root folder (where our software application mail.txt)
Step 6:
GPS log
The application has a feature of reading coordinated from GPS. The log sends data using serial communication which can be received by utilizing USART. Refer to the main software function GPS_Get_Cords and GPS_Read_Logger.
The coordinated are combined with Google Maps Link and therefore we you can send email with a pin pointing to the position of the gps module on the google map.


