Update 2022
The Blynk app/service I used in this project is being fased out, and by the end of 2022 you won't be able to reach their free servers, through this app anymore. The app itself will tell you all about it, since theres a newer one called Blynk IoT
instead. Havent used that one though.
Smart dĂžrtelephone
med NodeMCU, Arduino og Blynk
Som videoen her illustrerer har jeg lavet et lille smart hack i min dĂžrtelefon, der gĂžr at jeg kan Ă„bne for mine gĂŠster uden at rejse mig, for at trykke pĂ„ knappen â endda uanset hvor i verdenen jeg er. Det er opnĂ„et med en WiFi microcontroller (NodeMCU) pĂ„ mit hjemmenetvĂŠrk, et 5v relĂŠ board og online servicen Blynk.
Skulle du fÞle dig inspireret sÄ se herunder, hvor simpelt det faktisk er!
Opdateret udgave: Mine nĂŠre venner har nu mulighed for at hente en custom app, som giver dem adgang.
NodeMCU
NodeMCU er en open source baseret WiFi microcontroller i familie med de populÊre Arduino controllere. Basalt set er det en lille mini-computer, der kan programmeres til enkeltstÄende formÄl, men med lidt kreativitet er et ret sÄ kraftfuldt lille vÊrktÞj. Den findes i adskillige udgaver, og du kan nÊrmest ikke kÞbe nogen forkert model.
IndkĂžbsseddel
FĂžrste skridt er at anskaffe en NodeMCU, et 5V Relay Board, og du selvsagt bruge nogle dupont kabler e.l ledninger.
Tilslutte NodeMCU+relĂŠ
NÄr varerne er hjemme, tager du udgangspunkt i diagrammet til det meget nemme setup set herunder.
5V
pÄ MCU'en gÄr til +
pÄ relÊet, hvor GND
gÄr til -
, og du kan bruge basicly enhver GPIO til signal
. Jeg valgte pin D4
.
Tilslutte dĂžrtelefonen
Fra relĂŠet vĂŠlger vi NO
("normally open") setup'et, hvor vi trÊkker kablet fra relÊet's udgang, op til de to kontakter der normalvis mÞdes, nÄr du normalt trykker pÄ knappen for at Äbne.
Dvs. nÄr vi fÄr vores MCU ti lat sende et high
signal ud af pin D4
, bliver relĂŠet til sat som "closed", der modsat open
kortslutter kontakterne i dertelefonen, og derved imiterer vores button press .
Download Arduino
NÄr det meget nemme setup er klaret, skal du, hvis ikke du allerede har, installere programmeringsplatformen Arduino og ressourcebiblioteket til NodeMCU som vist her (starter 2 minutter inde).
Programmering!
Programmeringsdelen til dette i forvejen simple setup er nÊsten lige sÄ ligetil. Det er vitterligt et nÊrmest tomt eksempeltdokument fra Blynk biblioteketet, hvor vi herfra bruger deres app til at sÊtte det sidste op.
Alt koden egentlig gÞr er egentlig at give Blynk adgang til vores microcontroller, via deres servere der gÞr det muligt at Äbne og lukke relÊet fra alle steder i verden, og selvfÞlgeligt sÊtte vores lille app op via interfacet i deres mobil app.
Hvis ikke du har gjort det, skal du nu hente Blynk appâen pĂ„ din telefon. FĂžlg appens instrukser og opret en bruger. Jeg valgte log in with facebook
.
NÄr du er logget ind, skal du oprette et nyt projekt pÄ plusset i Þverste hÞjre hjÞrne og tilfÞjen en push-button, til GPIO4 og vÊlg push mode.
NÄr det er gjort skal vi Äbne koden herunder, der er fra Blynk biblioteket, som du tidligere installerede. Denne kan findes ved Fil -> Eksempler -> Blynk -> Getting Started
Her skal vi blot indtaste vores SSID
("Wifi navn" pĂ„ linje 50 â udskift YourNeworkName
), kode dertil (linje 51 â udskift YourPassword
) samt det auth token (linje 46 â udskift YourAuthToken
) som Blynk har sendt til din e-mail. Har du ikke modtaget denne, kan du tjekke din spam folder pÄ din indbakke. Alternativt kan den findes i Blynk appen ved at klikke pÄ tandhjulet ved dit projekt.
"Getting started" Kode
/*************************************************************
Download latest Blynk library here:
https://github.com/blynkkk/blynk-library/releases/latest
Blynk is a platform with iOS and Android apps to control
Arduino, Raspberry Pi and the likes over the Internet.
You can easily build graphic interfaces for all your
projects by simply dragging and dropping widgets.
Downloads, docs, tutorials: http://www.blynk.cc
Sketch generator: http://examples.blynk.cc
Blynk community: http://community.blynk.cc
Social networks: http://www.fb.com/blynkapp
http://twitter.com/blynk_app
Blynk library is licensed under MIT license
This example code is in public domain.
*************************************************************
This example runs directly on NodeMCU.
Note: This requires ESP8266 support package:
https://github.com/esp8266/Arduino
Please be sure to select the right NodeMCU module
in the Tools -> Board menu!
For advanced settings please follow ESP examples :
- ESP8266_Standalone_Manual_IP.ino
- ESP8266_Standalone_SmartConfig.ino
- ESP8266_Standalone_SSL.ino
Change WiFi ssid, pass, and Blynk auth token to run :)
Feel free to apply it to any other example. It's simple!
*************************************************************/
/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial
#include
#include
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "YourAuthToken";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";
void setup()
{
// Debug console
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8442);
}
void loop()
{
Blynk.run();
}