Друкарня від WE.UA

Моя перша бібліотека і вона реально допомогла людям

Хто я?

Всім привіт, я є невизначений програміст, який починав з верстки сайтів, а закінчив… Ще не закінчив, пробую все що можна і не можна. Робив ігри, програмував мікроконтролери, писав бек для сайтів, телеграм ботів, діскорд ботів і всяке різне.

Чому я вирішив написати бібліотеку

Одного дня я вирішив, що паркан біля мого дому повинен мати підсвітку. Отже я замовив 25 метрів світлодіодної стрічки з двома контролерами від компанії MagicHome.

MagicHome DC5-28V Single Color LED Controller

Усе б нічого і прекрасно, але я не врахував єдине. Я НЕ МОЖУ НИМИ КЕРУВАТИ В АВТОМАТИЧНОМУ РЕЖИМІ З МІКРОКОНТРОЛЕРА. На той час плата NodeMcu ESP8266, контролювала зовнішнє освітлення мого дому і включала його через 15 хв після заходу сонця та за 1 годину до сходу. Отже, появилась чи мала проблема, а якщо її вирішення немає в інтернеті, то вирішити її повинен я один.

Процес розробки

Для початку я повинен був зрозуміти яким чином телефон та контролер, що підключені до однієї мережі, комунікують. Найбільшої проблемою могло стати те, що контролер міг комунікувати з телефоном через зовнішній сервер, допустимо в Китаї, але все обійшлось і телефон сам розумів, який протокол зв’язку використовувати (локальний, або “глобальний”).

Після цього я почав робити різні дії в додатку на телефоні та відловлював пакети даних, щоб зрозуміти, які команди летять на контролер.

Коли я завершив відловлювання пакети даних прийшов час коду, на період тестування так як я не знав як правильно відправляти команди в мережу через мікроконтролер, я підняв веб сервер на Python в себе на ПК, щоб я міг розуміти, які дані я отримаю з мікроконтролера. Таким чином я зміг швидко розібратись із переліком необхідних бібліотек (не без допомоги гугла).

Під час написання коду як таких проблем не було, все йшло гладко і як по маслу. Хоча довелось трохи посидіти з яскравістю, бо вона задавалась не окремим параметром, як я думав, а зміною інтенсивності кольору. Наступною стіною стало формування власне бібліотеки, це був абсолютно новий досвід для мене, але вроді як все запрацювало.

Фініш

Після завершення усіх етапів, я оформив репозиторій на GitHub і залив бібліотеку туди.

Висновок

Отже, що ми маємо. Я здобув класний досвід і вирішив свою проблему, ще раз спробував пояснити собі, що потрібно спочатку думати і гуглити, а потім робити. Також, періодично різні люди клонують репозиторій і використовують в своїх цілях, деякі з них навіть писали мені і дякували, а один взагалі добавив підтримку до ще одного типу цього сімейства контролерів світлодіодної стрічки.

Статті про вітчизняний бізнес та цікавих людей:

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Панурін Антон
Панурін Антон@Tommy4chan

194Прочитань
1Автори
6Читачі
На Друкарні з 24 квітня

Більше від автора

Це також може зацікавити:

  • Чому людям без технічної освіти/технічних ставати проджект менеджерами - дуже погана ідея

    Я бачу за останні роки дуже велика кількість знайомих намагається потрапити в АйТі через позицію проджект менеджера. Тут є проблема, я навіть не буду тут торкатись теми кризи, що склалась на ринку кандидатів в зимку 2022 року в Україні і триває досі і буде тривати ще довго.

    Теми цього довгочиту:

    Програмування
  • PHP 8.3: Що нового?

    Це наступний великий реліз мови програмування PHP. Його випуск заплановано на 2023 рік. Сьогодні ми разберемо нові функціі.

    Теми цього довгочиту:

    Програмування
  • Комплексні числа у Python

    Всіх вітаю! У цій невеличкій статті ми дізнаємося як створювати комплексні числа та як працювати з ними. Ми роглянемо два способи створення комплексних чисел та оглянемо декілька функцій з модуля, котрий спеціалізується на роботі з ними.

    Теми цього довгочиту:

    Програмування

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Це також може зацікавити:

  • Чому людям без технічної освіти/технічних ставати проджект менеджерами - дуже погана ідея

    Я бачу за останні роки дуже велика кількість знайомих намагається потрапити в АйТі через позицію проджект менеджера. Тут є проблема, я навіть не буду тут торкатись теми кризи, що склалась на ринку кандидатів в зимку 2022 року в Україні і триває досі і буде тривати ще довго.

    Теми цього довгочиту:

    Програмування
  • PHP 8.3: Що нового?

    Це наступний великий реліз мови програмування PHP. Його випуск заплановано на 2023 рік. Сьогодні ми разберемо нові функціі.

    Теми цього довгочиту:

    Програмування
  • Комплексні числа у Python

    Всіх вітаю! У цій невеличкій статті ми дізнаємося як створювати комплексні числа та як працювати з ними. Ми роглянемо два способи створення комплексних чисел та оглянемо декілька функцій з модуля, котрий спеціалізується на роботі з ними.

    Теми цього довгочиту:

    Програмування