This is an old revision of the document!


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.

  • Prvně si stáhněte potřebné instalační soubory pro OpenSSL, Mosquitto a knihovnu pThreads
  • 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 a ssleay32.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

Testování MQTT používám rozšíření pro prohlížeč Chrome 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.

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í cesta: C:\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"
  • project/nodemcu_windev.1479604800.txt.gz
  • Last modified: 2016/11/20 02:20
  • by licho