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

Хто я?

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

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

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

MagicHome DC5-28V Single Color LED Controller

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

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

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

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

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

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

Фініш

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

Висновок

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

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

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

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

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

  • Що означають розміри файлів та папок у Windows?

    Коли ми переглядаємо властивості файлів та папок у Windows, часто помічаємо два значення: “Розмір” і “Розмір на диску”. Багато користувачів не задумуються над тим, чому ці числа відрізняються і що насправді означає кожне з них.

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

    Ос Windows
  • 10 Джерел Натхнення для Кожного Дня

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

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

    Мотивація
  • Історія розвитку комп'ютерної техніки

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

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

    Архітектура Еом

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

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

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

  • Що означають розміри файлів та папок у Windows?

    Коли ми переглядаємо властивості файлів та папок у Windows, часто помічаємо два значення: “Розмір” і “Розмір на диску”. Багато користувачів не задумуються над тим, чому ці числа відрізняються і що насправді означає кожне з них.

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

    Ос Windows
  • 10 Джерел Натхнення для Кожного Дня

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

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

    Мотивація
  • Історія розвитку комп'ютерної техніки

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

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

    Архітектура Еом