Help Blind People

by LizAbramov in Living > Life Hacks

398 Views, 5 Favorites, 0 Comments

Help Blind People

PAFF_040118_helpingothers-1024x576.jpg
Final project Liz&guy

Hey :)

We are two CS students from IDC Herzliya, Israel. As students, with the help of the academia, we want to help with research and learning for populations that are close to us and need help.

We interviewed two blind, elderly people. We asked to know what difficulties they are experiencing during their daily routine and what problems they think we should try to solve, within our capabilities.

This is how we came up with the idea of our project.

Fortunately, we participated in an IoT course, led by Zvika Markfeld from the ForReal Team, and we gained the necessary tools in order to try to help others.

As you can see in the video above, the device is set to help with 5 different daily-routine scenarios:

  1. Dog feces (poop) detection device - When walking in public, it is often difficult for the blind to identify the location of their assistance dog feces.
  2. Send Email to an expert at a relevant association, with a click of a button - Engaging with a professional, in any field, can be a challenging action for a blind person.
  3. Post to a Facebook group of volunteers (+optional requests follow), with a click of a button - Communicating with volunteers can be challenging, so it's important to make the social networking capabilities accessible to blind people. If the creator of the device wants, he is able to track the number of requests of each user, using a dedicated Google sheet, and identify requests and exceptional quantities.
  4. Get "Time to take medicine" notifications from Google calendar - Taking medication can be a challenging action if you do not receive appropriate alerts. With the help of our device, a blind person can be assisted by a volunteer who will enter the medication taking events in a dedicated Google calendar on his smartphone device and our device will alert the blind at the right times.
  5. Get weather notifications every morning - Most often, the blind are unaware of the sight of the sky so it is important to be updated on the weather, without the need for unnecessary actions.

Do you know a blind person? Try to build a similar device! We will guide you through the construction of our work.

Please notice: We chose to focus on events that were important to our interviewees and ones that we thought we could resolve. Of course, the device is not suitable for everyone and there are those who might think that one should try to handle other events, for whatever reason. if that's how you feel, we urge you to contact us so that we can help you solve any problem, in the above field, with the help of the knowledge and experience we have acquired.

Supplies

WhatsApp Image 2022-02-13 at 11.10.52.jpeg
cpx.jpg

List of tools for hardware:

  1. Circuit Playground Express MK1000 board.
  2. Battery Holder Container With Lead Cables.
  3. 3x AAA Battery.
  4. Empty bottle.
  5. Scissors.
  6. Aluminum paper.
  7. Masking foil.
  8. Yarn.
  9. Wooden stick.
  10. Disposable foil pan, round one recommended.
  11. Recommended: Sticker roll for decoration.

Setting the Environment

F6XAHN4KZLA4YHP.jpg
FW34R1MKZLA4YHQ.jpg

Please make sure all those softwares and libraries are installed.

Arduino IDE

  1. Install Arduino IDE.
  2. Install relevant "drivers" for the ESP8266 boards to your Arduino IDE.
  3. Install Blynk, BlynkESP8266, and Circuit Playground Express libraries.

Integromat

  1. Sign up to Integromat.

Blynk

  1. Download the Blynk App from Google Play.
  2. Sign up to Blynk via the App.


Dog Feces (Poop) Detection Device

Project hardware
FZ56FATKZJUQRRU.jpg

