Как стать автором
Обновить
16.97

Разработка для интернета вещей *

Учимся разрабатывать для интернета вещей

Сначала показывать
Порог рейтинга
Уровень сложности

Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров33K

Telegram-боты — хорошая возможность вписать какую-то важную функциональность в понятную и простую платформу мессенджера. Не нужно думать об отдельном сайте и интерфейсе. Также боты — хорошая возможность для новичков в разработке реализовать свой мини-проект. Идея может быть как совершенно фановая — например, создавать стикеры из мемных сообщений друзей, так и быть частью функциональности сервиса — например, платежной системы.

В подборке под катом — семь инструкций по созданию Telegram-ботов с разной функциональностью. Сохраняйте статью в закладки: пригодится как начинающим, так и опытным разработчикам.

Выберите интересующего вас бота:

Паттерны взаимодействия с ботами
Веб-приложение на Node.js и React
Платежная система с Payments
Карманный ChatGPT, которому можно отправлять голосовые сообщения
Бот для генерации сложных паролей
Бот для создания стикеров из сообщений
Бот для мониторинга погоды на Python
Читать дальше →
Всего голосов 46: ↑43 и ↓3+40
Комментарии13

Kincony KC868-A4S: как A4, только (S)UPER

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.1K


Больше года назад я обозревал (на мой взгляд) замечательный контроллер KC868-A4, прошло некоторое время и Kincony выпустила его модернизированную версию KC868-A4S, причём модернизированную настолько, что от старого контроллера остались только формфактор печатной платы, микроконтроллер ESP32 и 4 реле, — всё остальное кардинально переработано и улучшено.

В «детский» вариант KC868-A4 для «пионерского кружка с пищалкой» добавлены: поддержка модулей RTS DS3231, GSM модулей SIM800L/SIM7600E, Ethernet LAN8720A, интерфейс RS485, 12 цифровых входов и прочие компоненты и подсистемы.

Можно сказать, что это уже совсем другой, гораздо более серьёзный контроллер в старом формфакторе и с похожим названием. Кстати, я не знаю, что обозначает буква S в названии, но, судя по всему, это сокращение от SUPER и, глядя на новый контроллер, с этим трудно не согласиться.

Однако столь масштабная модернизация не могла пройти без определённых потерь и A4S лишился некоторых подсистем и возможностей A4 — насколько существенны эти потери мы тоже разберём далее…
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии4

Starting Electronics: руководство по веб-серверам на Arduino. Часть 15. HTML теги, CSS и JavaScript

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.2K


От переводчика. Разбор работы непосредственно веб-серверов на Arduino закончен автором в предыдущих статьях, но остались нераскрытыми различные тонкости формирования дизайна и работы самих веб-страниц.

В этом уроке автор «расставляет по полочкам» методы получения доступа к различным HTML элементам при помощи CSS и JavaScript и подробно объясняет механизмы управления внешним видом страниц.

Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии2

Starting Electronics: руководство по веб-серверам на Arduino. Часть 14. I/O веб-сервер

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3.5K


От переводчика. Эта часть посвящена работе так называемого «сервера ввода/вывода» и представляет собой апофеоз всего курса — здесь даётся практический пример кода веб-сервера Arduino с подключёнными к нему «физическими» кнопками, светодиодами потенциометром и «виртуальными» кнопками и чекбоксами на веб-странице — весь этот конгломерат оборудования и технологий работает в реальном времени и обеспечивает интерактивное управление работой светодиодов и отображение актуальных данных на веб-странице.

Это всё, что может понадобиться вам для построения своих собственных микроконтроллерных приложений и интерфейсов — берите исходный код урока и модифицируйте его для своих собственных проектов.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии2

Истории

Kincony KC868-AP: мега-диммер на 16 каналов (+18 DI)

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров3.3K


Kincony заботится о нас (смайл) и на случай, если кому-то вдруг понадобится контроллер с 16-ю PWM каналами управления, выпустила модель KC868-AP «16 channel PWM dimmer board» в своём стандартном форм-факторе под 20-сантиметровый корпус.

