Если у вас есть канал на Youtube и вы почти популярны, то счетчик YouTube подписчиков окажется для вас просто прикольным гаджетом, который будет показывать количество подписчиков на ваш канал.
Вам не нужно заходить на сайт, открывать браузер. Счетчик YouTube самодостаточное устройство, которое умеет подключаться к WiFi роутеру и самостоятельно подгружать необходимые данные.
YoutubeApi.h – https://github.com/witnessmenow/arduino-youtube-api
SH1106.h – https://github.com/rene-mt/esp8266-oled-sh1106
VCC – VCC
GND – GND
GPIO14 – SCL
GPIO0 – SDA
5V – VCC
TX – RX
RX – TX
GND – GND
Код написан для загрузки через Arduino IDE.
Не забудьте поменять:
WIFI_NAME – имя вашей WiFi сети
WIFI_PASS – пароль от WiFi сети
YOUR_YOUTUBE_API – YouTube API
CHANNEL_ID – URL адрес канала на YouTube
#include <YoutubeApi.h> #include "SH1106.h" #include <ESP8266WiFi.h> #include <WiFiClientSecure.h> SH1106 display(0x3c, D3, D5); //------- Replace the following! ------ char ssid[] = "WIFI_NAME"; // your network SSID (name) char password[] = "WIFI_PASS"; // your network key #define API_KEY "YOUR_YOUTUBE_API" // your google apps API Token #define CHANNEL_ID "CHANNEL_ID" // makes up the url of channel WiFiClientSecure client; YoutubeApi api(API_KEY, client); int api_mtbs = 60000; //mean time between api requests long api_lasttime; //last time api request has been done long subs = 0; void setup() { Serial.begin(115200); display.init(); display.flipScreenVertically(); display.setFont(ArialMT_Plain_10); // Set WiFi to station mode and disconnect from an AP if it was Previously // connected WiFi.mode(WIFI_STA); WiFi.disconnect(); delay(100); // Attempt to connect to Wifi network: Serial.print("Connecting Wifi: "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(500); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); IPAddress ip = WiFi.localIP(); Serial.println(ip); } void loop() { if (millis() > api_lasttime + api_mtbs) { if (api.getChannelStatistics(CHANNEL_ID)) { Serial.println("---------Stats---------"); Serial.print("Subscriber Count: "); Serial.println(api.channelStats.subscriberCount); Serial.print("View Count: "); Serial.println(api.channelStats.viewCount); Serial.print("Comment Count: "); Serial.println(api.channelStats.commentCount); Serial.print("Video Count: "); Serial.println(api.channelStats.videoCount); // Probably not needed :) //Serial.print("hiddenSubscriberCount: "); //Serial.println(api.channelStats.hiddenSubscriberCount); Serial.println("------------------------"); } api_lasttime = millis(); } int subcountme = api.channelStats.subscriberCount; display.clear(); display.setFont(ArialMT_Plain_24); display.setTextAlignment(TEXT_ALIGN_CENTER); display.drawString(64, 0, "Subscribers"); if (subcountme == 0) { display.setFont(ArialMT_Plain_16); display.drawString(64, 24, "loading ..."); } else { display.drawString(64, 24, String(api.channelStats.subscriberCount)); } //display.drawString(12, 16, "View:"); //display.drawString(72, 16, String(api.channelStats.viewCount)); //display.drawString(12, 32, "Video:"); //display.drawString(72, 32, String(api.channelStats.videoCount)); display.setFont(ArialMT_Plain_10); display.drawString(64, 50, "YouTube: 150watt"); display.display(); }
Промо страница контроллера "Laika" Обновленный контроллер "Laika Pro" на 28 каналов Датчики движения (обнаружения) Миниатюрный…
Интерфейс RS-485 RS-485 является одним из наиболее распространенных интерфейсов передачи данных. Для передачи сигнала используется…
Меня зовут Вячеслав Ким. Я являюсь выпускником Alumni программы IVLP США. Входя в группу по…
My name is Vyacheslav Kim, a US IVLPA program alumni. Being a part of working…
Введение DFPlayer Mini - это миниатюрный MP3 проигрыватель для плат Arduino. Недорогой MP3 модуль может работать без…
https://www.youtube.com/watch?v=lyBiI67T2Zw <pre class="lang:arduino decode:true " > /* Created 2017 Remixed from AlexGyver */ //-------НАСТРОЙКИ--------- #define…