nodemcu各個(gè)模塊 以及中文說(shuō)明

image.png

來(lái)看一下每個(gè)模塊都是干什么的:
官方固件下載: https://nodemcu-build.com/
(機(jī)翻簡(jiǎn)單校對(duì), 有些模塊我也不太懂)

中文說(shuō)明

https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_cn
(轉(zhuǎn)自http://blog.csdn.net/dustintime/article/details/54914054)

本地玩具

adc, file, gpio, i2c, node, 1-wire, pwm, spi, timer, uart, u8g, bit, cron, pcm, ads1115, RTC time, switec, ucg

物聯(lián)網(wǎng)

wifi, net, mqtt, file, node, RTC time, RTC mem, RTC fifo, sjson, bit, http, encodr, crypto, mDNS, sntp, websocket, wps, , smtp, socket,

LED燈帶

ws2801 or ws2812 or TM1829 or AP102

=======================================

ADC

Analog-to-Digital Converter 數(shù)模轉(zhuǎn)化, ADC模塊提供對(duì)內(nèi)置ADC的訪(fǎng)問(wèn)
在ESP8266只有一個(gè)通道,這是復(fù)用電池電壓。根據(jù)“esp init data”(107字節(jié))可以使用ADC讀取外部電壓,或讀取system電壓(vdd33),但不能同時(shí)使用。

ADS1115

這個(gè)模塊提供的ADS1115 16位精密模數(shù)轉(zhuǎn)換器。用于制作邏輯分析儀

ADXL345

這個(gè)模塊提供的ADXL345三軸加速度計(jì)。

AMazon320

這個(gè)模塊提供的am2320濕度和溫度傳感器,使用I2C接口。


image.png

APA102

該模塊提供了Lua訪(fǎng)問(wèn)apa102 RGB LED的功能是類(lèi)似通用WS2812尋址LED(ws2812是另一個(gè))。

BIT

位操作的支持,在32位整數(shù)。

BME280

這個(gè)模塊提供了一個(gè)簡(jiǎn)單的接口bme280 /溫度/壓力/ BMP280空氣濕度傳感器(博世傳感器)。
注意,你必須調(diào)用 init() 在讀取數(shù)值之前!

BMP085

這個(gè)模塊提供的溫度和壓力傳感器BMP085。該模塊還與BMP180一同工作。

CJson

該模塊已被SJson替代。它提供的功能的一個(gè)超集。所有涉及CJson都可用SJson替代

CoAP

該模塊根據(jù)協(xié)議CoAP協(xié)議提供了一個(gè)簡(jiǎn)單的實(shí)現(xiàn)。基本終端服務(wù)器部分是基于microcoap,和許多其他的代碼參考libcoap。
該模塊實(shí)現(xiàn)客戶(hù)端和服務(wù)器端??蛻?hù)機(jī)部分支持GET/PUT/POST/DELETE。服務(wù)器可以注冊(cè)Lua函數(shù)和變量。沒(méi)有觀(guān)察或發(fā)現(xiàn)支持。

Cron

Cron-like 調(diào)度模塊
這個(gè)模塊需要RTC時(shí)間來(lái)正確操作。不要忘了包括rtctime模塊。

crypto

密碼模塊提供了處理加密算法的各種功能。
下面的加密/解密算法/模式支持:128位AES在ECB模式“aes-ecb”(不推薦)128位AES CBC模式“AES-CBC”
下面的哈希算法的支持:- MD2(默認(rèn)情況下不可用,必須開(kāi)啟在 app/include/user_config.h)- MD5 SHA1 - SHA256,SHA384,SHA512(除非禁止在 app/include/user_config.h 拗口, "unless disable"到底要說(shuō)啥)

dht

dht溫濕度傳感器

encoder

編碼器模塊提供字節(jié)碼的編碼和解碼的各種功能。Base64編解碼, Hex編解碼

enduser

這個(gè)模塊提供了一個(gè)簡(jiǎn)單的方法來(lái)配置ESP8266芯片不使用串行接口或預(yù)編程的WiFi憑據(jù)到芯片上。貌似是用來(lái)連wifi用的

file

文件模塊提供對(duì)文件系統(tǒng)及其單個(gè)文件的訪(fǎng)問(wèn)。文件系統(tǒng)是一個(gè)扁平文件管理系統(tǒng),沒(méi)有子目錄/文件夾的概念。除了在內(nèi)部Flash的SPIFFS文件系統(tǒng),這個(gè)模塊也可以在外部SD卡的FAT分區(qū), 如果FatFS啟用的情況下。

