Table of Contents

Project owner: lichnak, PeterBay
Interested:
Related:
Reference: https://Espressif.com
License: Uveďte původ-Zachovejte licenci; CC BY-SA

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.

Většina snippetů byla vyzkoušena v PowerShellu verze 5. PowerShell verze 5 je součástí balíčku The Windows Management Framework (WMF) 5.0 RTM. Balíček pro Windows 2008 R2 SP1/2012 R2/2012 a Windows 7 SP1/8.1 můžete stáhnout na stránce Microsoft Download Center.

PS C:\>  $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      14393  206

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 NodeMCU firmware se ujistěte, že jej se máte zkompilovaný. Také před nahráním 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. Viz. 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

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:

Výstup ze konzole ESPloreru

> =node.heap()
45264
> 

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.

PS C:\> $env:path += ";" + "C:\Program Files\mongodb\Server\3.2\bin"
PS C:\> [Environment]::SetEnvironmentVariable("PATH", $env:path, "Machine")
PS C:\> New-Item -ItemType "directory" -Path c:\data -Force
PS C:\> New-Item -ItemType "directory" -Path c:\data\db -Force
PS C:\> New-Item -ItemType "directory" -Path "c:\data\log" -Force
PS C:\> New-Item -ItemType "file" -Path "c:\data\log\mongo.log" -Force
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
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"
PS C:\> Set-Service MongoDB -Status Running
PS C:\> Get-Service MongoDB

Status   Name               DisplayName
------   ----               -----------
Running  MongoDB            MongoDB

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

Pokud používáté Node v7.1.0 reinstalujte Node.js na verzi v7.0.0. Node.js v7.1.0 má známou chybu pro platformu Windows, chyba znemožňuje správné spouštění Node aplikací při použítí Powershell nebo CMD.

PS C:\> $NPMPATH = $Env:USERPROFILE + "\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 Pythonu

Pro další práci budeme potřeboavat Python verze 2.7. Node.js balíček node-gyf nepodporuje Pyhthon v3.x.x

PS C:\> $Env:PATH += ";C:\Program Files\Python27"
PS C:\> [Environment]::SetEnvironmentVariable("PATH", $Env:PATH, "Machine")
PS C:\> [Environment]::SetEnvironmentVariable("PYTHON", "C:\Program Files\Python27", "Machine")
  PS C:\> cd "C:\Program Files\nodejs\"
PS C:\Program Files\nodejs> cmd
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. Všechna práva vyhrazena.

C:\Program Files\nodejs>npm config set python "C:\Program Files\Python27\python.exe"
C:\Program Files\nodejs>exit
PS C:\Program Files\nodejs> 

Instalace Node-Red

Instalace Node.js balíčků potřebných pro následnou instalaci Node-Red. Prvně nainstalujte potřebné nástroje od Microsoftu windows-build-tools pro kompilaci Node.js balíčků, abychom předešli problémům s řešením závislostí balíčků.

PS C:\> cd "C:\Program Files\nodejs\"
PS C:\Program Files\nodejs> cmd
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. Všechna práva vyhrazena.

C:\Program Files\nodejs>npm install -g --production windows-build-tools
C:\Program Files\nodejs>npm install -g node-gyp
C:\Program Files\nodejs>npm install -g bindings
C:\Program Files\nodejs>npm install -g bcrypt
C:\Program Files\nodejs>npm install -g bson
C:\Program Files\nodejs>npm install -g bufferutil
C:\Program Files\nodejs>npm install -g kerberos
C:\Program Files\nodejs>npm install -g mqtt
C:\Program Files\nodejs>npm install -g mongodb
C:\Program Files\nodejs>npm install -g nan
C:\Program Files\nodejs>npm install -g node-sass
C:\Program Files\nodejs>npm install -g options
C:\Program Files\nodejs>npm install -g phantomjs
C:\Program Files\nodejs>npm install -g pm2
C:\Program Files\nodejs>npm install -g pm2-windows-startup
C:\Program Files\nodejs>npm install -g sqlite3
C:\Program Files\nodejs>npm install -g ultron
C:\Program Files\nodejs>npm install -g utf-8-validate
C:\Program Files\nodejs>npm install -g ws
C:\Program Files\nodejs>exit
PS C:\Program Files\nodejs> 

Konfigurace pm2-windows-startup

PS C:\> cd "C:\Program Files\nodejs\"
PS C:\Program Files\nodejs> cmd
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. Všechna práva vyhrazena.

C:\Program Files\nodejs>pm2-startup install
C:\Program Files\nodejs>pm2 save
C:\Program Files\nodejs>exit
PS C:\Program Files\nodejs>

Instalace Node-Red

PS C:\> cd "C:\Program Files\nodejs\"
PS C:\Program Files\nodejs> cmd
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. Všechna práva vyhrazena.

C:\Program Files\nodejs>npm install -g node-red
C:\Program Files\nodejs>npm install -g node-red-dashboard
C:\Program Files\nodejs>exit
PS C:\Program Files\nodejs>

Spustění Node-Red

PS C:\> cd "C:\Program Files\nodejs\"
PS C:\Program Files\nodejs> cmd
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. Všechna práva vyhrazena.

C:\Program Files\nodejs>node "%USERPROFILE%\AppData\Roaming\npm\node_modules\node-red\red.js"
C:\Program Files\nodejs>exit
PS C:\Program Files\nodejs>

Konfigurace automatického spuštění Node-Red

PS C:\> cd "C:\Program Files\nodejs\"
PS C:\Program Files\nodejs> cmd
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. Všechna práva vyhrazena.

C:\Program Files\nodejs>pm2 start "%USERPROFILE%\AppData\Roaming\npm\node_modules\node-red\red.js"
C:\Program Files\nodejs>pm2 save
C:\Program Files\nodejs>exit
PS C:\Program Files\nodejs>

Nyní můžeme spustit Node-RED editor na http://localhost:1880

Instalace Mosquitto MQTT Broker

Pro roli MQTT Brokera jsme si vybrali implementaci 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
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
PS C:\> notepad "C:\Program Files (x86)\mosquitto\mosquitto.conf"
PS C:\> Set-Service Mosquitto -Status Running
PS C:\> Get-Service Mosquitto

Status   Name               DisplayName
------   ----               -----------
Running  mosquitto          Mosquitto Broker

Testování MQTT s MQTTLens

Testování MQTT používám rozšíření pro prohlížeč Chrome MQTTLens.