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

Хто я?

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

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

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

MagicHome DC5-28V Single Color LED Controller

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

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

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

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

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

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

Фініш

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

Висновок

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

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

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

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

Вам також сподобається

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

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

Вам також сподобається