Кроме 16-и выходных каналов, контроллер KC868-AP имеет на борту реле, цифровые входы, интерфейс RS485, Ethernet LAN8270A, I2C и Free GPIO разъёмы для подключения дополнительных компонентов и прочие элементы, плюс конечно же ESP32 со всеми его возможностями.

В общем, если идея чем-нибудь поуправлять при помощи 16-и PWM каналов вам не чужда, то приглашаю поближе познакомиться с нашим героем.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии9

Zabbix-мониторинг устройств IoT метеостанции с помощью Repka Pi

Время на прочтение18 мин
Количество просмотров5.3K

Эта статья посвящена Zabbix-мониторингу устройств IoT простой метеостанции, подключенных через порт GPIO к микрокомпьютеру отечественной сборки Repka Pi 3 производства НПО Рэйнбовсофт (Rainbowsoft). Здесь будут представлены скрипты мониторинга, измеряющие температуру, давление, влажность, освещенность, а также контролирующие наличие воды (затопление).

Метеостанция оборудована контроллером BME280, измерителем освещенности BH1750, а также сенсором наличия воды YL-38. Результаты измерений периодически отправляются в Zabbix с помощью агента zabbix-agent2 и шаблона, работающего в активном режиме.

Помимо этого, в статье будет описан скрипт Python, который можно запускать периодически через crontab. Этот скрипт выводит результаты измерений на OLED-монитор SSD1306. На время проведения измерений зажигается светодиод, подключенный к GPIO.

Мониторинг самого микрокомпьютера был описан ранее в статье Zabbix-мониторинг российского микрокомпьютера Repka Pi.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии9

Starting Electronics: руководство по веб-серверам на Arduino. Часть 13. Графический индикатор на веб-странице

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров5.2K


От переводчика. В этой части руководства рассказывается как подключать к страницам Arduino сервера и использовать Javascript компоненты, в данном случае компонент стрелочного индикатора.

Это открывает поистине безграничные возможности для проектирования веб-страниц: вам доступны тысячи готовых Javascript компонентов для реализации различных функций и дизайна веб-интерфейсов для ваших проектов.

Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии0

KC868-E16T: сбалансированное решение

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4.4K


Компания Kincony известна своим креативом и радует нас разнообразными контроллерами, но в своём творческом порыве часто создаёт весьма экзотические модели, в которых, например, есть огромное количество цифровых входов, но нет аналоговых или есть входы, но нет ни релейных, ни транзисторных выходов и т. д.

И вот, похоже, компании Kincony всё-таки удалось создать модель, которую можно назвать сбалансированной — в ней есть весь «джентльменский набор» входов, выходов и прочих составных частей DIY контроллера.

«Сбалансированность» важна не сама по себе, а для обеспечения применимости контроллера для реализации наибольшего количество проектов по «малой» автоматизации и похоже KC868-E16T как раз и является таким контроллером.

Далее мы подробно разберём его начинку и подтвердим или опровергнем это предположение.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии6

Starting Electronics: руководство по веб-серверам на Arduino. Часть 12. Отображение DI и AI входов при помощи Ajax и XML

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров3.4K


От переводчика. В этой части руководства объясняется как работают в связке Ajax и ХML для передачи данных от Arduino сервера браузеру и даются примеры кода для реализации этого взаимодействия на практике.

Также объясняется как можно просто извлекать нужные значения из XML файлов при помощи Javascript и почему это лучше и удобнее, чем предавать данные в простом текстовом формате.

Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии2

Kincony KCS: фирменная прошивка для ESP32 контроллеров

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров12K


У компании Kincony есть обширная линейка контроллеров на основе популярного ESP32. Но контроллеры не работают сами по себе, для них требуется программное обеспечение, и тут просто просится создание «фирменной» прошивки для этой линейки контроллеров.

Идея очевидная, но тут не всё так просто: создание софта — это довольно сложный процесс, нельзя просто так взять и создать прошивку для контроллера (а тем более для линейки контроллеров), — тут нужно иметь представление об архитектуре IoT систем и месте и роли контроллера, работающего под управлением этой прошивки в этих системах и т. д.

