Home

Newsy

Techmaniak
Komórkomania
Komputer Świat
 

Przydatne strony

Baza telefonów
Identyfikacja telefonu IMEI
Autokonfiguracja telefonu
Zdjęcie SimLock
Hot-Spoty
Mikro-PC
Nawigacja
Serwis GSM
Aero 2
Konwerter Youtube-mp3
 

Ciekawostki

System z pendrive
Android na PC
Konfiguracja Dual SIM
Tworzenie apl. Android
Free Mcboot PS2
Gry na PS2
Gry na PS2 iso
Programy do Konsol
Nawigacja Windows CE
Odblokowanie radia Ford

 

Robotyka

mirekk36 - BLOG
Forum - Atnel
Microkontrolery blogspot
Kurs Androida-eklipse
Forum Arduino Polska
Sklepy z elektroniką
Forbot
SKLEP - ATNEL
Sklep - Botland
abc-rc.pl
 

Geocaching

Opencaching
Geocaching
Szyfry
Darmowe Mapy
Generator QR
Sklep
Certyfikaty

 


 

 

Logowanie

Statystyki

Sterownik WiFi do oświetlenia

Od dłuższego czasu moje zainteresowania skierowane są w stronę tak zwanych inteligentnych domów.
Na świecie projektuje się mnóstwo przeróżnych urządzeń i gadżetów które umożliwiają realizacje takiego projektu.
Szczególnie spodobała mi się platforma „Arduino, w związku z tym że przede wszystkim podzespoły
są w miarę tanie, ogólnie dostępne w sieci internet.
W skład wspomnianej przeze mnie platformy wchodzi mnóstwo sterowników oraz modułów umożliwiających zastosowanie ich praktycznie w dowolnym pomyśle.
Dodatkowo wspierana jest przez ogromną ilość programów napisanych praktycznie w dowolnym języku maszynowym.
Po wielu testach stworzyłem pierwszy prototyp który doświadczalnie zamontowałem w swoim domu.
Jest to fragment systemu który zaprojektowałem, w przyszłości ma być rozbudowywany
o kolejne potrzebne elementy.

Założenia:

1. Włączanie i wyłączanie oświetlenia w pomieszczeniu za pomocą smartfona ewentualnie tabletu.
2. Energooszczędność i bezpieczeństwo
3. Stworzyć gotowy element który będzie integralny i dający możliwość wykorzystania
    w dalszej realizacji projektu.

Realizacja:

Projektując mój system sterowania natrafiłem na program napisany na system „Android o nazwie
„Virtuino który daje ogromne możliwości konfiguracji dowolnego projektu.
Poza tym jest on ciągle rozbudowywany przez autora o nowe funkcje które idealnie nadają się
do realizacji mojego projektu.
Biorąc pod uwagę jaki „Virtuino wspiera hardware do realizacji sterowania oświetleniem postanowiłem wykorzystać płytkę WeMos mini D1.
Poza tym że jest kompatybilna z softwarem to jest niewielka ale dająca ogromne możliwości zaprogramowania.

Schemat połączeń:

WeMos schemat


Jak widać na załączonym schemacie postawiłem na prostotę, możliwie małą ilość elementów.
Ważne też było wielkość, docelowo możliwość zamontowania w puszce instalacyjnej pod wyłącznikiem.
Ważne były również koszty realizacji modułu. Elementy przeze mnie wykorzystane można kupić za kilka złoty.
Oprócz wspomnianej płytki sterującej użyłem dwóch przekaźników wysterowywanych stanem niskim
oraz zasilacza 5 V który pozyskałem z niepotrzebnej ładowarki od telefonu których często w naszych domach zalega w ogromnych ilościach.

Program do WeMos:

/* Virtuino WeMos ESP8266 web server and WiFi access point example No1 
 * Created by Ilias Lamprou
 * Updated Feb 1 2016
 * Before  running this code config the settings below as the instructions on the right
 *
 *
 * Download latest Virtuino android app from the link: https://play.google.com/store/apps/details?id=com.virtuino_automations.virtuino&hl=el
 * Contact address for questions or comments: iliaslampr@gmail.com
 */

// 1.  On Arduino IDE software select the board WeMos. If the board isn't in boards list, open the boards manager, on the search line enter esp8266 and download all ESP8266 boards 
// 2.  Open the Virtuino library file: VirtuinoESP.h,  enable the line #define WEMOS_D1_MINI_PRO and disable the other boards
// 3.  Connect the WeMos ESP8266 module to usb and upload this code

#include <ESP8266WiFi.h>
#include "Virtuino_ESP_WifiServer.h"


const char* ssid = "Nazwa sieci";    // Nazwa sieci domowego routera
const char* password = "Hasło";    // Hasło do sieci
WiFiServer server(8000);              // Server port


Virtuino_ESP_WifiServer virtuino(&server);

