Introduction: Passme, QUALCOMM, Dragonboard 410c, 96Boards, Tec De Monterrey

INTENTION

The intention of this project was to build a smart network in private neighborhoods with the purpose that the residents can send a signal by Bluetooth or Internet to their guests so they can have quick access without any information exchange or time issues at the time they need to enter the neighborhood.

MATERIALS

DragonBoard 410c

96Boards Sensors Mezzanine

10.1 HDMI Monitor

HDMI Cable

Logitech Keyboard

Servo motor

Jumpers

Step 1: CONNECTING THE DRAGONBOARD410c WITH THE MEZZANINE BOARD

We create a connection between the 96boards Sensor Mezzanine and the Dragonboard 410c to make a PWM signal to could take control about a Servo motor.

The instructions to install the Arduino IDE were follow on this link

github.com/96boards/Sensor_Mezzanine_Getting_Started

To Update Debian

$ sudo apt-get update

$ sudo apt-get dist-upgrade -u

Do you want to continue? [Y/n] y

Install extra tool packages

$ sudo apt-get install arduino-mk arduino git build-essential autoconf libtool swig3.0 python-dev nodejs-dev cmake pkg-config libpcre3-dev

$ sudo apt-get clean

Using ATMEGA IO

Releasing ATMEGA from reset

$ stty -F /dev/tty96B0 -hupcl # Release ATMEGA from reset

$ stty -F /dev/tty96B0 hupcl # Place ATMEGA into reset

Using Command Line Tools

$ mkdir -p sketchbook/Blink

$ cd sketchbook/Blink

$ cp /usr/share/arduino/examples/01.Basics/Blink/Blink.ino .

$ ln -s /usr/share/arduino/Arduino.mk Makefile

$ make upload reset_stty # The reset_stty target releases reset

Using python to run the board GPIOs go to this link:

https://github.com/96boards/96BoardsGPIO

Install the source code

git clone https://github.com/jackmitch/libsoc.git

cd libsoc

./autogen.sh && ./configure --enable-board=""

make && sudo make install

# " is dragonboard410c or hikey or bubblegum.

git clone https://github.com/96boards/96BoardsGPIO.git

cd 96BoardsGPIO

./autogen.sh && ./configure

make && sudo make install

sudo ldconfig

Our project requires to connect the Dragonboard 410c to an online real time database in order to communicate with the users. To achieve this, the Firebase database was used on this link:

github.com/thisbejim/Pyrebase

A simple python wrapper for the firebase APL was used.

On the link, it can be found instructions for installation and methods for gathering and uploading or editing data from database. An example code is provided. Images(1.1, 1.2, 1.3)

Step 2: APP AND BLUETOOTH

The first step was creating a program in python, this program

oversaw inquiring every Bluetooth device that was in range near the board, showing in the display the list of available devices with their name and Bluetooth ID, making it easier to identify them in future programs.

To make sure that the board was making a strong connection with the other devices, we made a program who´s purpose was to type a Bluetooth address and at the time you compile the program it can show up the last Bluetooth connections made by the device, showing name of the used program and information about the last time it was used, this way we can be sure that the board and the device are having a good connection between them.

Then we proceeded to make a program that was in charge of creating a messaging exchange between board and device, this program first needed the Bluetooth ID of the device, which we got using the inquiry program. To prove if the program was working in an appropriate way we needed to create an app to use in the device (cellphone), once the app was created, we ran the program and started typing in the board display, and the message was shown in the device, and vice versa. Image(2.1, 2.2)

The first function named child-added is executed each time a element is added to the data base, this function calls the checklist function, which reads all the access contacts and shows them in a graphic manner.

The next function named child-changed is executed each time that one of the data base elements is modified and calls the checklist function too. Image(2.3)

Each time a contact is pressed, the readOnce function is called so it can return the property access value, once this value is written, it changes the value in the data base.Image(2.4, 2.5)

openD function makes true the valor of the trying property.Image(2.6)

ExtraImages(2.7, 2.8, 2.9)

Step 3: HARDWARE INSTALLATION

We connected the DragonBoard 410c display with the HDMI cable, which was assembled to a Mezzanine tabloid. We connected the servo motor with the help of jumpers in pin 9.Image(3.1)

RUBEN EMILIO RUIZ GAMEZ

JOSE GREGORIO MARQUEZ MEDINA

SERGIO PANDURO RODRIGUEZ

DENISSE MARIA RAMIREZ COLMENERO

CESAR DANIEL RIVAS SOLANO

JOSE ALBERTO TORRES GONZALEZ

LUIS EMILIO SALGUEDO