pinguino

14
The “Ping”-uino Ping/SMTP Monitor Tool By Giovanni Paterno May 2015

Transcript of pinguino

Page 1: pinguino

The “Ping”-uino Ping/SMTP Monitor Tool

By Giovanni PaternoMay 2015

Page 2: pinguino

Special Thanks

• Special thanks to God who made me with the defect of lacking the ability to give up. It has made all the difference.

• Special thanks to my fiancé Theresa for always giving me support and encouragement whether I am working on something for work, or a project outside of work, or anything in life in general.

Page 3: pinguino
Page 4: pinguino

Requirements

• The solution must have the ability to ping network devices and report a problem via the following methods:– Visual Alert– Audible Alert– Email Message with problem detail– SMS Message with problem detail

• The solution must be able to test SMTP functionality by sending preconfigured SMTP packets to a target mail server.

• The solution should be easily configurable• The solution should be able to log information for later

analysis.• The solution must be durable and not be prone to failure.

Page 5: pinguino

Physical Construction

Arduino MEGA 2560Wiznet W5100 Ethernet ShieldDFRobot LCD Keypad ShieldLED Bar graph Display (RED)Piezo Buzzer(2) 4.5in x 4.5in pieces of Plexiglass, ½ inch thick(4) 4 in screws and associated machine nuts and bolts of proper thickness

Page 6: pinguino

WHY Arduino? Why not RPI?

• Arduino boots from built in flash memory, whereas RPI boots from an SD card. In situations where the RPI is not properly shut down, it could potentially be unable to boot the next time it is used.

• One of the requirements of the project was to ensure that the solution is durable. Arduino tends to be more durable in this case

• In general, the Arduino has less of the features that the rpi has, and is more suitable for this particular task.

• Arduino has a configurable MAC address that makes it easier to spot during IP/MAC scans as well.

Page 7: pinguino

Code (ICMP_PING)

• The W5100 was particular selected for this solution because it is compatible with the ICMP_Ping library that is authored by Blake Foster. Contact info is below

ICMP Ping Library for Arduino Author: Blake Foster Contact:

http://blakefoster.com/contact.php

Page 8: pinguino

Code (SMTP Client)

• The SMTP code was acquired from Arduino Playground. The source is available below:

http://playground.arduino.cc/Code/Email

Page 9: pinguino

Code (In Progress)

• Using a 2GB SD card, which is inserted into the Ethernet shield, it is possible to load configuration into the Pinguino, as well as to capture logs of monitor data, that can be read by any PC and loaded into an excel spreadsheet.

Page 10: pinguino

Where it is currently at

• Currently the tool has over 100 IP addresses compiled into its code, and 4 predefined “profiles” of items to be testing.

• Profile 1: Internet IP Addresses• Profile 2: Home Lab IP Addresses• Profile 3: Work IP Addresses• Profile 4: SMTP Test – pinging an SMTP server

and sending a number of iterations of emails to that server to verify it is online

Page 11: pinguino

Some photos with notes (1/4)

• Close up of the Pinguino

Page 12: pinguino

Some photos with notes (2/4)• In this picture,

the Pinguino has already sent two emails about failed connection with two switches. The emails notate the time at which the error was detected.

Page 13: pinguino

Some photos with notes (3/4)

• Here is the Pinguino configured on a test bed during its development

Page 14: pinguino

Some photos with notes (4/4)

• Here is the Pinguino during the SMTP testing.