void setup() {
   //----- Virtuino settings
  virtuino.DEBUG=true;                         // set this value TRUE to enable the serial monitor status
  virtuino.password="1234";                    // Hasło do modułu
                                              
  Serial.begin(9600);                          // Enable this line only if DEBUG=true
  delay(10);

  //----- WeMos module settings
  //----- prepare GPIO2
  pinMode(2, OUTPUT);
  digitalWrite(2, 0);

  pinMode(D1, OUTPUT);           // Piny jakie wykorzystałem do sterowania przekaźnikami
  digitalWrite(D1, HIGH);

  pinMode(D3, OUTPUT);            // Piny jakie wykorzystałem do sterowania przekaźnikami  
  digitalWrite(D3, HIGH);
 
  //----  1. Settings as Station - Connect to a WiFi network
  Serial.println("Connecting to "+String(ssid));
 
   // If you don't want to config IP manually disable the next four lines
  IPAddress ip(192.168.0.101);            //IP Address jaki nadaliśmy modułowi  
  IPAddress gateway(192, 168, 0, 1);         // set gateway to match your network
  IPAddress subnet(255, 255, 255, 0);        // set subnet mask to match your network
  WiFi.config(ip, gateway, subnet);          // If you don't want to config IP manually disable this line
 
  WiFi.mode(WIFI_STA);                       // Config module as station only.
  WiFi.begin(ssid, password);
   while (WiFi.status() != WL_CONNECTED) {
     delay(500);
     Serial.print(".");
    }
   Serial.println("");
   Serial.println("WiFi connected");
   Serial.println(WiFi.localIP());
 
  //----   2. Settings as Access point - Create a private Wifi Network. Enable the next five lines to use module as Acces point
  // Serial.print("Setting soft-AP ... ");                   // Default IP: 192.168.4.1
  // WiFi.mode(WIFI_AP);                                     // Config module as Acces point only.  Set WiFi.mode(WIFI_AP_STA); to config module as Acces point and station
  // boolean result = WiFi.softAP("WeMos", "12345678");      // SSID: NodeMCU   Password:12345678
  // if(result == true)  Serial.println("Server Ready");
  // else Serial.println("Failed!");
 
  // ---- Start the server
  server.begin();
  Serial.println("Server started");

 //---- Enter your setup code below
 
  pinMode(D4,OUTPUT);             // On Virtuino panel add a switch to pin D4 to enable or disable the board led
 

void loop() {
  virtuino.run();

   // enter your loop code here.
   //------ avoid to use delay() function in your code

  
   //--- example 1  Enable or disable the board led using virtual pin
   //--- On Virtuino app panel add a Switch to Virtual Pin 0 to enable or disable the nodemcu board led
   int v=virtuino.vDigitalMemoryRead(0);              // Read virtual memory 0 from Virtuino app
   if (v!=storedValue) {                         
    Serial.println("-------Virtual pin DV0 is changed to="+String(v));
    if (v==1) digitalWrite(D4,0);
    else digitalWrite(D4,1);
    storedValue=v;
   }


    //----  Example 2
    //----  Write a random value to virtual pin 2. On virtuino panel add an indicator to V2
    virtuino.vMemoryWrite(2,random(1000));


    //---- Example 3
    //---- Create a counter every 5 seconds
    //---- Use this technique. Avoid to use the delay function
    long t= millis();       // read the time
    if (t>storedTime+5000){
      counter++;            // increase counter by 1
      if (counter>20) counter=0;    // limit = 20
      storedTime = t;
      virtuino.vMemoryWrite(12,counter);      // write counter to virtual pin V12
    }
  }
 



Powyższy listing jest programem jaki dołączył autor do aplikacji „Virtuino zmodyfikowany
przeze mnie do realizacji mojego projektu.
Program ten po uruchomieniu łączy się z domowym routerem dając możliwość sterowania
przy pomocy mobilnych urządzeń.
Z programu nie wykasowałem niepotrzebnych instrukcji które nie są potrzebne do realizacji działania sterownika ponieważ jak wcześniej wspomniałem jest to faza prototypu która na pewno ulegnie zmianie.
Czerwonym kolorem wyróżniłem dane które musimy wprowadzić w zależności od własnych
warunków połączeniowych.

Program do modułu Wemos został wgrany przy pomocy programu Arduino v.1.65

Link do Arduino
Link do aplikacji w wersji na Androida: Virtuino
Instrukcja instalacji oraz konfiguracji przedstawia autor programu na swoim kanale YouTube.

 

 

Bezpieczna strona 

Web Design
Certyfikat zgodności

AVR

Arduino moduły:
WeMos mini D1

WiFi ESP - 01
WiFi ESP - 03
WiFi NodeMcu
LCD
Arduino Pin Mode
Microcontrolery:
Programowanie - Eclipse
Programowanie B4A
Inteligentny dom:
Sterownik WiFi oświetlenia

Smartphone

Samsung Note 2
Opis
Romy
Samsung Omnia
Opis
Romy
HTC HD
Opis
Romy
Android w HTC HD
LG p990 2x
Opis
Romy
Programy Android
Systemowe
Użytkowe
Widgety
Programy WM
Systemowe
Użytkowe
Nakładki
Audio - Video
Gry