Obsah:

Jak si vytvořit vlastní WIFI bránu pro připojení Arduina k síti IP?: 11 kroků (s obrázky)
Jak si vytvořit vlastní WIFI bránu pro připojení Arduina k síti IP?: 11 kroků (s obrázky)

Video: Jak si vytvořit vlastní WIFI bránu pro připojení Arduina k síti IP?: 11 kroků (s obrázky)

Video: Jak si vytvořit vlastní WIFI bránu pro připojení Arduina k síti IP?: 11 kroků (s obrázky)
Video: TOP 10 Počítačové lifehacky, které vám usnadní život 2024, Červenec
Anonim
Jak si vytvořit vlastní bránu WIFI pro připojení Arduina k síti IP?
Jak si vytvořit vlastní bránu WIFI pro připojení Arduina k síti IP?

Jako tolik lidí si myslíte, že Arduino je velmi dobrým řešením pro domácí automatizaci a robotizaci

Ale pokud jde o komunikaci, Arduinos přichází pouze se sériovými linkami.

Pracuji na robotu, který musí být trvale spojen se serverem, který provozuje kód umělé inteligence. Pokusil jsem se použít RF síť, jak jsem zvyklý pro domotiky, ale není dostatečně účinný. Jak se robot pohybuje, nemohu použít Ethernet Arduino Shield. Arduino Wifi Shield jsou drahé a zdá se mi být starého designu.

Potřeboval jsem něco, co dokáže velmi jednoduchým a efektivním způsobem vyměňovat data se serverem.

Proto jsem se rozhodl navrhnout bránu na základě velmi levného a energeticky účinného mikrokontroléru ESP8266

Zde najdete, jak vytvořit elektronickou součást a stáhnout software.

Tuto bránu jsem použil pro domácí automatizaci a pro robotiku.

To je součástí globální infrastruktury pro domácí automatizaci, kterou si můžete prohlédnout zde

Udělal jsem další instruktáž, která používá štít ESP8266 a vyhýbá se pájení

Zásoby

Na toto téma jsem napsal další návod

Krok 1: Jak to funguje?

Jak to funguje ?
Jak to funguje ?

Brána je založena na modulu ESP8266

Tento modul je z jedné strany připojen k sériové lince z druhé strany k síti IP pomocí Wifi.

Funguje jako černá skříňka. Datové pakety pocházející ze sériového propojení jsou odesílány na port IP/Udp a naopak.

Jednoduše si musíte nastavit vlastní konfiguraci (IP, WIFI…), jakmile bránu poprvé zapnete.

Může přenášet buď nezpracovaná ASCII a binární data (bez HTTP, JSON…)

Je navržen tak, aby propojoval objekty se serverovými domácími softwary, které vyžadují rychlé a časté přenosy krátkých datových paketů.

Nejjednodušší je použití s Arduino Mega, které mají více než jeden UART (například Arduino Mega), ale lze je spustit také s UNO.

Krok 2: Jaké jsou hlavní funkce?

Většinou se jedná o černou skříňku, která převádí a odesílá sériová data do UDP paketu oběma způsoby.

Má 3 LED diody, které indikují stav a provoz brány.

Poskytuje GPIO, které může Arduino použít k čekání na připojení brány WIFI a IP.

Běží ve 3 různých režimech, které jsou nastaveny pomocí přepínačů:

  • Režim brány, což je normální režim
  • Konfigurační režim slouží k nastavení parametrů
  • Režim ladění, který je určen pro režim ladění

Většinu parametrů lze upravit tak, aby vyhovovaly vašim potřebám.

Krok 3: Stavba materiálu

Stavba materiálu
Stavba materiálu

Na vrcholu svého Arduina budete potřebovat

  • 1 x modul ESP8266-vybral jsem MOD-WIFI-ESP8266-DEV od Olimexu, který stojí kolem 5 eur, což je docela snadné použití.
  • 1 x 5V napájecí zdroj
  • 1 x regulátor napájení 3,3 V - používám LM1086
  • 1 x 100 mikrofaradový kondenzátor
  • 1 x modul ULN2803 APG (lze nahradit 3 x tranzistory)
  • 8 x odpory (3 x 1K, 1 x 2K, 1 x 2,7k, 1x 3,3K, 1x 27K, 1x 33k)
  • 3 x LED (červená, zelená, modrá)
  • 1 x deska plošného spoje
  • nějaké dráty a konektory