gdbstub

gdb什么的不懂

gpio

玩過(guò)51單片機(jī)和stm以及樹(shù)莓派, arduino的都應(yīng)該知道的東西
這個(gè)模塊提供的GPIO(通用輸入/輸出)子系統(tǒng)。
所有的訪(fǎng)問(wèn)是基于I/O的nodemcu開(kāi)發(fā)套件的指數(shù),沒(méi)有內(nèi)部的GPIO引腳。例如,在開(kāi)發(fā)套件D0引腳映射到內(nèi)部的GPIO引腳16。
如果不使用nodemcu開(kāi)發(fā)套件,請(qǐng)參考如下指標(biāo)?GPIO映射GPIO引腳圖。

IO index ESP8266 pin IO index ESP8266 pin
0 [*] GPIO16 7 GPIO13
1 GPIO5 8 GPIO15
2 GPIO4 9 GPIO3
3 GPIO0 10 GPIO1
4 GPIO2 11 GPIO9
5 GPIO14 12 GPIO10
6 GPIO12

從電路背面看從GPIO16開(kāi)始是一個(gè)向下的U型結(jié)構(gòu)的順序排列的io接口
[*] D0(GPIO16) 只能用于讀寫(xiě), 不支持開(kāi)漏輸出,中斷,pwm, i2c和 ow

hdc1080

這個(gè)模塊提供的hdc1080低功耗、高精度的數(shù)字濕度傳感器與溫度傳感器。

hmc5883L

這個(gè)模塊提供的HMC5883L三軸數(shù)字羅盤(pán)。

http

基本HTTP客戶(hù)端模塊,它提供了一個(gè)通過(guò)HTTP來(lái) GET/POST/PUT/DELETE 的接口,以及定制的請(qǐng)求。由于對(duì)ESP8266內(nèi)存限制,支持的page/body的大小是受可用內(nèi)存的限制。試圖接收大于此頁(yè)的頁(yè)將失敗。如果較大的page/body的大小是必要的,考慮使用net.createconnection()和流。

hx711

這個(gè)模塊提供一個(gè) HX711 load cell amplifier/ADC。hx711是一個(gè)不昂貴的24bit ADC的可編程128x,64x,32x增益。目前只信道A在128x增益的支持。

i2c

I2C的參考設(shè)計(jì)使用一個(gè)7位元長(zhǎng)度的位址空間但保留了16個(gè)位址,所以在一組總線(xiàn)最多可和112個(gè)節(jié)點(diǎn)通訊。常見(jiàn)的I2C總線(xiàn)依傳輸速率的不同而有不同的模式:標(biāo)準(zhǔn)模式(100 Kbit/s)、低速模式(10 Kbit/s),但時(shí)脈頻率可被允許下降至零,這代表可以暫停通訊。而新一代的I2C總線(xiàn)可以和更多的節(jié)點(diǎn)(支援10位元長(zhǎng)度的位址空間)以更快的速率通訊:快速模式(400 Kbit/s)、高速模式(3.4 Mbit/s)。
雖然最大的節(jié)點(diǎn)數(shù)目是被位址空間所限制住,但實(shí)際上也會(huì)被總線(xiàn)上的總電容所限制住,一般而言為400 pF。

L3G4200D

這個(gè)模塊提供的三軸數(shù)字陀螺儀L3G4200D。

mDNS

組播DNS作為卓悅/探測(cè)部分。這允許系統(tǒng)識(shí)別自己和他們?cè)诰钟蚓W(wǎng)上提供的服務(wù)。然后客戶(hù)機(jī)能夠發(fā)現(xiàn)這些系統(tǒng)并連接到它們。

mqtt

客戶(hù)端堅(jiān)持版本3.1.1 MQTT協(xié)議。確保你的經(jīng)紀(jì)人的支持是版本3.1.1正確配置。客戶(hù)與經(jīng)紀(jì)人運(yùn)行MQTT 3.1向后兼容。

net

TLS操作被移動(dòng)到TLS模塊。

node

節(jié)點(diǎn)模塊提供對(duì)系統(tǒng)級(jí)功能的訪(fǎng)問(wèn),如休眠、重啟和各種信息和IDS。

ow(1-Wire)

單總線(xiàn), 此模塊提供了與單總線(xiàn)設(shè)備通信總線(xiàn)系統(tǒng)一起工作的功能。

pcm

通過(guò)不同的末端播放聲音。

perf

