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
1.) Připojit se na správný seriový port
2.) Změnit nastavení komunikace pro ESP8266Flasher
3.1) Pomocí ESP8266Flasher.exe jsem nahrál vzniklý monolitický //flash.bin// do adresy //0x00000//
3.2) Nebo pomocí ESP8266Flasher.exe jsem nahrál vzniklý bootloader //bin/0x00000.bin// do adresy //0x00000// a firmware //bin/0x10000.bin// na adresu //0x10000//
4.) Předchozí kroky potvrdíme náhráním firmware na NodeMCU
5.) 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
https://nodejs.org/download/release/latest/docs/api/
- Download the 64 bits version (32 is for hipsters) node-v7.1.0-win-x64.7z
- Install it anywhere you want, by default: C:\Program Files\nodejs
- Control Panel → System → Advanced system settings → Environment Variables
- Select PATH and choose to edit it.
- If the PATH variable is empty, change it to this: C:\Users\{YOUR USERNAME HERE}\AppData\Roaming\npm;C:\Program Files\nodejs
- If the PATH variable already contains C:\Users\{YOUR USERNAME HERE}\AppData\Roaming\npm, append the following right after: ;C:\Program Files\nodejs
- If the PATH variable contains information, but nothing regarding npm, append this to the end of the PATH: ;C:\Users\{YOUR USERNAME HERE}\AppData\Roaming\npm;C:\Program Files\nodejs
- Now that the PATH variable is set correctly, you will still encounter errors. Manually go into the AppData directory and you will find that there is no npm directory inside Roaming. Manually create this directory.
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"