Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-23 15:01
Er is een breed scala aan dingen die je met Arduino kunt doen, maar heb je er ooit aan gedacht om je Arduino te besturen met een Telegram-bot? WAT HEB JE NODIG:
- Arduino UNO
- Node.js geïnstalleerd op uw pc
- Een of ander bestuurbaar apparaat (we gebruiken Arduino's ingebouwde LED op pin 13 hier, maar voel je vrij om te vragen wat je wilt doen in opmerkingen)
Stap 1: Installeer Node.js op uw pc
Node.js is een JavaScript-runtime, maar geen paniek als je geen programmeerachtergrond hebt. Ik heb voorbereid wat je nodig hebt en je kunt ze downloaden. In dit project zullen we Node.js gebruiken voor:
- Telegram-bot maken
- Arduino besturen
INSTALLEER NODE. JS:
Ga naar de officiële Node.js-downloadpagina en download het nieuwste installatiepakket op basis van uw besturingssysteem.
*Onthoud het laatste versienummer zoals vermeld bovenaan de downloadpagina, we gebruiken het in de volgende stap.
Nadat u het pakket hebt gedownload en geïnstalleerd, moet u controleren of Node.js volledig is geïnstalleerd of niet.
CONTROLEER OF HET PAKKET VOLLEDIG IS GENSTALLEERD:
Als u Windows gebruikt, opent u CMD en als u macOS gebruikt, opent u terminal en typt u:
knoop -v
Nu zou u de versie moeten zien die u hebt bezocht op de downloadpagina van Node.js, hier afgedrukt.
Anders plaats ik hieronder een tutorial om het opnieuw te proberen:
- ramen
- macOS
Stap 2: Arduino-onderdeel
In deze stap hoeft u alleen maar een ingebouwde Arduino IDE-firmware op uw Arduino Uno te uploaden.
Belangrijk: u moet uw Arduino IDE bijwerken naar de nieuwste versie van Arduino.
Firmata-bibliotheek importeren:
Hoofdmenu >> Bestand >> Voorbeelden >> Firmata >> StandardFirmata
Verifieer en upload code op Arduino:
1. Hoofdmenu >> Schets >> Verifiëren/Compileren
2. Hoofdmenu >> Schets >> Uploaden
Helemaal klaar.
Stap 3: Telegram Bot-token ophalen
Open Telegram en zoek naar @BotFather of klik hier om deze bot op telegram te openen.
- Typ /newbot en druk op enter
- Kies een naam voor je bot
- Kies een gebruikersnaam voor uw bot. Het moet eindigen op 'bot'
- Nu stuurt bot u wat informatie, inclusief uw API-toegangstoken. Schrijf het op, we gebruiken dit token in de volgende stappen
Stap 4: Maak een Node.js-project
MAAK EEN NIEUW NODE. JS-PROJECT
Voor het maken van een Node.js-project en het installeren van modules moeten we terminal gebruiken, dus als je Windows gebruikt, gebruik CMD en in het geval van macOS gebruik je Terminal voor alle onderstaande stappen.
1. Maak ergens een map voor het project
2. CD (Change Directory) naar recent aangemaakte map. Als je die map bijvoorbeeld 'TelegramBot' hebt genoemd en op het bureaublad hebt gezet, schrijf je dit in terminal en druk je op enter:
cd Desktop/TelegramBot
3. Voer voor het maken van een Node.js-project de volgende opdracht in:
npm init
4. Beantwoord enkele vragen, waaronder naam, beschrijving, licentie enz. Als u niet weet wat u moet antwoorden, drukt u gewoon op enter. In dit geval wordt het woord tussen haakjes als standaardwaarde gebruikt.
5. Nu zou u het 'package.json'-bestand in uw map moeten zien en dit betekent dat u het Node.js-project met succes hebt gemaakt.
Stap 5: Coderen
We moeten hier wat codes schrijven. Laten we enkele gebruikte bibliotheken beschrijven:
- Node Telegram Bot API voor het afhandelen van API-verzoeken voor telegrambots.
- Johnny-Five Platform om verbinding te maken met Arduino.
Alles wat u moet weten over deze bibliotheken is te vinden op hun gelinkte websites. we gebruiken ze gewoon in onze code, maar de volledige documentatie ervan staat op hun blogs.
Ik gebruik Microsoft Visual Studio Code voor het bewerken van code. maar je kunt elke andere gebruiken die je wilt.1. Open codebewerkingssoftware en maak een bestand met de naam 'index.js' (of iets dat u hebt ingevoerd in het beginpunt van de stap voor het maken van het Node.js-project) in de gerelateerde map.
2. Schrijf code:
var vijf = vereisen("johnny-vijf");let TelegramBot = vereisen('node-telegram-bot-api'); const token = '############################################'; const bot = nieuwe TelegramBot (token, { polling: true }); var bord = nieuwe vijf. Board(); const answerCallbacks = {};
bot.on("bericht", functie (bericht) {
const callback = answerCallbacks[msg.chat.id]; if (callback) { verwijder answerCallbacks[msg.chat.id]; terugbellen (bericht); } });
board.on("klaar", functie () {
var led = nieuwe vijf. Led(13);
bot.on('bericht', (bericht) => {
const chatId = msg.chat.id; const tekst = bericht.tekst; if (tekst == '/start') { start(chatId, led); } }); });
functie start (chat-ID, led) {
bot.sendMessage (chatId, "Arduino-configuratiescherm", getKeyboardOptions());
bot.on("callback_query", (callbackQuery) => {
const msg = callbackQuery.bericht; bot.answerCallbackQuery(callbackQuery.id).then(() => { const data = callbackQuery.data; if (data == 'turnon') { led.on(); } else if (data == 'turnoff') { Led uit(); } }) }); }
functie getKeyboardOptions() {
const options = { "reply_markup": { resize_keyboard: true, "inline_keyboard":
retour opties;
}
3. Vervang de waarde van de token-eigenschap door een waarde die u hebt opgeschreven in de stap voor het maken van de bot
4. Bewaar de code
5. Open terminal en voer het volgende commando in:
npm i --save johnny-five node-telegram-bot-api
6. Na het installeren van modules, terwijl uw Arduino is aangesloten op de USB-poort, voert u in terminal de volgende opdracht in:
knooppunt index.js
7. Je zou zoiets moeten zien als:
1534514872949 Beschikbaar /dev/cu.usbmodem1411
1534514872957 Verbonden /dev/cu.usbmodem1411 1534514876660 Repl geïnitialiseerd >>
8. Open telegram en zoek naar de gebruikersnaam van uw bot (of open deze vanuit BotFather) en voer deze opdracht in:
/begin
9. Je zou een bedieningspaneel moeten zien dat de ingebouwde Arduino LED kan besturen met 'Turn on' en 'Turn off' commando's, als je geluk hebt;)
Aanbevolen:
Hoe de BLDC-motor te besturen met Arduino en joystick: 6 stappen
Hoe BLDC-motor te besturen met Arduino en joystick: Hallo vrienden in deze tutorial laat ik je zien hoe je een borstelloze gelijkstroommotor, ook bekend als BLDC-motor, bestuurt met Arduino en joystick
Hoe een relais te besturen met Arduino: 7 stappen
Een relais bedienen met Arduino: Relais zijn de beste manier om uw apparaten te bedienen, omdat ze minder weerstand hebben tussen hun contacten en in veel gevallen kunnen worden gebruikt, zoals het AAN en UIT zetten van AC-apparaten (wisselstroom), zoals lichten, tv, lampen en vele andere apparaten. Het is
Een GoPro Hero 4 besturen met een RC-zender: 4 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Een GoPro Hero 4 besturen met een RC-zender: Het doel van dit project is om een GoPro Hero 4 op afstand te kunnen bedienen via een RC-zender. Deze methode gaat gebruik maken van de GoPro's ingebouwde Wifi & HTTP API voor het besturen van het apparaat & is geïnspireerd op PROTOTYPE: KLEINSTE EN GOEDKOOPSTE
Meerdere LED's besturen met Python en de GPIO-pinnen van je Raspberry Pi: 4 stappen (met afbeeldingen)
Meerdere LED's besturen met Python en de GPIO-pinnen van je Raspberry Pi: deze Instructable laat zien hoe je meerdere GPIO-pinnen op je RaspberryPi kunt besturen om 4 LED's van stroom te voorzien. Het zal je ook kennis laten maken met parameters en voorwaardelijke uitspraken in Python.Onze vorige Instructable met behulp van de GPIO-pinnen van je Raspberry Pi om
Pratende Arduino - Een MP3 afspelen met Arduino zonder enige module - Mp3-bestand afspelen vanaf Arduino met PCM: 6 stappen
Pratende Arduino | Een MP3 afspelen met Arduino zonder enige module | Mp3-bestand van Arduino afspelen met PCM: in deze instructie leren we hoe we een mp3-bestand met arduino kunnen spelen zonder een audiomodule te gebruiken, hier gaan we de PCM-bibliotheek voor Arduino gebruiken die 16 bit PCM van 8 kHz-frequentie speelt, dus laten we dit doen