此模塊為應(yīng)用程序提供簡(jiǎn)單的性能度量。它每隔50微秒粗略地對(duì)程序計(jì)數(shù)器進(jìn)行采樣,并建立它所找到的值的直方圖。由于只有少量的內(nèi)存來(lái)存儲(chǔ)直方圖,用戶(hù)可以指定哪個(gè)區(qū)域的代碼是感興趣的。默認(rèn)是包含代碼的整個(gè)flash。一旦確定了熱點(diǎn),那么可以用不同的區(qū)域和不同的分辨率重復(fù)運(yùn)行,以獲得所需的信息。

pwm

脈沖寬度調(diào)制是一種模擬控制方式,其根據(jù)相應(yīng)載荷的變化來(lái)調(diào)制晶體管基極或MOS管柵極的偏置,來(lái)實(shí)現(xiàn)晶體管或MOS管導(dǎo)通時(shí)間的改變,從而實(shí)現(xiàn)開(kāi)關(guān)穩(wěn)壓電源輸出的改變。這種方式能使電源的輸出電壓在工作條件變化時(shí)保持恒定,是利用微處理器的數(shù)字信號(hào)對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù)。

rc

??

ifswitch

模塊操作433 / 315Mhz設(shè)備如電源插座、繼電器、等,這將與所有流行的低成本電源插座插座,最有可能的工作SC5262 / SC5272, HX2262 / HX2272, PT2262 / PT2272, EV1527, RT1527, FP1527 or HS1527 芯片組
該模塊采用了一些代碼從原來(lái)的遙控開(kāi)關(guān)Arduino庫(kù)但NodeMCU和Arduino并不完全兼容。這就要求混凝土開(kāi)關(guān)被改寫(xiě)成rfswitch nodemcu lua的支持。

rotary

這個(gè)模塊可以讀取廉價(jià)的旋轉(zhuǎn)編碼器開(kāi)關(guān)的狀態(tài)。這些可以在一美元或兩美元的所有標(biāo)準(zhǔn)位置買(mǎi)到。它們是五針裝置,其中三用于格雷碼旋轉(zhuǎn)編碼器,兩個(gè)用于推送開(kāi)關(guān)。這些開(kāi)關(guān)通常用于汽車(chē)音響系統(tǒng)。
這些開(kāi)關(guān)沒(méi)有絕對(duì)位置,但只編碼順時(shí)針/逆時(shí)針旋轉(zhuǎn)的位置數(shù)。利用該模塊,連接通用的引腳上的正交編碼器的地面和A和B階段的nodemcu。一個(gè)引腳的按鍵開(kāi)關(guān)也應(yīng)該接地和其他引腳連接到nodemcu。

rtcfifo

的rtcfifo模塊實(shí)現(xiàn)了一個(gè)第一,先出存儲(chǔ)用于傳感器的讀數(shù)。顧名思義,它是由RTC用戶(hù)內(nèi)存支持的,因此可以在深睡眠周期中存活。從概念上講,它可以被看作是時(shí)間戳、名稱(chēng)、值}元組的循環(huán)數(shù)組。在內(nèi)部,它使用空間優(yōu)化的存儲(chǔ)格式,允許保存最多數(shù)量的樣本。這有幾個(gè)權(quán)衡,因此不是一個(gè)解決方案適合所有。尤其是:
. 時(shí)間戳存儲(chǔ)二精度。
. 采樣頻率必須至少每8.5分鐘一次。這是用于時(shí)間戳的delta壓縮的副作用。
. 值限制為16位精度,但有一個(gè)單獨(dú)的字段存儲(chǔ)e-N乘數(shù)。即使在使用非常小的值時(shí),也允許高保真。有效范圍在 1e-7 到 65535。

rtcmem

的rtcmem模塊提供的RTC(實(shí)時(shí)時(shí)鐘)基本訪(fǎng)問(wèn)存儲(chǔ)器。
在ESP8266 RTC寄存器包含內(nèi)存中生存的深度睡眠,使他們保持狀態(tài),整個(gè)睡眠周期非常有用。這些記憶是保留給系統(tǒng)使用,但128個(gè)插槽(每個(gè)32bit寬)可申請(qǐng)使用。此模塊提供對(duì)這些的讀寫(xiě)訪(fǎng)問(wèn)。
由于可用內(nèi)存量非常有限,沒(méi)有機(jī)構(gòu)仲裁使用特定的插槽。最終用戶(hù)應(yīng)該知道哪些內(nèi)存被用于什么,以及避免沖突。注意一些lua模塊聲稱(chēng)某些時(shí)段。
這是一個(gè)同伴的rtctime rtcfifo模塊和模塊。

rtctime

RTC是多種名詞的縮寫(xiě),如:實(shí)時(shí)時(shí)鐘(Real-Time Clock)、美國(guó)資產(chǎn)重組托管公司(Resolution Trust Corporation)、 協(xié)作軟件交付環(huán)境(IBM Rational Team Concert)、響應(yīng)時(shí)間補(bǔ)償(Response Time Compensation)、實(shí)時(shí)通訊(Real-time communications)、 雷達(dá)跟蹤中心(Radar TrackingCentre)。

si7021

這個(gè)模塊提供的si7021濕度和溫度傳感器。

sigma delta

此模塊提供對(duì)∑-Δ組件的訪(fǎng)問(wèn)。這是一個(gè)硬件信號(hào)發(fā)生器,可以傳送到任何的GPIO引腳0除外。

sjson

JSON支持模塊。允許對(duì)JSON進(jìn)行編碼和解碼。

sntp

SNTP模塊實(shí)現(xiàn)了一個(gè)簡(jiǎn)單網(wǎng)絡(luò)時(shí)間協(xié)議的客戶(hù)端。這包括對(duì)“選播”NTP模式的支持,如果在網(wǎng)絡(luò)中由NTP服務(wù)器支持,就不需要知道NTP服務(wù)器的IP地址。默認(rèn)情況下,這將使用服務(wù)器0.nodemcu.pool.ntp.org通過(guò)3.nodemcu.pool.ntp.org。這些服務(wù)器幾乎適用于幾乎所有的用途。

somfy

該模塊提供了通過(guò)一個(gè)射頻發(fā)射機(jī)的一個(gè)簡(jiǎn)單的接口來(lái)控制尚飛簾(433.42兆赫)。它是基于nickduino尚飛遠(yuǎn)程Arduino skecth。
所使用的硬件是標(biāo)準(zhǔn)的433兆赫射頻發(fā)射機(jī)。不幸的是,這些芯片通常傳送在他433.92Mhz所以晶體諧振器的頻率應(yīng)與433.42 MHz諧振器雖然有些報(bào)道甚至與原來(lái)的晶體工作取代。

spi

發(fā)送和接收的所有事務(wù)都是最重要的比特優(yōu)先和最不重要的最后一個(gè)。對(duì)底層硬件的技術(shù)細(xì)節(jié)是指metalphreak ESP8266 HSPI的文章。

struct

該模塊提供基本的設(shè)施將Lua值與C結(jié)構(gòu)。它的主要功能是struct.pack,其中包多的Lua值為結(jié)構(gòu)如弦;和struct.unpack,解壓縮多個(gè)lua值從一個(gè)給定的結(jié)構(gòu)如弦。

switec

這個(gè)模塊控制switec 27(或兼容)儀表步進(jìn)電機(jī)。這些是現(xiàn)代汽車(chē)儀表中使用的步進(jìn)電機(jī)。它們非常便宜,可以在你最喜歡的拍賣(mài)網(wǎng)站或中國(guó)購(gòu)物網(wǎng)站上找到。有各種各樣的雙軸,也就是說(shuō),有兩個(gè)步進(jìn)電機(jī)驅(qū)動(dòng)兩個(gè)同心軸,所以你可以從同一個(gè)軸上安裝兩個(gè)針。

tcs34725

這個(gè)模塊提供了一個(gè)簡(jiǎn)單的接口tcs34725顏色/光傳感器(Adafruit)。注意,你必須調(diào)用setup()在讀值之前

tls

TLS模塊依賴(lài)于 net 模塊,它是一個(gè)必需的依賴(lài)項(xiàng)。
nodemcu包括MBED TLS庫(kù)的開(kāi)源版本。與nodemcu默認(rèn)配置支持TLS 1 / 1.1 / 1.2和最常見(jiàn)的密碼套件,包括DH / ECDH。ECDSA的加密套件,默認(rèn)是關(guān)閉的。

tm1829

tm1829是庫(kù)處理LED燈條使用泰坦的微 tm1829 LED控制器。圖書(shū)館使用任何GPIO流LED控制命令。

tmr

tmr模塊允許訪(fǎng)問(wèn)簡(jiǎn)單計(jì)時(shí)器、系統(tǒng)計(jì)數(shù)器和正常運(yùn)行時(shí)間。它的目的是建立定期發(fā)生的任務(wù),定時(shí)操作,并提供低分辨率三角洲。然而,tmr模塊不是時(shí)間保持模塊。雖然大多數(shù)超時(shí)毫秒甚至微秒表示,精度有限,復(fù)合誤差會(huì)導(dǎo)致相當(dāng)不準(zhǔn)確的時(shí)間記錄??紤]使用rtctime模塊“掛鐘”時(shí)間。nodemcu提供7的靜態(tài)定時(shí)器,編號(hào)為0-6,動(dòng)態(tài)定時(shí)器產(chǎn)生功能create() 。

tsl2561

tsl2561是光-數(shù)字轉(zhuǎn)換器,它將光強(qiáng)轉(zhuǎn)換成數(shù)字信號(hào)輸出,具有直接I2C接口或者SMBus接口。每個(gè)設(shè)備都連接一個(gè)帶寬的光敏二極管和在單獨(dú)CMOS集成電路上的一個(gè)紅外響應(yīng)的光敏二極管,這個(gè)集成電路具有提供20bit動(dòng)態(tài)范圍的近-適光響應(yīng)的能力。兩個(gè)集成的ADCs將光敏電流轉(zhuǎn)換成一個(gè)數(shù)字輸出,這個(gè)數(shù)字輸出表示測(cè)量每一個(gè)通道的發(fā)光。這個(gè)數(shù)字輸出可以是一個(gè)微處理器的輸入。

u8g

u8glib是一個(gè)圖形庫(kù)在olikraus / u8glib與許多不同的顯示器支持開(kāi)發(fā)。的nodemcu固件支持這些子集。

uart

UART(通用異步接收器/發(fā)送器)模塊允許在UART串行端口上配置和通信。UART的默認(rèn)設(shè)置是通過(guò)構(gòu)建時(shí)間設(shè)置來(lái)控制的。默認(rèn)利率是115200個(gè)基點(diǎn)。此外,自動(dòng)波特率檢測(cè)是前兩分鐘后平臺(tái)啟動(dòng)。當(dāng)接收到幾個(gè)字符時(shí),這將導(dǎo)致切換到正確的波特率。自動(dòng)波特率檢測(cè)時(shí)禁用uart.setup叫做。

ucg

ucglib是一個(gè)圖形庫(kù)在olikraus / ucglib與彩色TFT顯示支持開(kāi)發(fā)。的nodemcu固件支持這些子集

websocket

一個(gè)WebSocket客戶(hù)端模塊實(shí)現(xiàn)rfc6455(版本13),提供了一個(gè)簡(jiǎn)單的接口發(fā)送和接收消息。實(shí)施支持零散的信息,自動(dòng)響應(yīng)ping請(qǐng)求和定期坪如果服務(wù)器沒(méi)有溝通。
SSL / TLS支持
注意在 net 模塊中記錄的約束。

wifi

WiFi子系統(tǒng)由定期運(yùn)行的后臺(tái)任務(wù)來(lái)維護(hù)。任何功能或任務(wù),需要更長(zhǎng)的時(shí)間比15ms(毫秒)可能導(dǎo)致無(wú)線(xiàn)子系統(tǒng)的崩潰。為了避免這些潛在的崩潰,建議無(wú)線(xiàn)子系統(tǒng)將暫停與WiFi。suspend()之前任何任務(wù)或功能,超過(guò)這個(gè)15ms指南的執(zhí)行。

wps

WPS允許在不輸入網(wǎng)絡(luò)憑據(jù)的情況下將設(shè)備添加到現(xiàn)有網(wǎng)絡(luò)中。

ws2801

ws2801燈帶

ws2812

WS2812是庫(kù)處理WS2812像LED燈條。它至少在WS2812,ws2812b,apa104,sk6812(RGB或RGBW)。
此庫(kù)使用UART1路由gpio2(引腳D4在nodemcu devkit)產(chǎn)生的比特流。它可以使用UART0發(fā)送到txd0以及同時(shí)處理兩LED燈條。
警告:在雙模式,你將失去進(jìn)入Lua控制臺(tái)通過(guò)串口(它將被重新配置支持WS2812協(xié)議)。如果你想保持訪(fǎng)問(wèn)Lua控制臺(tái),你可以使用另一個(gè)輸入通道就像一個(gè)TCP服務(wù)器(見(jiàn)例子)

xpt2046

XPT2046是觸摸控制器使用的一些便宜的顯示器經(jīng)常與ILI9341顯示控制器組合。該模塊是基于spapadim和paulstoffregen庫(kù)的建立。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容