Далее мы подробно разберём функционал и принципы работы фирменной прошивки KCS (сокращение от «KinCony Super») компании Kincony и посмотрим, что у неё получилось (и что не получилось) реализовать.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии17

200 миллиардов коробок в год. Рынок, который убивает планету

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров39K

В России за 2022ой год было отправлено более 2 млрд. коробок с товаром покупателям (по всему миру 200 млрд. коробок). За первые три квартала рост составил 43% по сравнению с предыдущим годом. Если прибавить рекордный 4ый квартал, то цифра вообще улетает в космос. 

Читать далее
Всего голосов 105: ↑73 и ↓32+41
Комментарии449

Как мы изобрели велосипед: адаптер USB–RS485 с выходом питания 12 В и защитой

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров15K

Можно ли сделать хорошо знакомое и массовое устройство ещё лучше? Конечно!

Расскажем о недостатках существующих адаптеров USB-RS485, поиске идеального решения и про весь процесс: от идеи до запуска серийного производства.

Читать далее
Всего голосов 96: ↑95 и ↓1+94
Комментарии66

Ethernet для Ариты

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров3.6K


Недавно в моём блоге вышла статья о контроллере NORVI Arita на ATmega2560, которая вызвала неподдельный интерес у публики — на данный момент статья набрала аж 23 тысячи просмотров. Тут я полностью согласен с читателями, я тоже неровно дышу к красавице Арите и имею в отношении неё далеко идущие планы.

Как вы помните по вводной статье, в моём распоряжении имеется Model 5, то есть самый урезанный в функциональном плане вариант контроллера: в нём нет дисплея, Ethernet интерфейса, картридера для microSD карт памяти и т. д., оставлен только «слабенький» базовый набор функций, что, конечно, никак не могло меня устроить.

Поэтому я вооружился лупой, паяльником, тестером, осциллографом, термостолом, лабораторным источником питания, даташитами и дремелем (куда ж без него) и решил сделать из NORVI Arita Model 5 человека, то есть полноценный контроллер, что-то вроде Model 8++. Возможно в нём появятся функции, которых нет даже в оригинальных контроллерах NORVI.

Начнём мы с добавления в контроллер Ethernet интерфейса, который там просто обязан быть, без него Арита смотрится как инвалид, лишённый одной из важных частей тела. Немного магии и, с позволения сказать, реверс-инжиниринга и…
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии11

Ближайшие события

Интернет коров

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров5.8K

По большому счету, хочу вам поведовать о моем небольшом DIY-проекте, но начать хотелось бы издалека. Если верить основателю псиохоанализа, то многие наши проблемы родом из детства. В свободное время от школы, с мая и до тех пор, пока не ляжет снег, мне приходилось стеречь коров, было их не очень много, голов до 20 крупнорогатого скота (КРС). Исходя из вышесказанного, идея избавиться от этого интереснейшего занятия или хотя бы как-то облегчить труд не покидает мою голову и по сей день.

Уже будучи студентом мне все равно приходилось иногда этим заниматься. В это время я собрал из подручных средств (катушки зажигания и радиодеталей из старого телевизора) электропастуха.

Читать далее
Всего голосов 37: ↑37 и ↓0+37
Комментарии17

Выжимаем все соки из WebRTC для стриминга камер на примере go2rtc

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров13K

Go2rtc — это open source приложение для стриминга видео в реальном времени. Оно весит всего 5 мегабайт, не имеет внешних зависимостей и работает на всех популярных ОС. Поддерживает технологии ​​RTSP, RTMP, DVRIP, HTTP-FLV, WebRTC, MSE, HLS, MJPEG, HomeKit и многие другие. Последний релиз получился настолько масштабным, что все нововведения пришлось оформлять в статью на Хабре.

Читать далее
Всего голосов 26: ↑26 и ↓0+26
Комментарии11

Открытый проект встраиваемого модуля для IoT

Уровень сложностиСложный
Время на прочтение5 мин
Количество просмотров8.3K

