Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino Uno via ESP8266 WiFi-module en Blynk-app naadloos besturen

Onderdelen en benodigdheden

Arduino UNO × 1
Espressif ESP8266 ESP-01 × 1
SparkFun USB naar Serial Breakout - FT232RL × 1
Lineaire regelaar (Low Dropout) × 1
Schuifschakelaar × 1
SparkFun Drukknopschakelaar 12mm × 1
Draadjes (standaard) × 1
Breadboard (standaard) × 1

Apps en online diensten

  • Arduino IDE
  • Blynk
  • ESP8266 flasher tool

Over dit project

Inleiding

Met dit project kun je de Arduino-pins besturen via de ESP8266-01 WiFi-module en de Blynk-app. De Blynk-app is zeer gebruiksvriendelijk en een uitstekende manier om te beginnen met IoT.

Stap 1: Alles verzamelen

Dit zijn de benodigde items. Zorg ervoor dat je alles van tevoren in een map hebt geplaatst:

  1. Arduino IDE: https://www.arduino.cc/en/Main/Software
  2. Blynk-bibliotheken (nieuwste versie): https://github.com/blynkkk/blynk-library/releases
  3. ESP8266 flasher tool: https://os.mbed.com/media/uploads/sschocke/esp_flasher.zip

Stap 2: Arduino IDE en bibliotheken installeren

  1. Installeer de nieuwste versie van de Arduino IDE.
  2. Open de Arduino IDE en ga naar Bestand → Voorkeuren. Voer bij "Extra bordbeheer URLs" in: https://arduino.esp8266.com/stable/package_esp8266com_index.json
  3. Ga naar Hulpmiddelen → Bord → Bordbeheer en installeer het esp8266-pakket (optioneel).
  4. Pak het Blynk-bibliotheek-zipbestand uit en kopieer de inhoud van de library-map naar:
    Gebruikersdocumenten → Arduino → Libraries

Stap 3: ESP8266-firmware flashen

Je moet de onderstaande schakeling maken om de firmware op de ESP8266 te flashen:

Op veel fora lees ik dat de ESP8266 zonder FTDI USB-naar-TTL-converter kan worden geflasht, bijvoorbeeld via een Arduino UNO. Uit mijn eigen ervaring is het echter beter om een FTDI USB-naar-TTL-converter/kabel aan te schaffen, omdat de Arduino-methode bij mij niet werkte (mogelijk door voedingsproblemen).

Arduino Uno via ESP8266 WiFi-module en Blynk-app naadloos besturen
Arduino Uno via ESP8266 WiFi-module en Blynk-app naadloos besturen
  1. Pak esp_flasher.zip uit en start de applicatie XTCOM_UTIL.
  2. Sluit de ESP8266-01 aan op de computer via de schakeling. Bepaal de juiste COM-poort via Apparaatbeheer → Poorten (COM & LPT).
  3. In XTCOM_UTUL ga je naar Tools → Config Device, selecteer de juiste COM-poort en stel de baudrate in op 9600. Klik op Open, vervolgens op Connect. Als de verbinding succesvol is, is de ESP8266 verbonden. Bij fouten: kabel eruit en weer in.
  4. In het uitgepakte bestand vind je readme.txt met de adresses voor elke .bin-file.
  5. Ga naar API Test → Flash Image Download. Blader naar de juiste .bin-file, voer het bijbehorende adres in en klik op Download.
    Voorbeeld: boot_v1.1.bin → 0x00000
  6. Na succesvolle operatie: sluit XTCOM_UTIL, haal de ESP8266 eruit (dit moet tussen elke .bin-file gebeuren). Herhaal de stappen voor alle 4 .bin-bestanden op hun juiste adressen.
    Onthoud: GPIO0 moet tijdens het flashen permanent aan GND liggen.

Gedetailleerde instructies: Updating ESP8266 Firmware

Stap 4: AT-commando's

  1. Open de Arduino IDE terwijl de ESP8266 nog aangesloten is. Selecteer de juiste poort onder Hulpmiddelen (bord hoeft niet geselecteerd te worden).
  2. Stel de baudrate in op 115200 en voer de benodigde AT-commando's in.
  3. Test met basiscommando: AT → je moet OK ontvangen.
  4. Zet de modus op Station-modus: AT+CWMODE=1

Stap 5: Blynk-app instellen

  1. Download de Blynk-app uit de Play Store en log in.
  2. Maak een nieuw project aan via het +-icoon bovenaan.
  3. Geef het project een naam.
  4. Kies als apparaat: Arduino UNO.
  5. Verbindingstype: WiFi → druk op Create.
  6. Er wordt nu een Auth Token naar je geregistreerde e-mail gestuurd. Je kunt hem later ook via Projectinstellingen (moertje-icoon) → Devices opvragen.
  7. Voeg een knop toe: + → Button.
  8. Bewerk de knop: geef een naam, stel pin in op Digital D13, zet modus op SWITCH.
  9. Deze knop schakelt de ingebouwde LED op de Arduino aan/uit.
  10. Voor andere pines: selecteer de gewenste pin (D3, D4, etc.) in het bewerkmenu.

