📜 ⬆️ ⬇️

The first hakkaton, from idea to implementation

On November 2, 2015, the first hackathon took place in our company. It took two days within our department only. At 5:00 pm on the second day, everyone needed to demonstrate the results of their work. Themes could offer any. Four teams took part in it. Our team was numbered 3. I will tell you about our experience. Who are interested in welcome under cat.

Team


Our team was called Illumi and consisted of four people. People in our team were different, an approximate alignment of skills: a frontend developer who went over to the dark side of the backend; three developer backends that have moved to the bright side of DevOps and are currently more involved in process automation. We are all directly involved in programming. I didn’t really want to do the same on the hackathon. Therefore, we decided that on the hackathon we will be engaged in the implementation of code integration with hardware. When you first program, and then a physical process takes place, it is really great. If you do this every day, most likely, there will not be the same high).

Knowledge of our team in the field of programming under the Arduino, as well as the laws of Ohm, Kirgof, Coulomb, etc. limited to university and school. Therefore, within a month we were tightening the materiel and assembling our future system in pieces. And at first, we understood the concept of what we want to get, but in reality we decided on implementation only three days before the start of the hackathon.
')

What I wanted to get from the hackathon


We had a very simple goal for the hackathon - to get a lot of pleasure from the realization of our idea. For a whole month our conversations on smoke breaks, dinners and even in private time were about our project. There is probably nothing more to add here.

Formulation of the problem


Develop a system for visual notification of necessary events. For example, in case of a critical error on the server, an alarm lamp lights up.

Justification


Traditional warning systems (letters, sms, messages in various means of communication) do not satisfy the speed and importance, and also largely depend on various internal and external delivery systems, human factors. Therefore, the extension of the warning system by means of light-visual indication is a solution to the problem indicated above and fully complies with the norms of International Law ©.

This solution is intended to speed up the reaction to the previously formulated problem, in general, improving the quality of the service provided. Also, do not lose sight of the social aspect. People who come across such a decision for the first time will inevitably show an interest, which as a result will have a beneficial effect on the communication system within the company as a whole.

Project


In simple words, we decided to implement a system that would notify us about production packs. Two types of notifications are supported: the first, when something fell on the shelf, a flashing beacon lights up in red; the second one, when some characteristic goes beyond the permissible limits, a flashing beacon lights up in yellow. For implementation, we used:


Two days hackathon


First day


Hackathon started on November 2 at 10:00, general photos, pancakes and Dr. Pepper. It was not without late, not everyone was able to come to 10 am on Monday).

image

image

As it seemed to us, we were ready for the beginning of the hackathon. We understood what we were going to do, how we would do it, bought all the necessary components, planned out the steps and understood that at the end of each step we should have a ready result - an iterative approach. There was a video broadcast of what we would do, so we prepared a plan for interactive with users, an iterative approach helped us in this. On the first day we implemented a prototype on stroboscopes. In the middle of the first day we already had a working prototype with which everyone watching us could play around, and we continued to work. To describe the system being developed, we used the 4C approach (Context, Container, Component, Class). In our conditions, we did not fall below the level of Container. Laid out in the public interface with 4 buttons on / off, blue / yellow strobe. Then a file with interactive caught up with us, there was a delay of about 30 seconds in the video broadcast, so the interactive turned out to be not entirely interactive, but everyone who tried to control our strobe lights remotely liked it. There was even a moment when one of our employees wrote a script that constantly turns off the lamps, and no one could turn them on. I had to find and fix the person). Also at the very beginning there was a problem with various firewalls and network settings, which we didn’t even think about, spent 3-4 hours to solve it.

image

We parted somewhere in the beginning of 10 pm. Managed most of the planned for the first day.

Second day


The second day we started at 8 am. We expected that on this day we will get off only the physical implementations of our system. Installation and installation were invented on the go. They cut, drilled, twisted, isolated on the spot, were not allowed to solder in the office). We adhered to the modular structure of our system and decided to make a self-test button that includes our beacons for 5 seconds each. It almost became a fatal mistake. I had to spend ~ 2 hours on mastering and debugging work with the button, but the effect was worth it. Now the system could be tested simply by connecting to the power supply and pressing a button. Another problem we have encountered is the weird behavior of the Arduino. Sometimes she did not want to respond to our commands. In the long search for a solution, we realized that it needed some time for initialization, and it was impossible to work with it according to the client-server scheme. In this case, the client will always have to wait for initialization, and that is ~ 2 seconds. To solve this problem, we implemented a simple socket server in PHP, which, when started, initializes the Arduino and then allows you to transparently communicate with it without having to initialize the connection. A little later, they also implemented a socket server on Erlang, but in the end, the PHP server was still used during the demonstration, since we don’t have any strong Erlang specialists, and we didn’t want to risk it on a demo.

Hour X was at 5:00 pm by this time we had everything ready and we even came the very first to the demonstration room to prepare everything. On the demo, we showed that we created a remote control for remote control of light beacons. It was possible to go to the url from a mobile phone and manage them. While I was talking about what we did and how, everyone in the hall could play around with our decision and it was already full interactive!

image


Result


Our complete system (photo / video):

image



findings



Conclusions after 5 months



Good luck to all!

Source: https://habr.com/ru/post/279887/


All Articles