This is an old revision of the document!
NodeMCU - Vývojářské prostředí pro Windows
Cílem tohoto návodu je vytvořit vývojařské prostředí pro práci a vývoj NodeMCU řešení na operačním systému Windows 10.
Obsah
Nahrání NodeMCU firmware
V návodu Linux Firmware Build Environment jsme si ukázali jak NodeMCU firmware zkompilovat. Firmware je nyní potřeba do ESP8266 nahrát. K tomuto účelu jsou na internetu dostupné programy a skripty. Předvedeme si nástroj pro Windows napsaný v Delphi NodeMCU-Flasher.
Před nahráním zompilovaného firmwaru je třeba na NodeMCU zapnout FLASH mód a budťo zmáčknutím tlačítka FLASH na NodeMCU nebo před rebootem nastavte na pin GPIO0
na hodnotu LOW
. Důležité upozornění
Nástoj ESP8266 Flasher
Stránka projektu na GitHubu: NodeMCU Flasher
Stáhněte z GitHubu NodeMCU Flasher.
Osobně používám pro práci s GIT prostředím na Windows 10 GIT scm.
ESP8266Flasher najdete ve ložce kam jste si stáhli soubory z GitHubu.
%PATHNODEMCUFLASHER%\Win64\Release\ESP8266Flasher.exe
Ověřit ve Správci zařízení seriový port pro kominikaci s NodeMCU.
%SYSTEMROOT%\System32\devmgmt.msc
Postup pro nahrání firmwaru
- Připojit se na správný seriový port
- Změnit nastavení komunikace pro ESP8266 Flasher
- Pomocí ESP8266Flasher.exe jsem nahrál vzniklý monolitický flash.bin do adresy 0x00000
- Nebo pomocí ESP8266Flasher.exe jsem nahrál vzniklý bootloader bin/0x00000.bin do adresy 0x00000 a firmware bin/0x10000.bin na adresu 0x10000
- Předchozí kroky potvrdíme náhráním firmware na NodeMCU
- Nakonec se dočkáme uspěchu
Nahrání LUA skriptů na ESP8266
Nástrojů pro nahravání existuje víc než dost a jsou zdokumentovány zde.
Nástroj ESPlorer
ESPlorer je integrované vývojařské prosředí pro ESP8266, primarně podporující LUA pro NodeMCU, MicroPython a vybrané AT príkazy. Vyžaduje instalované JAVA prostředí Standard Edition - SE ver 7 a vyšší.
Stránka projektu na GitHubu: ESPlorer
ESPlorer můžete stáhnout zde.
Podporované platformy:
- Windows(x86, x86-64)
- Linux(x86, x86-64, ARM soft & hard float)
- Solaris(x86, x86-64)
- Mac OS X(x86, x86-64, PPC, PPC64)
Výstup ze konzole ESPloreru
> =node.heap() 45264 >
Instalace Mosquitto MQTT Broker
Pro roli MQTT Brokera jsme si vybrali implementaci Mosquitto.
- Nainstalujte OpenSSL balíček
Win32OpenSSL_Light-1_0_2j.exe
- Nainstalujte Mosquitto balíček
mosquitto-1.4.10-install-win32.exe
- Zkopírujte staženou knihovnu
pthreadVC2.dll
do instalační složky Mosquitto
PS C:\> dir "C:\Program Files (x86)\mosquitto\pthreadVC2.dll" Directory: C:\Program Files (x86)\mosquitto Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 27.5.2012 1:00 55808 pthreadVC2.dll
- Zkopírujte OpenSSL knihovny
libeay32.dll
assleay32.dll
do instalační složky Mosquitto
PS C:\> dir "C:\Program Files (x86)\OpenSSL-Win32-102j\*eay32.dll" Directory: C:\Program Files (x86)\OpenSSL-Win32-102j Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 26.9.2016 10:00 1265664 libeay32.dll -a---- 26.9.2016 10:00 274432 ssleay32.dll PS C:\> copy "C:\Program Files (x86)\OpenSSL-Win32-102j\*eay32.dll" "C:\Program Files (x86)\mosquitto\" PS C:\> dir "C:\Program Files (x86)\mosquitto\*eay32.dll" Directory: C:\Program Files (x86)\mosquitto Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 26.9.2016 10:00 1265664 libeay32.dll -a---- 26.9.2016 10:00 274432 ssleay32.dll
- Pokud potřebujete upravte si nastavení Mosquitto konfigurace
PS C:\> notepad "C:\Program Files (x86)\mosquitto\mosquitto.conf"
- Spusťte Mosquitto službu
PS C:\> Set-Service Mosquitto -Status Running PS C:\> Get-Service Mosquitto Status Name DisplayName ------ ---- ----------- Running mosquitto Mosquitto Broker
Testování MQTT s MQTTLens
Instalace MongoDB Serveru
Pro ukládání dat jsme si vybrali MondoDB. MongoDB je multiplatformní dokumentová databáze. Řadí se mezi NoSQL databáze a místo tradičních relačních databází využívajících tabulky používá dokumenty podobné formátu JSON a dynamické databázové schéma, které umožňuje vytváření a integraci dat s Node.js.
Původní návod si mužete přečíst zde.
- Prvně si stáhněte instalační balíček mongodb-win32-x86_64-2008plus-ssl-3.2.10-signed.msi
- Nainstalujte balíček
mongodb-win32-x86_64-2008plus-ssl-3.2.10-signed.msi
- Přidejte cestu k instalaci MongoDB do systémové proměné
PATH
PS C:\> $env:path += ";" + "C:\Program Files\mongodb\Server\3.2\bin" PS C:\> [Environment]::SetEnvironmentVariable("PATH", $env:path, "Machine")
- Vytvoření složky pro databáze
PS C:\> New-Item -ItemType "directory" -Path c:\data -Force PS C:\> New-Item -ItemType "directory" -Path c:\data\db -Force
- Vytvoření složky pro logy
PS C:\> New-Item -ItemType "directory" -Path "c:\data\log" -Force
- Vytvoření logu
PS C:\> New-Item -ItemType "file" -Path "c:\data\log\mongo.log" -Force
- Vytvoření konfigurace pro MongoDB
PS C:\> New-Item -ItemType "file" -Path "C:\Program Files\MongoDB\Server\3.2\bin\mongod.cfg" -Force PS C:\> $MONGODBCONF = "systemLog:`n destination: file`n path: c:\data\log\mongo.log`nstorage:`n dbPath: c:\data\db" PS C:\> $MONGODBCONF | Out-File -FilePath "C:\Program Files\MongoDB\Server\3.2\bin\mongod.cfg" -Append PS C:\> more "C:\Program Files\MongoDB\Server\3.2\bin\mongod.cfg" systemLog: destination: file path: C:\Data\log\mongod.log storage: dbPath: C:\Data\db
- Vytvoření MongoDB služby
PS C:\> Invoke-Expression "& `"C:\Program Files\MongoDB\Server\3.2\bin\mongod.exe`" --config `"C:\Program Files\MongoDB\Server\3.2\bin\mongod.cfg`" --install"
Pro automatickou instalaci jsem napsal v PowerShellu 5 MongDB Instalační PowerShell Skript
Instalace Node.js
Node.js je vysoce výkonné, událostmi řízené prostředí pro Javascript. Základem Node.js je javascriptový interpret V8 z Google Chrome. Nad ním je tenká vrstva kódu v C++ poskytující minimální nutné zázemí (event-loop vyhodnocující příchozí události, obsluha I/O bufferů a jiné).
Stránka dokumentace projektu Node.js API
- Stáhněte si 64 bits verzi (32 je pro hipstery) node-v7.1.0-x64.msi
- Nainstalujte balíček
node-v7.1.0-x64.msi
, výchozí instalační cestaC:\Program Files\nodejs
- Přidejte cestu k instalaci Node.js a cestu do systémové proměné
PATH
PS C:\> $NPMPATH = $Env:HOMEDRIVE + $Env:HOMEPATH + "\AppData\Roaming\npm" PS C:\> New-Item -ItemType "directory" -Path $NPMPATH PS C:\> $Env:PATH += ";" + $NPMPATH + ";C:\Program Files\nodejs" PS C:\> [Environment]::SetEnvironmentVariable("PATH", $Env:PATH, "Machine")
Instalace Node.js balíčků
Instalace Node.js balíčků mqtt, mongodb, pm2, pm2-windows-startup
npm install -g mqtt npm install -g mongodb npm install -g pm2 npm install -g pm2-windows-startup
Konfigurace pm2-windows-startup
pm2-startup install pm2 save
Instalace Node-Red
Instalace Node-Red
npm install -g node-red
Instalace vlastní sestavy Node-Red https://github.com/node-red/node-red/releases/latest
npm install --production
Spustění Node-Red
node node_modules/node-red/red.js
Konfigurace automatického spuštění Node-Red
pm2 start C:\Users\<USER-NAME>\AppData\Roaming\npm\node_modules\node-red\red.js --save
Nyní můžeme spustit Node-RED editor na http://localhost:1880
Vytvoření Node-Red Služby pomocí NSSM Non-Sucking Service Manager
Následně spustíme nssm příkazy ze složky, kde jsem nssm naisntalovali:
mkdir c:\temp nssm install Node-RED "c:\Users\\"%USERNAME%"\AppData\Roaming\npm\node-red.cmd" nssm set Node-RED AppDirectory "c:\Users\\"%USERNAME%"\.node-red" nssm set Node-RED AppParameters "-u c:\Users\\"%USERNAME%"\.node-red > c:\temp\node-red.log" nssm set Node-RED Description "A wiring tool for the Internet of Things"