说未来是AI+物联网+5G的时代,不懂点技术以后还怎么混呢。今天我们来玩一玩ESP8266!
ESP8266是一个非常适合用于物联网和家庭智能项目的wifi模块。它的售价非常低廉,在某宝上一块ESP8266开发板只要10几块钱!可谓是买不了吃亏买不了上当,也不就是三瓶肥宅快乐水的价格嘛~
你能用ESP8266来干啥呢?
等等,不胜枚举
ESP8266控制MAX7219 LED点阵,可以用来显示任何你想要的字母和数字
ESP8266的参数:
由于ESP8266在开发者社区非常受欢迎,所以有着丰富的支持。ESP8266的社区爱好者们编写了相应的插件,所以我们得以使用Arduino IDE来开发ESP8266项目。下面就介绍一下如何配置Arduino IDE的开发环境。
安装CH340驱动:
我购买的NodeMCU带的USB转串口芯片是CH340,需要安装CH340驱动后电脑才能通过USB口正常和NodeMCU通信.
NodeMCU上的CH340G芯片
CH340驱动下载页面:https://sparks.gogo.co.nz/ch340.html
CH340驱动windows版下载地址:https://sparks.gogo.co.nz/assets/_site_/downloads/CH34x_Install_Windows_v3_4.zip
CH340驱动mac版下载地址:
https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver/raw/master/CH34x_Install_V1.5.pkg
也有使用CP2102的NodeMCU, 外观上板子要小一点,这个时候对应的改成安装CP2102的驱动就可以了。
安装Arduino IDE:
官网下载Arduino IDE并安装:https://www.arduino.cc/en/Main/Software
安装用于Arduino IDE的ESP8266插件:
根据网络环境的不同,安装需要几秒钟或者几分钟,等待安装完成。
将开发板设置为NodeMCU:
设置正确的COM口:
怎么知道那一个是ESP8266的COM口呢?很简单,当你把NodeMCU插上电脑的USB口后,新出现的那个COM口,就是ESP8266的COM口,选择他就好了。
如果使用micro USB数据线连接开发板和电脑之后,没有出现新的COM口,请检查:
既然开发环境已经搭好了,那我们来把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:
稍等片刻,直到控制台信息显示上次完成:
打开串口监视器:
按一下开发板上的RST重置按钮:
串口监视器显示开发板的输出,返回了ESP8266的IP:
到这里我们就完成了:
是不是有点小激动呢~
今天就到此为止吧,下次教大家用ESP8266和MAX7219在LED点阵上显示文字,可以实现显示主机CPU温度啊,零度橙子的粉丝数啊,自制时钟啊,等等等等,只有你想不到没有ESP8266做不到~
大家有什么想要做的物联网或者智能家居项目呢?在下面留言告诉我吧~
我是零度橙子,装机爱好者,科技达人,谷歌认证云计算架构师,大家可以关注我,了解有用有趣的科技知识~
言:
从今天开始,我们学习ESP8266的官方SDK,乐鑫ESP8266 SDK,有两种,一种带操作系统的ESP8266_RTOS_SDK,另一种是不带操作系统的ESP8266_NONOS_SDK,本文使用ESP8266_RTOS_SDK进行开发,代码对应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开发板
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下创建用户文件夹,我这里创建了brown,大家可以自行创建,或者直接使用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
修改内容如下所示:
4.创建用户工程
hello_world是从ESP8266_RTOS_SDK/examples/get-started/hello_world复制而来。
mingw32进入新创建的hello_world工程路径,输入make menuconfig
进入Serial flasher config --->,修改串口和芯片Flash大小
按下ESC按键退出
选择YES,保存最新配置,按下回车即可。
三、运行
输入make fllash,下载固件
输入make monitor,使用官方串口查看log。
作者:小驿
寄语:静默,清澈,简单而虔诚,绝不逃避,也不兴奋,微雨来的时候,也苦笑几声!
. licode
官网地址:
http://lynckia.com/licode/index.html
官方demo地址:
https://chotis2.dit.upm.es/
Github地址:
https://github.com/lynckia/licode
Github推荐指数:
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(复杂的实时传输内部结构). 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
主要模块及实现语言:
1.Erizo:MCU模块,实现语言C++
2.erizoAPI:Node.js addon wrapper for Erizo,实现语言C++
3.erizo_controller:跟Rooms管理相关的服务,实现语言JS
4.nuve:跟Rooms管理相关的API,实现语言JS
接口(SDK)语言:
Client API: Javascript
Sercer API: node.js
优点:
接口简洁,服务轻量级,支持h264
缺点:
API文档比较简单且其他文档较少;客户端接口只有js的,没有android和IOS原生API;不是很稳定,经常中断
2 kurento
官网地址:
http://www.kurento.org/
官方demo地址:
无
Github地址:
https://github.com/Kurento
Github推荐指数:
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(现实增强) 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.
主要模块及实现语言:
Kurento media server:KMS流媒体服务器,实现语言C++
接口(SDK)语言:
服务端SDK:java,node.js
客户端SDK:java,js
支持Json-Rpc
优点:
文档齐全,功能、封装API都比较齐全,对Android和IOS也有原生API支持,支持h264
缺点:
bug较多,不是很稳定,接口太多,所以使用起来相对复杂,Android和IOS缺少官方demo,因其中增加了视觉增强等图像处理功能,所以会有视频延迟风险
3 jitsi
官网地址:
https://jitsi.org/
官网demo地址:
https://meet.jit.si/
Github地址:
https://github.com/jitsi
Github推荐指数:
1678(star)
功能(官方原文翻译):
不像其他的视频会议技术,Jitsi Videobridge是jitsi的核心,将所有人的音视频传送给所有的参与者,而不是将他们混起来
能达到更低的延迟,更高的质量,并且如果你运行你自己的服务,这将是一个非常便于扩展和廉价的解决方案
Jitsi完全兼容webRTC这个开放的web通信标准
Jitsi支持高级的视频路由功能,比如同步广播、带宽检测、可扩展的视频编码等
Jitsi是用java和一些原生代码编写
主要模块及实现语言:
1. Jitsi Video-Bridge (Software video-bridge 实现语言java)
2. Jitsi Jicofo (Component mandatory for jitsi conference 实现语言java)
3. Prosody ( XMPP Server 实现语言lua)
4. Nginx (Web Server)
5. Jitsi Meet (Web application – to which the end user will interact. 实现语言js)
接口(SDK)语言:
Libjitsi:java接口SDK,用于服务端开发
lib-jitsi-meet:javascript接口SDK,用于web客户端的开发
优点:
比较稳定,家族产品较多,即时通讯,电子白板,文件共享都有。2017年8月发布android和IOS原生API接口。
缺点:
协议用的是SIP和XMPP,编译部署过程过于复杂,依赖库较多,且文档比较少。缺少android和IOS的demo和文档。多人对讲时采用的是单路分发机制,对服务器网络等要求较高。
---------------------
版权声明:本文为CSDN博主「路儿」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xiaoluer/article/details/79088416
*请认真填写需求信息,我们会在24小时内与您取得联系。