Prepare the hardware of the dog feces (poop) detection device:

  1. Take the wooden stick and cover it with the sticker.
  2. Put it aside for now, and take the bottle.
  3. Take the scissors and cut the bottle in half,
  4. Create 2 holes, in the sides of the bottle, that will be used by us later to connect the sensor and the housing of the batteries inside it with 2 pieces of yarn.
  5. Take the scissors and cut 2 pieces of yarn.
  6. Insert the batteries into the battery housing and connect it with the cable to the CXP
  7. Take a piece of glue, and stick the flat side of the CXP to the battery housing.
  8. Tie the CXP through the bottle holes with the wire to the CXP holes, making sure it is tied well, and nothing came out of the half of the bottle.
  9. The pieces of wire that come out of the bottle will be glued with glue to ensure that the knot will not open.
  10. Insert the part of the stick slightly into half of the bottle and stick well with the masking tape.
  11. Turn the stick so that the bottle is in front of you, and cut 4 cuts along with a depth of an inch and a half.
  12. Make a hole in the center of the disposable mold, half the length of the bottle. Put the bottle into it at a depth of an inch and a half, and bend the cut part inwards.
  13. The folded parts will be glued and secured with masking tape.
  14. Finally, cover the part where the stick was glued to the bottle and the bottle with aluminum foil.

It's ready! We recommend decorating and making the stick that will fit your desired design.

For testing it and the code, run the code and place the dog feces detection device over a hot glass of water, as we did in the above video:)

New Blynk Project

Blynkfinal
WhatsApp Image 2022-02-15 at 12.38.09.jpeg
WhatsApp Image 2022-02-15 at 12.39.12.jpeg
WhatsApp Image 2022-02-15 at 12.36.37.jpeg
WhatsApp Image 2022-02-15 at 12.38.45.jpeg
WhatsApp Image 2022-02-15 at 12.37.45.jpeg

Create a new Blynk device, from a template.

New Template:

  1. Go to blynk dashboard >> templates >> "+ New Template".
  2. Choose template's name.
  3. Choose HARDWARE - ESP8266.
  4. Choose CONNECTION TYPE - WiFi.
  5. Click Done >> Save.
  6. Click DataStreams >> Edit >> New Datastream.
  7. Create 4 pins, exactly as seen in the attached photos.
  8. Click Save.

New Device:

  1. Go to "devices" section.
  2. Click New Device >> from a template.
  3. Choose the template you just created.
  4. Click Create.

Notice: it is recommended to save the device info - Template ID, Device Name, Auth token.

Send Email And/or Post to Facebook Group

WhatsApp Image 2022-02-13 at 18.14.28.jpeg
Finalintegro
WhatsApp Image 2022-02-16 at 01.10.51.jpeg

When the user presses the left button of the CPX, it sends a String value (for example "expert") to Blynk and it activates the webhook we defined on Integromat. Integromat would recognize it and will send an email to an expert at the association for blind people.

On the other hand, When the user presses the right button of the CPX, it sends a String value (for example: "walk" / "play" / "eat") to Blynk and it activates the webhook we defined on Integromat. Integromat would recognize it and will post a relevant post on Facebook "Volunteers for blind people" group. It will also be documented on the relevant Google Sheet.

Integromat platform:

  1. Create a new scenario on Integromat.
  2. Use Webhooks, Router, Gmail, Facebook Groups, Google Sheets.


Webhooks:

Add WebHooks, Use custom webhook.

  1. Add connection, change connection name if you want.
  2. Click on "copy address to clipboard", paste it on a new browser tab.
  3. Add: "?value=". Don't press enter yet:)
  4. Go back to integromat, Press Ok.


Router:

Add Router from Tools option.

  1. Connect the router to the webhook you created.
  2. Press Ok.


Gmail:

