Этот проект — Простой способ использовать криптовалюты (Solana, Cosmos, Algorand или Toncoin) для управления устройствами.
Важно: Данный проект предназначен исключительно для образовательных целей и изучения современных технологий, таких как блокчейн и криптовалюты. Мы не поддерживаем использование криптовалют в нарушение законодательства. Этот проект создан для демонстрации работы IoT-устройств и взаимодействия с популярными криптовалютами.
С чего все начиналось?
Я живу за пределами России, где законы, касающиеся использования криптовалют, более гибкие. Мы несколько месяцев назад в своем IT офисе для сотрудников установили Sonoff и подключили его к кофемашине. Теперь она включается только после того, как пользователь переведёт нужную сумму в криптовалюте на указанный кошелёк.
Таким образом, мы придумали способ "собирать деньги на кофе". Когда оно заканчивается, мы используем собранные средства, чтобы купить новую пачку. Это не только удобно, но и помогает автоматизировать процесс оплаты.
Как все устроено:
1. Подключение устройства:
Устройство Sonoff используется как основа. Оно позволяет управлять подачей питания к кофемашине. Сначала мы прошили Sonoff, и интегрировали его с нашим кодом для работы с криптовалютами. О том, как это сделать, я расскажу позже.
2. Платёжный процесс:
Мы распечатали и поставили возле кофемашины QR-код, в котором указаны данные криптокошелька и рядом сумма, соответствующая стоимости чашки кофе в EUR.
• Пользователь сканирует QR-код с помощью любого криптокошелька.
• Указывает сумму в EUR.
• Sonoff проверяет, поступил ли платёж, и активирует кофемашину на 1 минуту.
3. Проверка баланса:
Каждые 5 секунд Sonoff отправляет запрос на баланс указанного криптокошелька:
• Если баланс увеличивается на сумму, указанную в настройках, Sonoff распознаёт это как успешный платёж.
• После этого реле срабатывает, подаёт питание на кофемашину, и она начинает работать.
4. Актуализация стоимости криптовалюты:
Каждый час Sonoff отправляет запрос через API CoinMarketCap, чтобы обновить текущий курс криптовалюты относительно фиатной валюты, например, EUR.
• Это позволяет автоматически пересчитывать стоимость чашки кофе в криптовалюте, даже если её курс изменился.
Прошивание
Прошивание происходит через браузер. Подключите Sonoff к программатору и соедините его с компьютером через USB. Если у вас с этим проблемы пишите в Telegram, поможем.
У нас есть несколько проектов. Первый — Sonoff for Toncoin, который использует toncenter.com для проверки баланса. Преимущество этого решения в том, что регистрация и получение API не требуются но работает только с TonCoin.
Второй проект, о котором мы расскажем здесь подробнее, — Sonoff for Toncoin, Solana, Cosmos, Algorand. Он использует tatum.io для проверки баланса. В этом случае потребуется регистрация и получение API-ключа, но вы легко уложитесь в бесплатный тарифный план.
Включение устройства
• При первом включении, если устройство не находит роутер, или если вы нажмёте кнопку на самом Sonoff, оно создаст точку доступа с именем "Crypto payments".
• Подключитесь к этой точке (пароль не требуется) и откройте браузер, где введите http://192.168.4.1. Обычно после подключения к Wi‑Fi автоматически откроется Activ portal, который перенаправит вас на нужную страницу.
• Нажмите "Configure WiFi" для настройки.
Настройка устройства
• Роутер и пароль: Введите данные для подключения к вашему Wi-Fi.
• Crypto Name: Криптовалюта устройства, например, "Solana", "Cosmos", "Algorand" или "Toncoin". Вы можете опционально добавить в это поле GPIO пины. Пример: Solana:12,11,22
, где Solana — это криптовалюта устройсва, а 12,11,22
— это соответствующие номера пинов для реле, кнопка сброса и светодиода (RELAY_PIN,BUTTON_PIN,LED_PIN
).
• Your Wallet: Введите адрес вашего кошелька для приема платежей.
• CoinMarketCap API: Используется для получения текущего курса Solana в фиатной валюте (получить API).
• Tatum API: Служит для получения информации о балансе вашего кошелька (получить API).
• Сurrency: Выберите валюту, в которой хотите получать оплату (EUR, USD, RUB, BYN, BGN, GBP и др.). Это необходимо для автоматической конвертации суммы в Solana на основе текущего курса, который обновляется каждый час через coinmarketcap.com.
• Service Currency Price: Укажите цену в выбранной валюте, которую клиент должен оплатить.
• Payment Tolerance: В этой ячейке указывается допустимая погрешность в цене. Поскольку стоимость криптовалюты постоянно колеблется, здесь нужно указать диапазон отклонений (одной цифрой), который вы готовы принять при оплате.
• Relay Work Time: Укажите, на сколько секунд должно включиться реле. Это может быть от одной секунды до нескольких минут или часов.
Какие Sonoff поддерживаются?
Мы добавили поддержку устройств SONOFF на базе ESP32 (Dual R3, Mini R4, Basic R4, POW, THR316), но большинство из них не прошло полное тестирование. Если у вас возникнут проблемы, пожалуйста, свяжитесь с нами, и мы постараемся помочь. На устройствах с ESP8266 (Mini R1, Mini R2, S26, S26R2) все GPIO (пины) оставались неизменными. Вам не нужно ничего настраивать. Однако на ESP32 многие пины изменились в зависимости от модели устройства. Мы решили не выпускать отдельные прошивки для каждой модели, так как это усложнило бы их поддержку. Поэтому вам нужно будет вручную настроить GPIO для вашего устройства. Для этого в после Crypto Name после имени крипто валюты, добавьте : далее сначала GPIO реле, затем для GPIO кнопки сброса, и в конце GPIO для светодиода (LED). Ниже вы найдете список устройств и соответствующих им GPIO. Просто скопируйте нужные настройки, и устройство должно заработать.
Dual R3 Solana:27,0,13
Cosmos:27,0,13
Algorand:27,0,13
Toncoin:27,0,13
Mini R4 Solana:26,0,19
Cosmos:26,0,19
Algorand:26,0,19
Toncoin:26,0,19
Mini R4M Solana:4,9,19
Cosmos:4,9,19
Algorand:4,9,19
Toncoin:4,9,19
Basic R4 Solana:4,9,6
Cosmos:4,9,6
Algorand:4,9,6
Toncoin:4,9,6
POW 16a Solana:13,0,18
Cosmos:13,0,18
Algorand:13,0,18
Toncoin:13,0,18
POW 20a Solana:4,0,18
Cosmos:4,0,18
Algorand:4,0,18
Toncoin:4,0,18
POW Ring Solana:21,0,13
Cosmos:21,0,13
Algorand:21,0,13
Toncoin:21,0,13
THR316 Solana:21,0,15
Cosmos:21,0,15
Algorand:21,0,15
Toncoin:21,0,15
Заключение
Мы продолжим развивать проект, добавлять поддержку новых устройств и улучшать текущую функциональность. Если у вас возникнут вопросы, предложения или проблемы — не стесняйтесь писать нам в Telegram. Ваши отзывы помогут нам сделать проект ещё лучше.
Спасибо за внимание, и удачи в ваших экспериментах!
Ссылки на проекты (GitHub)
👉 Sonoff for Toncoin (toncenter.com)
👉 Sonoff for Toncoin, Solana, Cosmos, Algorand (tatum.io)
👉 У нас есть еще проект к экраном
--
👉 Видео обзор YouTube - оно не профессиональное, но мы старались.
Автор: Ramzies