WemoKiller Code V1.0

//------ OTA Update Libraries ------
 #include <ESP8266mDNS.h>
 #include <WiFiUdp.h>
 #include <ArduinoOTA.h>
 //----------------------------------

//------- WIFI MANAGER--------
 #include <DNSServer.h>
 #include <ESP8266WebServer.h>
 #include <WiFiManager.h>
 /************************* Wemo EMU Libraries *********************************/
 #include <ESP8266WiFi.h>
 #include "WemoSwitch.h"
 #include "WemoManager.h"
 #include "CallbackFunction.h"

// prototypes
 boolean connectWifi();

//on/off callbacks
 void r1_On(); void r1_Off();
 void r2_On(); void r2_Off();

WemoManager wemoManager;
 WemoSwitch *relay1 = NULL;
 WemoSwitch *relay2 = NULL;

const int ledPin1 = 16;
 const int ledPin2 = 5;

void setup()
 {
 Serial.begin(115200);

// ----- WiFi Manager -----
 WiFiManager wifiManager;
 wifiManager.autoConnect();
 Serial.println("connected...yeey :)");

// ----- OTA STUFF -----
 ArduinoOTA.setHostname("DevID_001");
 ArduinoOTA.setPassword((const char *)"xander216");
 ArduinoOTA.onStart([]() {
 Serial.println("Start");
 });
 ArduinoOTA.onEnd([]() {
 Serial.println("\nEnd");
 });
 ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
 Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
 });
 ArduinoOTA.onError([](ota_error_t error) {
 Serial.printf("Error[%u]: ", error);
 if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");
 else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");
 else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");
 else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
 else if (error == OTA_END_ERROR) Serial.println("End Failed");
 });
 ArduinoOTA.begin();

// ----- WEMO EMU Stuff -----

wemoManager.begin();
 /* Format:
 * (Alexa invocation name, local port no, on callback, off callback)
 */
 relay1 = new WemoSwitch("killer 1", 80, r1_On, r1_Off);
 relay2 = new WemoSwitch("killer 2", 81, r2_On, r2_Off);

wemoManager.addDevice(*relay1);
 wemoManager.addDevice(*relay2);

pinMode(ledPin1, OUTPUT);
 pinMode(ledPin2, OUTPUT);
 delay(5);
 digitalWrite(ledPin1, HIGH);
 digitalWrite(ledPin2, HIGH);
 }

void loop()
 {
 ArduinoOTA.handle();
 wemoManager.serverLoop();
 }

// ----- RELAY COMMANDS!!! -----

// --- Relay 1 ---
 void r1_On() {
 Serial.print("Relay 1 turn on ...");
 digitalWrite(ledPin1, LOW);
 }
 void r1_Off() {
 Serial.print("Relay 1 turn off ...");
 digitalWrite(ledPin1, HIGH);
 }

// --- Relay 2 ---
 void r2_On() {
 Serial.print("Switch 2 turn on ...");
 digitalWrite(ledPin2, LOW);
 }
 void r2_Off() {
 Serial.print("Switch 2 turn off ...");
 digitalWrite(ledPin2, HIGH);
 }

Mainau GmbH

Alexander Buczynsky, through his work and dedication, proved to be quick of mind and to have a strong personable character. As a team member, he quickly and positively integrated himself with the other team members.

-Sabine Neufang

Konzept Gmbh (Deutschland)

He was very motivated to learn, focused, and involved in his respective field of work. Mr. Buczynsky was very team-oriented and highly intelligence . He completed his work and was always engaged. He completed them to our complete satisfaction.

– S. Reinstadler

Pharmaworks Employer Review

Pharmaworks Employer Review

Trevor Charlton: “Alexander was a delight to work with and all the employees in the plant who came in contact with him were impressed with his good manners, work ethic, capability and inquisitive mind. He did some excellent work and proved he can be relied upon to complete tasks and achieve objectives. He also grasped new processes and tasks very quickly and was always looking for ways to improve the way we carried out our work.”

Timothy Biardo: “Alexander’s talent proved that he is very capable of learning new software quickly and utilizing them effectively. He successfully learned our 3-D modeling program (SolidWorks) efficiently enough to visualize assemblies and extract BOMs. Alexander proved himself to be a well rounded, considerate individual that worked well with others.”

Audi

Audi Automated Guided Vehicle

Audi Official Press Release of the AUDI AGV

The future is industry 4.0. Technology is getting progressively more complex and it only makes sense that the production process will also rise in complexity. At some point it is more efficient to fully automate the assembly process to pick up the slack created by repetitive task workers.

I was involved in the development of an Automated Guided Vehicle (AGV) designed with the purpose of delivering parts to the assembly line.

The Audi AGV is a natural feature recognition mobile robot. As an automated guided vehicle, it can navigate throughout busy and dynamic production environments while being safe for both other vehicles and persons. It provides this safety by a watchdog algorithm that monitors specified zones (e.g. a right of way or a one lane road) for trolleys that may be in the planned mission path. It also guarantees human safety by monitoring for objects entering into its path and automatically brakes before any collision.

News articles about the AGV project

[Car TV] 2016 Audi Smart Factory – Future of Audi Production
[autocar.co.uk] Audi predicts the death of the production line
[automotiveit] Audi zeigt die Produktion der Zukunft