IoT Fall 2015 Final Project

 

Gif

Github link: https://github.com/deevolutionism/IoT_Final_2015

Final Presentation Video:

Quick demo of the project:


Concept:

Mediating the constraints of the assignment (enclosed controller + up/down/left/right + P5.js) with my concept (to create an ephemeral social media platform, I decided to make my social media platform somewhat resemble neural networks. This metaphor is suiting because neural networks grow and fade over time as new connections are created and old ones decay. This organic structure reflects the ephemeral behavior I want to be present in my platform.

Screen Shot 2015-12-16 at 2.45.20 AM Screen Shot 2015-12-18 at 2.08.49 PM Screen Shot 2015-12-16 at 10.40.37 PM20151214_223410

Research:

John Oliver’s “Dick Pick Program” to help spread awareness about online privacy. Putting privacy in the average man’s terms so that people can more easily understand what type of activities the NSA is capable of. Why should you care about NSA spying? Because they can see your dick pics. Thats an embarrassing breech of privacy right there.

The american public’s perception of privacy. A whole bunch of great of information about what people know and think about privacy: http://www.pewinternet.org/2014/11/12/public-privacy-perceptions/

Another pew interent research poll about the “social media spiral of silence” http://www.pewinternet.org/2014/08/26/social-media-and-the-spiral-of-silence/

Ephemeral Net: http://techcrunch.com/2013/06/30/the-ephemeralnet/

Process: Explained in the video.

Problems: Explained in the video.

Future Iterations/Direction: Improve visual design of the project. Brand the project, create a logo, make some sort of visual identity that can be pasted on the sides of the game cabinet.

 

Midterm Presentation: IoT

Purpose: To explore alternative networks and engage in current discourse by creating a project for raspberry pi + mesh network.

Concept: Build a mesh-capable, mobile Raspberry Pi with an accompanying should strap/holster for easy portability of the pi as well as a simple chat application.

Target:

  • People who are already aware of network infrastructure.
  • People who are code literate.
  • People who want greater online privacy.
  • People interested in exploring alternative communication.
  • People who care about preserving democracy.
  • Urban explorers.
  • Tech hobbyists/enthusiasts.

Research: Lots and lots of research.

Design Process:

  • Iteration 3
    • Moved away from building arm-mounted raspberry pi holders towards something more like a detectives gun holster. The shoulder strap also comes with an attachable 21w solar panel and a small satchel/backpack to carry various accessories (dongles, batteries, hard drives, replacement parts, etc…)
    • IMAG0073IMAG0075
    • IMAG0079IMAG0080
    • Benefits include:
      • Greater distribution of weight
      • concealable/not as conspicuous
      • modular. other items/accessories can be attached as necessary.
    • Some problems:
      • weight issues. The more components you attach to the back of the holster, the heavier it gets and the more it sags in the back.
      • cardboard construction. weak, prone to breakage.
      • usb power cord attached to raspi is a tad awkward/prone to tangles.
      • case for raspberry pi needs more thought/design
    • Future iteration:
      • leather or synthetic strap construction
      • work with fashion designer to sew and work out sagging issue
      • construct a better satchel. Experiment with weather proof materials
      • experiment with raspberry pi case design. Move beyond cardboard.

Challenges:

  • Setting up mesh on raspberry pi. Kernel drivers aren’t fully supportive of ad-hoc mode.
  • wifi dongles get very hot.
  • creating chat history with Redis database and pulling history in order to populate the webpage whenever a new user joins.
  • sewing – I am by no means skilled in any way at sewing. I have minimal experience and definitely need to find tutorials or seek assistance.

Conclusion/next step:

  • This project required lots and lots of research on the the topic of networks before I was able to start engaging with the topic through a project. Researching all of this stuff confirmed my ignorance on the topic, but also generated lots of interest. When asking People about my engagement with mesh networks,  they saw lots of value in the project, however, many weren’t entirely sure what kind of project could be made, other than instantiating a mesh node. Perhaps a future project might involve questions like: “how can I bring awareness and adoption of mesh networks to more average internet users?” or “What sort of applications could I build that would be exclusive to mesh networks? How could such applications be used to generate interest and adoption?” According to my ethnographic research, people were hesitant to join because it only works if many people are on it. People also weren’t absolutely sure that mesh networks are the solution to their privacy problems. So there are lots of questions for future engagement and I think next steps would be to dive into the communities already established around mesh networking to see what’s going on and how I can help.

Google slides presentation:

Link to Github repo:

edit: pictures.

Portable MeshPi Prototype 2

Prototype 2 is also constructed form cardboard. This time, I attempted to solve some of the problems of the initial prototype. This model features a removable/attachable case that houses the raspberry pi. The case can be lock into place. On the bottom, a 10k mAh battery is housed in order to balance the weight of the arm.IMAG0060Here you can see that the lid is now unobstructed and can be fully opened. The lid is also closed and sealed with velcro as apposed to a simple cardboard slit. IMAG0061The raspberry pi has its own independent case which allows greater mobility, portability, and protection for the pi. The case can be locked into place on the main arm construction via a pulling/hook mechanism. The mechanism is simple and effective. piCaseAttachmentThis prototype is far from the end product. Even though this one was properly balanced, it was cumbersome to wear. Additionally, if I moved my arm down to my side, it would easily slip off despite using buckles for tightening. The practicality of this gauntlet-like construction has been severely hindered by the size and weight. Though the location makes it easily accessible you are still limited to interacting with the pi using the opposite arm. In a future prototype I may experiment with a clip-on attachment so that you can place it on a back pack or wear it on any sort of strap, similar to how police wear radios on their chest. This will free up both hands and be far less encumbering. Future material construction might be leather, tarp, or 3D printed material  in order to make it waterproof/resistant to weather.

Portable MeshPi prototype 1

Prototype 1:

The first physical cardboard prototype of the raspberry pi portable mesh networking device. This one sits on the arm for easy and immediate accessibility. The Raspberry pi is housed within this case. A TP-Link WR702N sits on top of the lid. A batter is placed on the back. Finally, the whole compartment is strapped to my arm.

IMAG0055

The lid can be lifted up to reveal the raspberry pi. A touch screen eliminates the need for a keyboard. At the moment, opening the lid requires quite a bit of effort – though it is quite secure. When opened, the raspberry pi is loosely seated and is prone to falling out of the case. No ledge, screws, or adhesives hold it in place. A battery pack is also located on the hind portion of the case. This prevents the lid from opening all the way which can be annoying when trying to use the touch screen. Additionally, the extra weight of the battery made the entire configuration top heavy, which frequently caused it to roll around my arm. Accessing the HDMI port and mini-usb charging port was also difficult because they were blocked by another wall of cardboard.

 

IMAG0057Ultimately, this initial prototype construction had many flaws. Perhaps the most severe flaw was its tendency to roll around on the arm. This made it practically unusable unless you constantly held it in place.

In order to fix this, I propose straps be used to tighten the container to the arm. Additionally, the battery will need to be either removed or placed below the forarm, as if hanging, in order to serve as a counter balance to the weight of the pi.

Two Way Communication: Attempt 2

Group Members: Johnny Dunn, Gentry Demchak

Our goal is to eventually get two way encyrpted communication via a python application over RFduino bluetooth. Eventually, a javascript app will also be able to receive decoded messages to be displayed on a message screen.

when running node, we could not open the serial port.Screen Shot 2015-10-27 at 12.44.04 AMwe used the same port that the RFduino was connected to.

Screen Shot 2015-10-27 at 12.44.18 AM

Screen Shot 2015-10-27 at 11.35.29 AM

In our next attempt we may have to write a function that scans all available ports and loop through them until the program can successfully send data via the selected serial port.

Github with in-progress python, arduino, and javascript code can be found.

https://github.com/deevolutionism/Core-Lab-IOT/tree/master/RFDuino%20Communication

RFduino messaging encryption: part 1

Group Members: Gentry Demchak, Johnny Dunn

Part 1 of 2 in an RFduino encrypted messaging platform.

This portion involves device to host communication:

Screen Shot 2015-10-15 at 1.37.40 AM

A message typed into python running on the raspberry pi is sent via serial to the RFduino Device where it is recieved on the RFduino Host and sent through serial to a computer running a node server where the message is finally pushed to the client side of  a chat webpage via socket.io. When debugging our code, we had lots of issues getting socket.io to work properly and are still working out the kinks.

Currently we only have the framework for basic one-way communication. Next week we will produce the basic framework for two-way communication and implement our own encryption system. If we have time, we would like to use python

A repo with our version history can be found on our github.

 

RFDuino Encrypted Communication

 

I collaborated with Johnny on this project for Ayo’s class. We designed a very rudimentary encrypted messaging application that runs on Arduino with a terminal interface running in Python. This can run on both a mac and a raspberry pi. The messages are transmitted over gazell network bluetooth.

Link to Github repo:

https://github.com/jddunn/encrypted-messaging-rfduino

 

Fritzing Sketch:

Screen Shot 2015-10-08 at 11.38.56 AM

Communication happens between a host and a device.

Three Inputs:

– user generated message

– Randomly generated key

– Send/Receive assignment

 

2 Outputs:

– Encrypted message

– Generated Key

How it works:

The user inputs the message they would like to send. That message is sent via hardware serial to the Host RFDuino where it is read and then sent out across bluetooth bandwidth where it is recieved by the Device RFDuino and then sent through hardware serial to be read and then deciphered by the python program.

 

Pi-Security system

Johnny and I created a very simple raspberry pi motion activated security system.

Code can be found on our github repository.

Screen Shot 2015-09-24 at 1.12.30 AM

Parts required:
PIR motion sensor

Piezo buzzer

Raspberry Pi 2

The security system uses the GPIO, picamera, and email modules in order to operate. The security system must first be activated via terminal where the user will be prompted with a series of important preliminary questions such as their email user and password, whether they want sound activated, or if they want to receive email notifications. The owner can operate the security system remotely by sending their selves an email stating PiSecure-On or PiSecure-Off. The raspberry pi takes a picture whenever motion is detected and quickly sounds an alarm, takes a picture, and then alerts the owner via an email that an intruder has been detected. A picture is attached to help the owner identify the cause of activation.

Inputs: PIR, Email

Outputs: Email, Sound

If we had more time, we’d like to have created wireless motion sensor modules. The wireless modules would include an arduino, PIR motion sensor, and an Xbee for communication. This could be setup in any location, provided power is supplied. The raspberry pi would have a receiving Xbee module and be connected to the internet so the owner could interact with the security system via email.

 

Interfaces

The first reading about the future look of interface design misses a lot. I think future interfaces won’t strictly be visual. I think future interfaces could include a plethora of new communication/feedback methods such as bio integration. Humans have always been dealing with user interface design. Arguably you could trace user interface design back to our primitive cavemen ancestors – the ones who made spears and clubs. The way you are meant to hold a club and swing it, the material on the handle, the weight, and the material are all important variables that must be taken under consideration. User experience is all about improving the users relationship/interaction with an object. How do you go about improving interaction? Experimentation with how you interface with something is important. Do you interface with something via touch or sound? Maybe interaction is triggered through brainwaves such as with MindWave EEG sensor. Perhaps interaction is performed via buttons as with a remote. Or maybe it is through simple touch-based gestured as with an iPad. Perhaps interaction is via haptic feedback, such as with the apple watch and maps. The watch taps/vibrates to indicate turn left or turn right. There are thousands of ways interaction can be created between you and an object/device. How do you choose which interaction makes the most sense to the user? There are a bunch of important factors that need to be taken into consideration. For instance, the context of use. It wouldn’t make sense to add all of the features that an iPhone has into the functionality of an apple watch because a watch is inherently tiny, light weight, and something which is constantly worn around the wrist rather than large, usually rectangular, and meant to fit into a pocket or purse. Some other things that matter: Environment of operation, purpose of object, intended user…

In response to the cyberpunk movie,  Strange Days – or at least the trailer, I think they present a great example of how user interfaces can expand beyond the screen. An interface could possibly jack straight into your neural circuitry which could dramatically change the scope of usage.

The point being, user interface design is a diverse subject.

 

thoughts on Mail Art

Mail art and the network known as Fluxus is certainly an interesting artistic experiment because there are some parallels that can be drawn to society today. Mostly, I think mail art has died off as a result of email and the widespread adoption of the internet. The internet is a much more public and accessible form of messaging and in some ways even more expressive. The one thing the internet lacks is tangibility. The process of making mail art and then going through the process of shipping is a highly physical activity compared to sending mail on a computer. You have to take into account size, weight, material. All of these things vary the price of the item you send. Also, mail art is an inherently private act. When you send a piece of mail it is addressed to a very specific individual. Email is also private, but it is a very different medium. email is virtually limitless but still confined to the digital realm – or is it? Email can trigger actions in the physical world, but for the most part the art would would just be consumed by ones inbox. While i’m sure people have sent email art, I think tumblr and Instagram are the modern version of mail art today. They are much more inclusive platforms which provide the platform, or library, for many individuals to share their work with others.