Add Gmail, use Send an email option.

  1. Connect Gmail module to the router.
  2. Add connection, your Gmail connection. See guide.
  3. Add recipient (i.e help.all.blinds@gmail.com).
  4. Add email subject (i.e "Call me").
  5. Add content (i.e "Please contact me on +9725345652).
  6. Press Ok.
  7. Right click on line (router-gmail) >> Set up a filter >> give label to the the filter >> choose condition: value >> contains / equal the value you expect to get when user wants to send mail to an expert (i.e "value contains expert").
  8. Click Save.


Facebook Groups:

Add Facebook Groups, use Create a Post.

  1. Connect the Facebook groups module to the router.
  2. Add connection >> allow Integromat posting on the relevant Facebook group by adding integral to the group's apps. See guide.
  3. Choose the group you want the user to post to.
  4. Choose to post "as a user".
  5. Write the relevant message you want the user to post. Message related to walking with the user >> click Ok.
  6. Repeat 1-5 with two different messages: one related to eating with the user, the other related to playing with the user.
  7. The messages we used:
  8. "Feels like I want to go for a walk. Would be happy for a company! call me: 054123345"
  9. "Someone wants to eat Pizza? I know I would? Call me if you want to join:) 054123345"
  10. "Hey:) Does anyone want to play Chess with me? Call me: 054123345"
  11. Add filters: Right click on lines (router-facebook groups) >> Set up a filters >> give labels to the the filters >> choose conditions: value >> contains / equal the value you expect to get when user wants to post to volunteers (i.e "walk" / "eat" / "play").


Google Sheets

Add Google Sheets, use Add a row.

  1. Connect Google sheets module to Facebook groups module.
  2. Add a connection >> the same as you used in the Gmail module.
  3. Choose the desired spreadsheet & sheet.
  4. Choose the table's headers (i.e time and value)
  5. Click Ok.


Blynk platform:

Define a webhook (so it can trigger the integromat webhook).

  1. Go to Blynk dashboard
  2. Click settings >> webhooks >> create new webook.
  3. Add webhook name.
  4. Choose WEBHOOK TRIGGER EVENT - Device sends data to datastream.
  5. Choose the device you created.
  6. Choose the DATASTREAM - "message" pin.
  7. Choose the WEBHOOK URL - paste the integromat's webhook module url.
  8. click Create Webhook.


Testing:

To test scenarios click on run once >> paste integromat's webhook module url on a new browser tab >> and send a value you want to test. You can also run the whole code on IDE and trigger it by clicking right/left button.

Get "medicine" Notifications From Google Calendar

Screen Recording 15 02 2022 20 14 44
photo5789811053008369399.jpg

Get "Time to take medicine" notifications from Google calendar - Taking medication can be a challenging action if you do not receive appropriate alerts. Use Integromat to get alerts from relevant Google calendar.


Integromat:

  1. Create a new scenario on Integromat.
  2. Choose Google calendar and HTTP services.


Google calendar

  1. Choose Google calendar >> search events.
  2. Add Connection, connect your own Gmail by "Add" button (your google account should already be connected because you did it in previous step. If not, go back to see guide.
  3. Add a connection >> continue >> follow after the instructions.
  4. Choose the wanted calendar id (the medicine calendar).
  5. Click on start date text line >> choose "Date and Time" tab >> click on "now".


HTTP

  1. Add Http >> Choose "make a request" >> In the URL line enter the following addres:

  http://188.166.206.43/AUTH TOKEN of your Blynk's project/update/V3?value=0

Notice: V3 is the virtual pin we defined in Blynk Datastreams for Calendar datastream.

  1. Set scheduling switch to on.
  2. Click on "Schedule setting" >> choose "At regular intervals" under "Run scenario" >> press ok.
  3. Save!


Testing:

To test scenarios click on run once or run the code on IDE.

Get Weather Notifications Every Morning

weather updateToCPX
photo5789811053008369400.jpg

Updates the user automatically on the weather outside - at an automatically set time with a different melody for each type of weather.

Integromat:

  1. Create a new scenario on Integromat.
  2. Choose "Weather" and choose "get current weather"
  3. Enter the city and country you live in.
  4. Now press on the right half circle on the right of the Weather symbol to add a new module.

HTTP:

  1. As the new module choose "HTTP".
  2. In the URL line enter the adress:

  http://188.166.206.43/AUTH TOKEN of your Blynk's project/update/V2?value= (here we chose from template "1. temperature")

Notice: V2 is the virtual pin we defined in Blynk Datastreams for Weather datastream.

  • Press the clock symbol on the bottom left side of the screen and choose "every day", choose the time you want that the information will be updated.
  • Save!

Testing:

To test scenarios click on run once or run the code on IDE.

Code for IDE

See attached code for IDE.