niedziela, 8 marca 2020

Jak zrobić ruter WIFI (punkt dostępowy) za około 10 zł? Czyli możliwości modułu ESP8266 12F - wprowadzenie do tematu

Przedstawiam wam kolejny ciekawy moduł, jest to bardzo malutka płytka ESP8266 12F Możliwości są ogromne, dlaczego? Bo jest to kompletnie oddzielny moduł zupełnie jak arduino i nie musi potrzebować do działania nic więcej, po prostu programujemy go tak samo jak arduino i może działać samodzielnie. Ma procesor o taktowaniu 80 MHz oraz pamięć 4 megabajty.

Na sam początek zróbmy sobie prosty projekt rutera WIFI, moduł ten można zaprogramować na wiele sposobów, można nawet na nich uruchomić serwer plików WWW, posiada wbudowaną pamięć 4 megabajty (ale można ją rozszerzyć np. dołączając czytnik kart SD), można za jego pomocą wykonać stację pogody (złącza GPIO służą tak samo jak te same w arduino więc możemy podłączać cokolwiek) i dołączyć do światowej mapy czujników internetowych, może nam służyć również jako ruter wifi, np. gdy potrzebujemy jakiegoś punktu dostępowego by połączyć kilka komputerów lub innych urządzeń w sieć i coś udostępniać.





Co potrzebujemy?

To co w naszych pozostałych przykładach

  • konwerter z USB na UART (koniecznie z czipem FT232)
Do zakupienia tutaj:
https://nettigo.pl/products/konwerter-usb-uart-ft232-miniusb



Oraz coś nowego:

  • Moduł ESP8266 12F
Do zakupienia tutaj:
https://nettigo.pl/products/modul-wifi-esp8266-12f







Schemat połączeń












Co robimy dalej?

Teraz tylko wystarczy zainstalować sterowniki do konwertera w windows, jeśli system sam go nie wyszuka to pobierz i skorzystaj z tego:

https://drive.google.com/open?id=12479NIgmKGrXqvrTbaftqgCPqIKP8EMx





Uruchamiamy i przygotowujemy program Arduino







W polu "Dodatkowe adresy URL do menedżera płytek" wklejamy link pobrany ze strony projektu esp8266.com:
https://arduino.esp8266.com/stable/package_esp8266com_index.json




Sprawdź na ich stronie czy nie ma nowych wersji:
https://github.com/esp8266/arduino





Potem przechodzimy do Narzędzia i Menedżer płytek, oraz pobieramy/instalujemy z samego dołu pakiet esp8266










Program do wgrania:

Zmień sobie nazwę sieci oraz hasło do niej w linijkach:

const char *ssid = NAZWA TWOJEJ SIECI;
const char *password = HASLO TWOJEJ SIECI;



/*
   Copyright (c) 2015, Majenko Technologies
   All rights reserved.
   Redistribution and use in source and binary forms, with or without modification,
   are permitted provided that the following conditions are met:
 * * Redistributions of source code must retain the above copyright notice, this
     list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above copyright notice, this
     list of conditions and the following disclaimer in the documentation and/or
     other materials provided with the distribution.
 * * Neither the name of Majenko Technologies nor the names of its
     contributors may be used to endorse or promote products derived from
     this software without specific prior written permission.
   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
   ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
   ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/* Create a WiFi access point and provide a web server on it. */
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#ifndef APSSID
#define APSSID "ESPap"
#define APPSK  "thereisnospoon"
#endif
/* Set these to your desired credentials. */
const char *ssid = NAZWA TWOJEJ SIECI;
const char *password = HASLO TWOJEJ SIECI;
ESP8266WebServer server(80);
/* Just a little test message.  Go to http://192.168.4.1 in a web browser
   connected to this access point to see it.
*/
void handleRoot() {
  server.send(200, "text/html", "<h1>You are connected</h1>");
}
void setup() {
  delay(1000);
  Serial.begin(115200);
  Serial.println();
  Serial.print("Configuring access point...");
  /* You can remove the password parameter if you want the AP to be open. */
  WiFi.softAP(ssid, password);
  IPAddress myIP = WiFi.softAPIP();
  Serial.print("AP IP address: ");
  Serial.println(myIP);
  server.on("/", handleRoot);
  server.begin();
  Serial.println("HTTP server started");
}
void loop() {
  server.handleClient();
}








Pamiętaj aby po zaprogramowaniu kontrolera, odłączyć pin GPIO 0 od masy (ponieważ moduł ci się nie uruchomi) oraz byś zasilał go napięciem nie większym niż 4 volt (najlepiej stary akumulatorek z telefonu lub ogniwo 18650).

Pin EN (z napięciem) oraz GPIO15 (z masą) muszą być nadal zwarte ponieważ kontroler także nie wystartuje.







Schematy wyjść kontrolera:







Specyfikacja:

  • posiada 11 (13) portów GPIO, prawie wszystkie z PWM
  • procesor RISC 80MHz (160MHz) Tensilica L106.
  • zasilanie 3.3V
  • logika 3.3V
  • wbudowana antena na PCB
  • 10-bitowy konwerter analogowo-cyfrowy

Wyprowadzenia:

  1. RST - Resetuje moduł
  2. ADC - Konwerter A/C Napięcie w zakresie 0-1V konwertowane na wartość 0-1024
  3. EN - Chip enable. HIGH - aktywny
  4. GPIO16; WAKE - Używany do wybudzenia modułu z trybu DEEP SLEEP
  5. GPIO14; HSPI_CLK
  6. GPIO12; HSPI_MISO
  7. GPIO13; HSPI_MOSI; UART0_CTS
  8. VCC - zasilanie 3.3V
  9. CS0 - Chip select
  10. MISO
  11. GPIO9
  12. GPIO10
  13. MOSI
  14. SCLK - Zegar
  15. GND
  16. GPIO15; MTDO; HSPICS; UART0_RTS
  17. GPIO2; UART1_TXD
  18. GPIO0
  19. GPIO4
  20. GPIO5
  21. RXD; UART0_RXD; GPIO3
  22. TXD; UART0_TXD; GPIO1


Zobacz stronę internetową dotyczącą tego modułu oraz projektów na nim opartych:






Gotowy efekt





















Zobacz więcej na kanale ElektroPrzewodnik






Prześlij komentarz

Whatsapp Button works on Mobile Device only

Wpisz czego szukasz i kliknij w ikonkę lupy