Stap 6: Programma

  1. Open de Arduino IDE.
  2. Selecteer bord: Arduino Uno en de juiste poort.
  3. Kopieer en plak de onderstaande code in de Arduino IDE:
/*************************************************************
 Download nieuwste Blynk-bibliotheek: https://github.com/blynkkk/blynk-library/releases/latest
 Blynk is een platform met iOS en Android apps om Arduino, Raspberry Pi, etc. via internet te besturen.
 Je bouwt grafische interfaces door widgets te slepen en neer te zetten.
 Downloads, docs, tutorials: https://www.blynk.cc
 Sketch generator: https://examples.blynk.cc
 Blynk community: https://community.blynk.cc
 Volg ons: https://www.fb.com/blynkapp / https://twitter.com/blynk_app
 Blynk-bibliotheek is gelicenseerd onder MIT-licentie
 Deze voorbeeldcode is in het publieke domein.
 *************************************************************
 Dit voorbeeld toont hoe je ESP8266 Shield (met AT-commando's) gebruikt om je project met Blynk te verbinden.
 WAARSCHUWING! Het is lastig om het werkend te krijgen. Lees dit artikel:
 https://help.blynk.cc/hardware-and-libraries/arduino/esp8266-with-at-firmware
 Wijzig WiFi ssid, wachtwoord en Blynk auth token om te draaien :)
 Voel je vrij om het toe te passen op andere voorbeelden. Het is simpel!
 *************************************************************/

#define BLYNK_PRINT Serial
#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>

char auth[] = "yourAUTH";
char ssid[] = "yourSSID";
char pass[] = "yourpassword";

#define ESP8266_BAUD 115200
ESP8266 wifi(&Serial);

void setup() {
  Serial.begin(9600);
  delay(10);
  Serial.begin(ESP8266_BAUD);
  delay(10);
  Blynk.begin(auth, wifi, ssid, pass);
}

void loop() {
  Blynk.run();
}

Dit is een aangepaste versie van het Esp8266_Shield-voorbeeldprogramma.

  • Vervang yourAUTH door de Auth Token uit je e-mail.
  • Vervang yourSSID door je WiFi-naam.
  • Vervang yourpassword door je WiFi-wachtwoord.
  • Hardware Serial-deel is uitgecommentarieerd omdat we een Arduino UNO gebruiken.
  • Belangrijk: Software Serial is uitgecommentarieerd (onstabiel). Ik heb ESP8266 wifi(&EspSerial); gewijzigd in ESP8266 wifi(&Serial); en EspSerial.begin(ESP8266_BAUD); in Serial.begin(ESP8266_BAUD);.

Upload het programma naar de Arduino Uno. Haal de Arduino na uploaden van de computer. Sluit nu de ESP8266 aan op de Arduino UNO.

Stap 7: Schakeling opbouwen

Arduino Uno via ESP8266 WiFi-module en Blynk-app naadloos besturen
ESP8266Arduino
TX→ Rx
Rx→ Tx
Gnd→ Gnd
Vcc→ 3.3V
CH_PD→ 3.3V

Na het aansturen: steek de Arduino in de computer. Open de Seriële Monitor en stel de baudrate in op 115200. Je ziet ongeveer dit:

Arduino Uno via ESP8266 WiFi-module en Blynk-app naadloos besturen

In de Blynk-app: selecteer je project en druk op de play-knop. Druk op de knop om de LED aan/uit te schakelen. Het project is nu klaar!

Veel plezier met de tutorial. Vragen of suggesties? Laat een reactie achter. Bedankt!

Productieproces

  1. Universele Android-afstandsbediening bouwen met Arduino, 1Sheeld en IR-besturing
  2. Een slimme voltmeter bouwen met Arduino en smartphone – Eenvoudig DIY-project
  3. Externe IoT-besturing van een zelfgebouwde robotarm
  4. Bouw een Slimme IoT Pot met ESP8266, Arduino & Ultrasonische Sensor – Real-time Monitoring
  5. Nauwkeurige Frequentie- en Duty Cycle-meting met Arduino UNO
  6. Arduino Uno WiFi Webserver: LED aan/uit schakelen via browser
  7. Bestuur een Arduino-rover naadloos met Firmata en een Xbox One-controller
  8. Naadloze LED-dimmer met Bolt IoT en Arduino UNO
  9. u-blox LEA‑6H GPS Module: Arduino & Python Integratie Handleiding
  10. Bouw een Slimme Arduino-gestuurde Robotarm: Eenvoudige DIY Handleiding
  11. WiFi-ingeschakeld slim slot met Arduino & ESP8266 – Ontgrendel via je telefoon