Nová verze Wi-Fi modulu (v1.1) pro vývojovou IoT platformu BigClown
- August 20 2019
- BigClown
- 2608x Přečteno
Nová verze Wi-Fi modulu (nyní v1.1) je dalším vylepšením původní verze 1.0. Ač se liší pouze o jedno desetinné místo, zlepšení jsou oproti původní verzi významná.
Při pokusech s platformou BigClown mi chyběl modul, který by dokázal posílat a přijímat data pomocí Wi-Fi sítě. BigClown nabízí spoustu modulů - LoRa, SigFox, ale Wi-Fi bohužel ne.
Na základě mých nápadů a nápadů dalších bastlířů jsem vytvořil verzi 1.0, která funguje bez problémů. Po čase ale vždy najdete něco, co byste mohli vylepšit.
A proto vám v tomto článku představím novou verzi Wi-Fi modulu - verzi 1.1.
Github projekt: https://github.com/petus/BigClown-Wi-Fi-module-v1.1
Více informací o platformě BigClown najdete na https://www.bigclown.com/ a také zde na stránkách na https://chiptron.cz/articles.php?cat_id=24
Verze 1.1 versus 1.0
- odstranění nadbytečných pinů - GPIO4, GPIO5, extra RESET pin, IO0 aj.
- odstranění tlačítka RESET.
- přidání pětipinového konektoru pro připojení BigClown TAGů nebo nejrůznějších čidel z ebay, aliexpress (Si7021, BME280, aj.)
TAGy a vybraná čidla mají prohozená napájení. K vyřešení této situace jsou umístěny dva pájecí mosty, kterými zvolíte, co bude na prvním respektive druhém pinu (volíme mezi VCC a GND). Čidla jsou připojena na I2C0.
- možnost připojení UART sběrnice na UART0 nebo UART1 (záleží na propojení pájecím mostů).
- pinové hřebínky - SMT i THT
- možnost osazení modulem s ESP8266 - ESP07, ESP08, ESP12E nebo ESP12F
Pájecí mosty - co je nutné zapájet
Na desce najdete několik pájecích mostů, některé jsou použity při aktualizaci AT FW jiné pro nastavení napájení I2C čidla.
Pro běžné použití modulu jsou nezbytné tyto pájecí mosty.
UART_TX - vybíráte na jaký UART[0, 1] bude připojen RX ESP8266 modulu
UART_RX - vybíráte na jaký UART[0, 1] bude připojen TX ESP8266 modulu
CH_PD - povolení ESP8266 P8 nebo P9
RESET - reset ESP8266 P6 nebo P7
Na desce jsou tři typy velikostí kondenzátorů na napájení. Není potřeba pájet všechny.
Minimem však je zapájený C1 (100nF) a C3 (minimálně 100uF například tento).
Sběrnice UART
Sběrnice UART Core modulu je připojena ke sběrnici UART ESP8266 přes dva pájecí mostky, kterými vybíráte, jaký UART z Core modulu (UART0 nebo UART1) chcete použít.
UART_TX - vybíráte na jaký UART[0, 1] bude připojen RX ESP8266 modulu
UART_RX - vybíráte na jaký UART[0, 1] bude připojen TX ESP8266 modulu
Sběrnice I2C
Wi-Fi modul v1.1 obsahuje konektor pro připojení čidel - TAGů od BigClone nebo vybraných známých čidel z ebay či aliexpress.
Výše zmíněné typy čidel se liší zapojením napájení na konektor čidla - VCC a GND jsou přehozené.
Proto jsou na desce Wi-Fi v1.1 umístěny dva pájecí mosty, kterými vyberete zda má být VCC či GND na první pozici konektoru nebo až na druhé.
I2C sběrnice (I2C0) má pull-up rezistory na Core modulu.
Čidlo je připojeno pouze ke sběrnici I2C0 a interrupt pin je na pozici INT Core modulu (17, 18, 19).
Aktualizace AT FW ESP8266
V určitých případech je nutné aktualizovat původní FW v modulech s ESP8266 novějších, typicky použití SNTP nebo SSL.
To se provádí připojením externího USB-UART převodníkem s výstupem DTR a RESET bez připojeného Core modulu.
USB-UART převodník - Wi-Fi modul
RX - RX[0,1] (pin P2 - UART0 nebo P4 - UART1); určeno pájecím mostem UART_RX
TX - TX[0,1] (pin P1 - UART0 nebo P3 - UART1); určeno pájecím mostem UART_TX
VCC - VCC (3.3V)
GND - GND
RST - CH_PD (pin P8 - příslušně propojte pájecí most CH_PD)
DTR - IO0 (pin P9, zapájejte pájecí most JP2)
Vyznačeno modře na obrázku níže.
Aktualizace AT FW na OS Linux - zdroj https://chiptron.cz/articles.php?article_id=193
Nejprve stáhnete esptool, je to nástroj pro nahrávání bin souborů ESP8266.
https://github.com/espressif/esptool
ZIP rozbalíte a v terminálu provedete instalaci
Pro instalaci napíšete /cestaKsouboru/ pip install esptool
Ve složce esptool vytvoříte složku, kterou pojmenujete bin a do ní nakopírujete bin soubory z tohoto odkazu. Já si vybral ESP8266 AT Bin V1.6.2 (8 Jun 2018). To je poslední verze AT FW, která funguje s ESP8266, které mají menší FLASH (1 MB), novější aktualizace vyžadují verze s 2 MB a větší FLASH.
Dokumentace je ke stažení na tomto odkazu (ESP8266 Non-OS AT Instruction Set).
Do složky bin v esptool zkopírujete následující bin soubory (názvy souborů se mohou mírně lišit).
user1.1024.new.2.bin
esp_init_data_default_v08.bin
boot_v1.7.bin
blank.bin
V readme staženého SDK najdete rozložení paměti pro jednotlivé bin soubory, v mém případě tako.
# BOOT MODE
## download
### Flash size 16Mbit: 512KB+512KB
boot_v1.2+.bin 0x00000
user1.1024.new.2.bin 0x01000
esp_init_data_default.bin 0x1fc000 (optional)
blank.bin 0x7e000 & 0x1fe000
Následně propojíte USB-UART převodník s ESP modulem (viz výše)
Nakonec připojíte nápájení modulu VCC - VCC (3.3V).
A nakonec nahrajete bin soubory.
/esptool-master $ sudo python esptool.py --port /dev/ttyUSB0 write_flash \
0x00000 ./bin/boot_v1.7.bin \
0x01000 ./bin/user1.1024.new.2.bin \
0x1fc000 ./bin/esp_init_data_default_v08.bin \
0x7e000 ./bin/blank.bin \
0x1fe000 ./bin/blank.bin
A esptool vypíše následující:
esptool.py v2.8-dev
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 5c:cf:7f:e1:0f:e4
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 2MB
Flash params set to 0x0030
Compressed 4080 bytes to 2936...
Wrote 4080 bytes (2936 compressed) at 0x00000000 in 0.3 seconds (effective 123.6 kbit/s)...
Hash of data verified.
Compressed 408388 bytes to 293527...
Wrote 408388 bytes (293527 compressed) at 0x00001000 in 25.9 seconds (effective 125.9 kbit/s)...
Hash of data verified.
Compressed 128 bytes to 75...
Wrote 128 bytes (75 compressed) at 0x001fc000 in 0.0 seconds (effective 85.2 kbit/s)...
Hash of data verified.
Compressed 4096 bytes to 26...
Wrote 4096 bytes (26 compressed) at 0x0007e000 in 0.0 seconds (effective 4679.1 kbit/s)...
Hash of data verified.
Compressed 4096 bytes to 26...
Wrote 4096 bytes (26 compressed) at 0x001fe000 in 0.0 seconds (effective 4675.9 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
Odpojíme IO0 od GND a modul restartujeme (v případě, že nemáte propojený IO0 s DTR).
V konzoli pro seriovou komunikaci nastavíte port USB-UART převodníku a rychlost (119200) a zadáte příkaz
AT+GMR
Pokud pak přijmete tohle, je to dobře a tím vaše úsilí končí
AT version:1.6.2.0(Apr 13 2018 11:10:59)
SDK version:2.2.1(6ab97e9)
compile time:Jun 7 2018 19:34:26
Bin version(Wroom 02):1.6.2
OK
Deska plošného spoje
Přehled použitých součástek a jejich hodnota
Namísto ESP07 můžete využít i varianty ESP08, ESP12E nebo ESP12F.
Kondenzátor označen C3 je v pouzdru D, kaapcitu volte mezi 100uF až 330uF.
BC-HEADER-MODULE může být použit ve verzi SMT nebo klasické THT.
Zapájený Wi-Fi modul
Podpora modulu ESP8266 už je nyní v SDK platformy BigClown implementována a stále vylepšována.
https://github.com/bigclownlabs/bcf-sdk/blob/master/bcl/src/bc_esp8266.c
Příklad použití: https://github.com/bigclownprojects/bcf-wifi-cryptoclock
Github projekt: https://github.com/petus/BigClown-Wi-Fi-module-v1.1
Více informací o platformě BigClown najdete na https://www.bigclown.com/ a také zde na stránkách na https://chiptron.cz/articles.php?cat_id=24