Pouze během stavebních kroků budete potřebovat

  • 1 x FTDI 3.3v pro konfiguraci
  • Páječka a cín

Před pájením je důležité nastavit všechny součásti na prkénko a zkontrolovat, zda je vše v pořádku.

Krok 4: Začněme s elektronikou na prkénku

Začněme s elektronikou na prkénku!
Začněme s elektronikou na prkénku!

Elektronické rozvržení je k dispozici ve formátu Fritzing

Můžete si jej stáhnout zde krok 1:

github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz

Postupujte podle schématu a dbejte na napětí.

Nezapomeňte, že ESP8266 nepodporuje napětí vyšší než 3,3 V. FTDI musí být nastaveno na 3,3 V.

Krok 5: Pojďme k softwaru

Pojďme k softwaru!
Pojďme k softwaru!

Začněme stranou Gateway

Kód jsem napsal pomocí Arduino IDE. Takže potřebujete, aby byl ESP8266 znám jako IDE podle IDE. V nabídce Nástroje / desky vyberte příslušnou desku.

Pokud v seznamu nevidíte žádný ESP266, znamená to, že možná budete muset nainstalovat ESP8266 Arduino Addon (postup najdete zde).

Veškerý potřebný kód je k dispozici na GitHubu. Je čas si to stáhnout!

Hlavní kód brány je zde:

Kromě standardu Arduino a ESP8266 obsahuje hlavní kód, který tyto 2 obsahuje: LookFoString, který se používá k manipulaci s řetězci a je zde:

ManageParamEeprom, který se používá ke čtení a ukládání parametrů v Eeprom ans, je zde:

Jakmile získáte celý kód, je čas jej nahrát do ESP8266. Nejprve připojte FTDI k USB portu vašeho počítače.

Před pokusem o nahrání doporučuji zkontrolovat připojení.

  • Nastavte sériový monitor Arduino na nový port USB.
  • Nastavte rychlost na 115200 obojí (výchozí rychlost pro Olimex)
  • Zapněte na desce (ESP8266 je dodáván se softwarem, který se zabývá příkazy AT)
  • Odešlete „AT“pomocí sériového nástroje.
  • Na oplátku musíte dostat „OK“.

Pokud ne, zkontrolujte připojení a podívejte se na specifikace ESP8266.

Pokud jste dostali „OK“, jste připraveni kód nahrát

  • Vypněte prkénko, počkejte několik sekund,
  • zatlačte na černý mikrospínač ESP8266. Je normální dostat na sériový monitor nějaké odpadky.
  • Stiskněte IDE pro nahrávání jako u Arduina.
  • Po dokončení nahrávání nastavte sériovou rychlost na 38 400.

Uvidíte něco jako na obrázku.

Blahopřejeme, úspěšně jste nahráli kód!

Krok 6: Pojďme na konfiguraci

Pojďme provést konfiguraci!
Pojďme provést konfiguraci!

Pro vstup do konfiguračního režimu musí být configGPIO nastaven na 1

Nejprve naskenujte WIFI zadáním příkazu: ScanWifi. Zobrazí se seznam detekované sítě.

  • Poté nastavte své SSID zadáním „SSID1 = vaše síť“
  • Poté nastavte heslo zadáním „PSW1 = vaše heslo“
  • Poté zadejte „SSID = 1“a definujte aktuální síť
  • Chcete -li bránu připojit k WIFI, zadejte „Restartovat“.
  • Svou IP můžete ověřit zadáním „ShowWifi“.
  • Modrá LED dioda bude svítit a červená LED bliká.

Je na čase definovat adresu IP serveru zadáním 4 podadres (server, na kterém bude spuštěn testovací kód Java). Například:

  • "IP1 = 192"
  • "IP2 = 168"
  • "IP3 = 1"
  • "IP4 = 10"

Posledním požadovaným krokem je nastavení portu pro naslouchání serveru UDP zadáním „listenPort = xxxx“.

