|**Project owner:**| [[user:lichnak|lichnak]], [[user:peterbay,|PeterBay]] |
|**Interested:** | |
|**Related:**| |
|**Reference:**| https://Espressif.com |
| **License:** | [[http://creativecommons.org/licenses/by-sa/4.0/|Uveďte původ-Zachovejte licenci; CC BY-SA]] |
===== NodeMCU Vývojářské prostředí pro Ubuntu =====
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 Ubuntu.
=== Obsah ===
* [[nodemcu_ubudev#Nahrání firmware|Nahrání firmware]]
* [[nodemcu_ubudev#Nástoj Esptool.py|Nástoj Esptool.py]]
* [[nodemcu_ubudev#Nahrání LUA skriptů na ESP8266|Nahrání LUA skriptů na ESP8266]]
* [[nodemcu_ubudev#Nástroj Luatool|Nástroj Luatool]]
* [[nodemcu_ubudev#Installace MongoDB Serveru|Installace MongoDB Serveru]]
* [[nodemcu_ubudev#Instalace Node.js|Instalace Node.js]]
* [[nodemcu_ubudev#Instalace Node.js balíčků|Instalace Node.js balíčků ]]
* [[nodemcu_ubudev#Instalace Node-Red|Instalace Node-Red]]
* [[nodemcu_ubudev#Instalace MQTT Brokera Mosquitto| Instalace MQTT Brokera Mosquitto]]
==== Nahrání firmware ====
V návodu [[nodemcu_lbe|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 Linux napsaný v Pythonu [[https://github.com/themadinventor/esptool|Esptool.py]].
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''. [[nodemcu#Důležité upozornění|Viz. upozornění]]
Výsledný zkopilovaný bootloader a firmware je uložen ve složce ''../nodemcu-firmware/bin''.
Bootloader nese název //0x00000.bin// a firmware //0x10000.bin//.
-rw-rw-r-- 1 node node 27872 Oct 26 11:21 0x00000.bin
-rw-rw-r-- 1 node node 357683 Oct 26 11:21 0x10000.bin
=== Nástoj Esptool.py ===
Esptool vyžaduje Python 2. K instalaci ''esptool'' použijeme správce balíčků ''pip''.Pokud používáte verzi Pythonu 2 >=2.7.9 nebo Python 3 >=3.4 ''pip'' je již součástí vaší instalace.
Instalace pip:
python get-pip.py
Instalace esptool pomocí pip:
sudo pip install –upgrade esptool
Pokud máte výchozí verzi Python 3, pak příkaz bude následující:
sudo pip2 install esptool
Zkombinování bin souborů do monolitní binárky:
esptool.py make_image -f bin/0x00000.bin -a 0x00000 -f bin/0x10000.bin -a 0x10000 bin/flash.bin
Předtím než budeme nahrávat firmware ujistěte se, že jste členy ''dialout'' skupiny, která vám dá práva a můžete komunikovat přes sériový port např. ''/dev/ttyUSB0''.
Přidání aktuálního uživatele do ''dialout'' skupiny:
sudo adduser $USER dialout
Nahrání výsledných binárek po kompilaci:
esptool.py --port /dev/ttyUSB0 write_flash -fm dio -fs 32m 0x00000 bin/0x00000.bin 0x10000 bin/0x10000.bin
Nahrání monolitické binárky:
esptool.py --port /dev/ttyUSB0 write_flash -fm dio -fs 32m 0x00000 bin/flash.bin
==== Nahrání LUA skriptů na ESP8266 ====
Nástrojů pro nahravání existuje víc než dost a jsou zdokumentovány [[https://nodemcu.readthedocs.io/en/master/en/upload/|zde]].
=== Nástroj Luatool ===
Stránka projektu na GitHubu: [[https://github.com/4refr0nt/luatool|LUA Tool]]
Stáhněte si ''luatool'':
mkdir -p ~/.opt && cd ~/.opt
git clone https://github.com/4refr0nt/luatool.git
Nahrání //init.lua// soboru:
cd ~/.opt/luatool/luatool
python luatool.py --port /dev/ttyUSB0 --src init.lua --dest init.lua --verbose
==== Instalace MQTT Brokera Mosquitto ====
==== Installace MongoDB Serveru ====
==== Instalace Node.js ====
==== Instalace Node.js balíčků ====
Instalace Node.js balíčků mqtt, mongodb, pm2
npm install -g mqtt
npm install -g mongodb
npm install -g pm2
==== 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\\AppData\Roaming\npm\node_modules\node-red\red.js --save