Выполнен на чипе семейства Synergy. Если коротко, то: ядро Cortex-M4, 240 МГц, 640 КБ RAM, 32 МБ SDRAM, 4 МБ Flash, LoRA, BLE, Wi-Fi a/b/g/n, uSD, USB HS, IMU, NV RTC, Li-ion Charger, 81 I/O, 7 мкА wakeful sleep.

Читать далее
Всего голосов 28: ↑25 и ↓3+22
Комментарии39

KC868-AK: пианино на DIN-рейку (собачий вальс теперь не проблема)

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров4.3K


Неуёмный креатив наших китайских друзей из компании Kincony достиг таких масштабов, что даже я, хорошо знакомый почти со всей их продукцией, иногда впадаю в ступор от их изобретений.

Когда я первый раз увидел KC868-AK (креатив начинается прямо с индекса), то долго пытался понять что это и зачем это нужно. Рассматривание фотографий и чтение описаний мало что добавляло к пониманию назначения изделия. Тут и клавиатура на 35 кнопок, и цифровые входы, и проводные интерфейсы и ESP32 — что это вообще? и как это можно применять?

Некоторое понимание добавило ознакомление со схемой изделия, его разборка и осмотр обратной стороны его печатной платы. Что же это такое, для чего это можно применить и как это работает мы и попробуем разобраться далее…
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии0

EBYTE MA01-AACX2240: программирование цифровых входов

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.9K


В предыдущих статьях мы познакомились с замечательным внешним RS485/ModbusRTU блоком расширения EBYTE MA01-AACX2240 и научились управлять работой его реле. Сегодня мы разберём программирование цифровых входов MA01-AACX2240 и научимся получать с них данные в контроллере на ESP32.

Поскольку это RS485/ModbusRTU блок, то при помощи него можно не только расширить функционал вашего контроллера, но и вынести реле, цифровые и аналоговые входы на значительное расстояние от самого контроллера (десятки и сотни метров), что может быть полезно в различных проектах.

MA01-AACX2240 это довольно функциональное устройство и позволяет не только получать данные с цифровых входов, но и тонко настраивать работу самих этих входов — можно использовать счётчики, устанавливать работу по фронтам сигнала, выбирать метод обнуления счётчиков и т. д. и т. п., обо всём этом мы и поговорим далее…
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии0

HabraTab: извлечение и модернизация движка (о, сколько нам открытий чудных...)

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров3.8K


Недавно на Хабре вышла статья «HabraTab — девайс для хаброзависимых», которая вызвала неподдельный интерес у хабропользователей и, можно сказать, произвела своего рода фурор (на данный момент рейтинг статьи +137).

Действительно, проект довольно интересный как своей концепцией, так и исполнением, как программным, так железным и даже дизайнерским — девайс выглядит весьма своеобразно и оригинально.

Каждый нашёл в нём что-то своё, сам девайс меня не заинтересовал, но зато заинтересовал код, который может получать данные (кроме Хабра) с различных сайтов в интернете и затем эти данные использовать в IoT системах. Также этот код можно использовать для получения данных со встроенных веб-интерфейсов различных устройств в локальной сети, чему можно найти множество применений в реальных проектах по автоматизации (и не только).

Автор любезно открыл код, что сделало возможным его исследование и модернизацию, чем я с большим удовольствием и занялся. Далее я представлю результаты своих изысканий по этой теме.

Итак, начнём…
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии7

Starting Electronics: руководство по веб-серверам на Arduino. Часть 5. AJAX взаимодействие с веб-сервером

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров5K


От переводчика. С каждой новой статьёй уроки руководство становится всё более и более практичным и вот мы уже добрались до AJAX взаимодействия между клиентом (браузером) и сервером. Отсюда всего один шаг до практического применения кода и знаний, описанных в этом руководстве.

AJAX позволяет обновлять данные с контроллера на веб-странице, без необходимости каждый раз перезагружать саму страницу, что делает этот метод популярным и часто применяемым на практике, поэтому стоит уделить этому уроку достаточно вашего внимания, а также поэкспериментировать с кодом из этой статьи.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии5