說未來是AI+物聯(lián)網(wǎng)+5G的時代,不懂點技術以后還怎么混呢。今天我們來玩一玩ESP8266!
ESP8266是一個非常適合用于物聯(lián)網(wǎng)和家庭智能項目的wifi模塊。它的售價非常低廉,在某寶上一塊ESP8266開發(fā)板只要10幾塊錢!可謂是買不了吃虧買不了上當,也不就是三瓶肥宅快樂水的價格嘛~
你能用ESP8266來干啥呢?
等等,不勝枚舉
ESP8266控制MAX7219 LED點陣,可以用來顯示任何你想要的字母和數(shù)字
ESP8266的參數(shù):
由于ESP8266在開發(fā)者社區(qū)非常受歡迎,所以有著豐富的支持。ESP8266的社區(qū)愛好者們編寫了相應的插件,所以我們得以使用Arduino IDE來開發(fā)ESP8266項目。下面就介紹一下如何配置Arduino IDE的開發(fā)環(huán)境。
安裝CH340驅(qū)動:
我購買的NodeMCU帶的USB轉(zhuǎn)串口芯片是CH340,需要安裝CH340驅(qū)動后電腦才能通過USB口正常和NodeMCU通信.
NodeMCU上的CH340G芯片
CH340驅(qū)動下載頁面:https://sparks.gogo.co.nz/ch340.html
CH340驅(qū)動windows版下載地址:https://sparks.gogo.co.nz/assets/_site_/downloads/CH34x_Install_Windows_v3_4.zip
CH340驅(qū)動mac版下載地址:
https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver/raw/master/CH34x_Install_V1.5.pkg
也有使用CP2102的NodeMCU, 外觀上板子要小一點,這個時候?qū)母某砂惭bCP2102的驅(qū)動就可以了。
安裝Arduino IDE:
官網(wǎng)下載Arduino IDE并安裝:https://www.arduino.cc/en/Main/Software
安裝用于Arduino IDE的ESP8266插件:
根據(jù)網(wǎng)絡環(huán)境的不同,安裝需要幾秒鐘或者幾分鐘,等待安裝完成。
將開發(fā)板設置為NodeMCU:
設置正確的COM口:
怎么知道那一個是ESP8266的COM口呢?很簡單,當你把NodeMCU插上電腦的USB口后,新出現(xiàn)的那個COM口,就是ESP8266的COM口,選擇他就好了。
如果使用micro USB數(shù)據(jù)線連接開發(fā)板和電腦之后,沒有出現(xiàn)新的COM口,請檢查:
既然開發(fā)環(huán)境已經(jīng)搭好了,那我們來把NodeMCU連上wifi吧!
將下面一段代碼貼入Arduino IDE中,并在填寫自己的wifi賬號密碼(esp8266只支持2.4Gwifi!):
#include "ESP8266WiFi.h"
const char* ssid = "ssid"; //輸入你的wifi名(esp8266只支持2.4Gwifi!)
const char* password = "password"; //輸入你的wifi密碼
void setup(void)
{
Serial.begin(115200);
// Connect to WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print("*");
}
Serial.println("");
Serial.println("WiFi connection Successful");
Serial.print("The IP Address of ESP8266 Module is: ");
Serial.print(WiFi.localIP());// Print the IP address
}
void loop()
{
// EMPTY
}
然后點擊上傳按鈕,上傳代碼到NodeMCU:
稍等片刻,直到控制臺信息顯示上次完成:
打開串口監(jiān)視器:
按一下開發(fā)板上的RST重置按鈕:
串口監(jiān)視器顯示開發(fā)板的輸出,返回了ESP8266的IP:
到這里我們就完成了:
是不是有點小激動呢~
今天就到此為止吧,下次教大家用ESP8266和MAX7219在LED點陣上顯示文字,可以實現(xiàn)顯示主機CPU溫度啊,零度橙子的粉絲數(shù)啊,自制時鐘啊,等等等等,只有你想不到?jīng)]有ESP8266做不到~
大家有什么想要做的物聯(lián)網(wǎng)或者智能家居項目呢?在下面留言告訴我吧~
我是零度橙子,裝機愛好者,科技達人,谷歌認證云計算架構師,大家可以關注我,了解有用有趣的科技知識~
言:
從今天開始,我們學習ESP8266的官方SDK,樂鑫ESP8266 SDK,有兩種,一種帶操作系統(tǒng)的ESP8266_RTOS_SDK,另一種是不帶操作系統(tǒng)的ESP8266_NONOS_SDK,本文使用ESP8266_RTOS_SDK進行開發(fā),代碼對應github上的Tag V3.1標簽。
一、準備
1.軟件準備:
MSYS2工具鏈:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started-legacy/windows-setup.html
編譯工具:https://github.com/espressif/ESP8266_RTOS_SDK
2,硬件準備:
NodeMCUV3開發(fā)板
NodeMCU V3是基于ESP8266的,目前有兩個版本,串口芯片不同,有兩種,一種是基于CH340,另一種是基于CP2102,本文選用CH340版本。
二、搭建步驟
1.解壓準備的軟件包
注意解壓使用winRAR工具,不要使用其他工具解壓。
復制xtensa-lx106-elf-win32-1.22.0-100-ge567ec7-5.2.0/xtensa-lx106-elf-win32-1.22.0-100-ge567ec7-5.2.0/xtensa-lx106-elf到msys32/opt
2.下載ESP8266_RTOS_SDK
打開Mingw32.exe工具
/home下創(chuàng)建用戶文件夾,我這里創(chuàng)建了brown,大家可以自行創(chuàng)建,或者直接使用Administrator。
進入到brown路徑
下載SDK
命令: git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git
然后等待下載完成即可,注意時間可能略長,耐心等待即可。
本文使用V3.1 Tag中代碼,因此下載后需要將代碼回滾到這次提交上,方法如下:
3.配置路徑
打開msys2/etc/profile.d/esp32_toolchain.sh
修改內(nèi)容如下所示:
4.創(chuàng)建用戶工程
hello_world是從ESP8266_RTOS_SDK/examples/get-started/hello_world復制而來。
mingw32進入新創(chuàng)建的hello_world工程路徑,輸入make menuconfig
進入Serial flasher config --->,修改串口和芯片F(xiàn)lash大小
按下ESC按鍵退出
選擇YES,保存最新配置,按下回車即可。
三、運行
輸入make fllash,下載固件
輸入make monitor,使用官方串口查看log。
?作者:小驛
寄語:靜默,清澈,簡單而虔誠,絕不逃避,也不興奮,微雨來的時候,也苦笑幾聲!
. licode
官網(wǎng)地址:
http://lynckia.com/licode/index.html
官方demo地址:
https://chotis2.dit.upm.es/
Github地址:
https://github.com/lynckia/licode
Github推薦指數(shù):
1483(star)
功能(官方原文):
Licode is based on WebRTC technologies. It is 100% compatible(兼容) with latest stable versions of Google Chrome. Your users will be able totalk from their web browsers with no need to installing anything.
You don't need to care about complicated real-time infrastructures(復雜的實時傳輸內(nèi)部結構). It provides a fast development of videoconference features based on HTML5. And we make it 100%scalable(可擴展).
Licode allows you to include videoconference rooms on your web. But you can also implementstreaming,recording and any other real-time multimedia features you dreamt of
主要模塊及實現(xiàn)語言:
1.Erizo:MCU模塊,實現(xiàn)語言C++
2.erizoAPI:Node.js addon wrapper for Erizo,實現(xiàn)語言C++
3.erizo_controller:跟Rooms管理相關的服務,實現(xiàn)語言JS
4.nuve:跟Rooms管理相關的API,實現(xiàn)語言JS
接口(SDK)語言:
Client API: Javascript
Sercer API: node.js
優(yōu)點:
接口簡潔,服務輕量級,支持h264
缺點:
API文檔比較簡單且其他文檔較少;客戶端接口只有js的,沒有android和IOS原生API;不是很穩(wěn)定,經(jīng)常中斷
2 kurento
官網(wǎng)地址:
http://www.kurento.org/
官方demo地址:
無
Github地址:
https://github.com/Kurento
Github推薦指數(shù):
735(star)
功能(官方原文):
Networked streaming protocols, including HTTP, RTP and WebRTC.
Group communications (MCUs( Multipoint Conferencing Unit) and SFUs(Selective Forwarding Unit.) functionality) supporting bothmedia mixing and media routing/dispatching.
Generic support for computational vision(計算機視覺) and augmented reality(現(xiàn)實增強) filters.
Media storage supporting writing operations for WebM andMP4and playing in all formats supported by GStreamer.
Automatic media transcodification between any of the codecs supported by GStreamer including VP8, H.264, H.263, AMR, OPUS, Speex, G.711, etc.
主要模塊及實現(xiàn)語言:
Kurento media server:KMS流媒體服務器,實現(xiàn)語言C++
接口(SDK)語言:
服務端SDK:java,node.js
客戶端SDK:java,js
支持Json-Rpc
優(yōu)點:
文檔齊全,功能、封裝API都比較齊全,對Android和IOS也有原生API支持,支持h264
缺點:
bug較多,不是很穩(wěn)定,接口太多,所以使用起來相對復雜,Android和IOS缺少官方demo,因其中增加了視覺增強等圖像處理功能,所以會有視頻延遲風險
3 jitsi
官網(wǎng)地址:
https://jitsi.org/
官網(wǎng)demo地址:
https://meet.jit.si/
Github地址:
https://github.com/jitsi
Github推薦指數(shù):
1678(star)
功能(官方原文翻譯):
不像其他的視頻會議技術,Jitsi Videobridge是jitsi的核心,將所有人的音視頻傳送給所有的參與者,而不是將他們混起來
能達到更低的延遲,更高的質(zhì)量,并且如果你運行你自己的服務,這將是一個非常便于擴展和廉價的解決方案
Jitsi完全兼容webRTC這個開放的web通信標準
Jitsi支持高級的視頻路由功能,比如同步廣播、帶寬檢測、可擴展的視頻編碼等
Jitsi是用java和一些原生代碼編寫
主要模塊及實現(xiàn)語言:
1. Jitsi Video-Bridge (Software video-bridge 實現(xiàn)語言java)
2. Jitsi Jicofo (Component mandatory for jitsi conference 實現(xiàn)語言java)
3. Prosody ( XMPP Server 實現(xiàn)語言lua)
4. Nginx (Web Server)
5. Jitsi Meet (Web application – to which the end user will interact. 實現(xiàn)語言js)
接口(SDK)語言:
Libjitsi:java接口SDK,用于服務端開發(fā)
lib-jitsi-meet:javascript接口SDK,用于web客戶端的開發(fā)
優(yōu)點:
比較穩(wěn)定,家族產(chǎn)品較多,即時通訊,電子白板,文件共享都有。2017年8月發(fā)布android和IOS原生API接口。
缺點:
協(xié)議用的是SIP和XMPP,編譯部署過程過于復雜,依賴庫較多,且文檔比較少。缺少android和IOS的demo和文檔。多人對講時采用的是單路分發(fā)機制,對服務器網(wǎng)絡等要求較高。
---------------------
版權聲明:本文為CSDN博主「路兒」的原創(chuàng)文章,遵循CC 4.0 by-sa版權協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/xiaoluer/article/details/79088416
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。