Zadejte „ShowEeprom“a zkontrolujte, co jste právě uložili do Eepromu

Nyní připojte GPIO2 k zemi, abyste opustili konfigurační režim

Vaše brána je připravena pracovat

V dokumentaci najdete několik dalších příkazů.

Krok 7: Pojďme na stranu Arduino

Pojďme udělat Arduino Side!
Pojďme udělat Arduino Side!
Pojďme udělat Arduino Side!
Pojďme udělat Arduino Side!

Nejprve připojte Arduino

Pokud máte Mega, bude nejjednodušší začít. Přesto můžete použít Uno.

Chcete -li zkontrolovat svou práci, je nejlepší použít příklad.

Můžete si jej stáhnout zde:

Obsahuje kód SerialNetwork, který je zde:

Stačí nahrát kód do vašeho Arduina.

Zelená LED dioda bliká pokaždé, když Arduino odesílá data.

Krok 8: Pojďme na stranu serveru

Pojďme na stranu serveru!
Pojďme na stranu serveru!
Pojďme na stranu serveru!
Pojďme na stranu serveru!

Příkladem serveru je program Java, který si můžete stáhnout zde:

Jen to spusťte

Podívejte se na konzolu Java.

Podívejte se na monitor Arduino.

Arduino posílá 2 různé pakety.

  • První obsahuje stav digitálních pinů 2 až 6.
  • Druhá obsahuje 2 náhodné hodnoty, úroveň napětí A0 v mV a přírůstkový počet.

Program Java

  • přijatá data vytiskněte v hexadecimálním formátu
  • odpověď na první druh dat s náhodnou hodnotou zapnutí/vypnutí pro zapnutí/vypnutí LED Arduino
  • odpovězte na druhý druh dat s přijatým počtem a náhodnou hodnotou.

Krok 9: Je čas udělat nějaké pájení

Je čas udělat nějaké pájení!
Je čas udělat nějaké pájení!
Je čas udělat nějaké pájení!
Je čas udělat nějaké pájení!
Je čas udělat nějaké pájení!
Je čas udělat nějaké pájení!

Funguje na prkénku!

Je na čase, aby byl robustnější pájením dílů na desce plošných spojů

Kromě toho, co jste udělali s prkénkem, musíte přidat 3 konektory.

  • C1 1 x pin, který bude použit pro zadávání v režimu trasování sítě.
  • C2 3 x kolíky, které budou použity k přepnutí mezi provozním a konfiguračním režimem.
  • C3 6 x pinů, které budou použity k připojení brány buď k Arduinu nebo FTDI.

Pokud chcete aktivovat trasování sítě, musí být C1 připojený k GPIO2 ručně uzemněn.

C2 připojený k GPIO 4 lze nastavit ve 2 různých polohách. Jeden, který byl nastaven na zem pro normální provozní režim, a jeden nastavený na 3,3 V pro vstup do konfiguračního režimu.

Nastavte všechny součásti na desce plošných spojů podle schématu a poté začněte pájet, abyste získali konečný produkt!

Krok 10: Udělejme závěrečný test

Image
Image

Spusťte testovací program Java.

Připojte Arduino.

Zapněte bránu.

A podívejte se na konzolu Java, monitor Arduino, Arduino LED a Gateway LED.

Krok 11: Tento design můžete přizpůsobit svým vlastním požadavkům

Ohledně hardwaru

  • Pokud zvolíte jiný ESP8266, budete se muset přizpůsobit specifikacím.
  • Pokud zvolíte jiný regulátor 3,3 V, musí dodávat přes 500 mA a budete muset přizpůsobit kondenzátor.
  • Pro úpravu jasu můžete upravit odpory LED.
  • Můžete potlačit všechny LED diody, ale doporučuji ponechat alespoň červenou.
  • ULN2803 můžete nahradit 3 tranzistory (nebo méně, pokud se rozhodnete ponechat 3 LED).
  • Testoval jsem, ale tam to musí fungovat s deskami Arduino 3.3v. Stačí připojit Tx Rx ke konektoru 3,3 V.

Ohledně konfigurace

  • Můžete uložit 2 různé SSID a přepínat
  • Použité GPIO můžete upravit

Ohledně softwaru

Doporučuje: